{
  "metadata": {
    "purpose": "v5_range_candidates",
    "count": 21002,
    "isFinalBacktest": false
  },
  "candidates": [
    {
      "id": "candidate_v5_2025-12-30T17-15-00Z_short_rsi_range_reversion",
      "date": "2025-12-30",
      "timestamp": "2025-12-30T17:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4373.33,
      "stop": 4376.016,
      "target": 4367.957,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 19.3,
        "bb_width_pct": 0.525
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-30T18-05-00Z_short_donchian_range_boundary_fade",
      "date": "2025-12-30",
      "timestamp": "2025-12-30T18:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4374.06,
      "stop": 4376.773,
      "target": 4368.635,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.73,
        "bb_width_pct": 0.382
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-30T18-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2025-12-30",
      "timestamp": "2025-12-30T18:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4366.065,
      "stop": 4363.146,
      "target": 4371.902,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.35,
        "bb_width_pct": 0.302
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-30T18-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2025-12-30",
      "timestamp": "2025-12-30T18:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4366.13,
      "stop": 4363.526,
      "target": 4371.338,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.94,
        "bb_width_pct": 0.3
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-30T18-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2025-12-30",
      "timestamp": "2025-12-30T18:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4366.89,
      "stop": 4364.925,
      "target": 4370.82,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.38,
        "bb_width_pct": 0.285
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-30T18-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2025-12-30",
      "timestamp": "2025-12-30T18:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4364.595,
      "stop": 4361.708,
      "target": 4370.37,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.38,
        "bb_width_pct": 0.304
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-30T18-55-00Z_long_vwap_mean_reversion",
      "date": "2025-12-30",
      "timestamp": "2025-12-30T18:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4364.84,
      "stop": 4361.83,
      "target": 4370.86,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.19,
        "bb_width_pct": 0.317
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-30T19-10-00Z_long_rsi_range_reversion",
      "date": "2025-12-30",
      "timestamp": "2025-12-30T19:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4366.77,
      "stop": 4365.73,
      "target": 4368.85,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.92,
        "bb_width_pct": 0.283
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-30T19-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2025-12-30",
      "timestamp": "2025-12-30T19:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4362.005,
      "stop": 4358.967,
      "target": 4368.081,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.16,
        "bb_width_pct": 0.303
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-30T19-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2025-12-30",
      "timestamp": "2025-12-30T19:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4362.005,
      "stop": 4359.391,
      "target": 4367.232,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.16,
        "bb_width_pct": 0.303
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-30T19-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2025-12-30",
      "timestamp": "2025-12-30T19:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4362.975,
      "stop": 4360.606,
      "target": 4367.714,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.27,
        "bb_width_pct": 0.316
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-30T19-35-00Z_long_rsi_range_reversion",
      "date": "2025-12-30",
      "timestamp": "2025-12-30T19:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4362.975,
      "stop": 4360.606,
      "target": 4367.714,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.27,
        "bb_width_pct": 0.316
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-30T19-35-00Z_long_vwap_mean_reversion",
      "date": "2025-12-30",
      "timestamp": "2025-12-30T19:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4362.975,
      "stop": 4359.724,
      "target": 4369.477,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.27,
        "bb_width_pct": 0.316
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-30T19-35-00Z_long_donchian_range_boundary_fade",
      "date": "2025-12-30",
      "timestamp": "2025-12-30T19:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4362.975,
      "stop": 4358.588,
      "target": 4371.75,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 11.27,
        "bb_width_pct": 0.316
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-30T19-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2025-12-30",
      "timestamp": "2025-12-30T19:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4362.975,
      "stop": 4361.049,
      "target": 4366.827,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.27,
        "bb_width_pct": 0.316
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-30T19-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2025-12-30",
      "timestamp": "2025-12-30T19:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4362.815,
      "stop": 4361.0,
      "target": 4366.445,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.97,
        "bb_width_pct": 0.28
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-30T19-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2025-12-30",
      "timestamp": "2025-12-30T19:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4348.82,
      "stop": 4341.544,
      "target": 4363.371,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.23,
        "bb_width_pct": 0.668
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-30T19-55-00Z_long_rsi_range_reversion",
      "date": "2025-12-30",
      "timestamp": "2025-12-30T19:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4348.82,
      "stop": 4341.544,
      "target": 4363.371,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.23,
        "bb_width_pct": 0.668
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-30T19-55-00Z_long_vwap_mean_reversion",
      "date": "2025-12-30",
      "timestamp": "2025-12-30T19:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4348.82,
      "stop": 4339.496,
      "target": 4367.468,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.23,
        "bb_width_pct": 0.668
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-30T19-55-00Z_long_donchian_range_boundary_fade",
      "date": "2025-12-30",
      "timestamp": "2025-12-30T19:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4348.82,
      "stop": 4342.37,
      "target": 4361.72,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 22.23,
        "bb_width_pct": 0.668
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-30T20-10-00Z_long_rsi_range_reversion",
      "date": "2025-12-30",
      "timestamp": "2025-12-30T20:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4348.395,
      "stop": 4342.871,
      "target": 4359.444,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.94,
        "bb_width_pct": 0.858
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-30T20-10-00Z_long_vwap_mean_reversion",
      "date": "2025-12-30",
      "timestamp": "2025-12-30T20:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4348.395,
      "stop": 4339.749,
      "target": 4365.686,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.94,
        "bb_width_pct": 0.858
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-30T20-10-00Z_long_donchian_range_boundary_fade",
      "date": "2025-12-30",
      "timestamp": "2025-12-30T20:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4348.395,
      "stop": 4342.739,
      "target": 4359.708,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 20.94,
        "bb_width_pct": 0.858
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-30T20-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2025-12-30",
      "timestamp": "2025-12-30T20:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4348.395,
      "stop": 4344.099,
      "target": 4356.988,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.94,
        "bb_width_pct": 0.858
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-30T20-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2025-12-30",
      "timestamp": "2025-12-30T20:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4347.6,
      "stop": 4343.353,
      "target": 4356.094,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.96,
        "bb_width_pct": 0.878
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-30T20-20-00Z_long_vwap_mean_reversion",
      "date": "2025-12-30",
      "timestamp": "2025-12-30T20:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4348.99,
      "stop": 4341.058,
      "target": 4364.854,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.61,
        "bb_width_pct": 0.882
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-30T20-25-00Z_long_vwap_mean_reversion",
      "date": "2025-12-30",
      "timestamp": "2025-12-30T20:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4350.595,
      "stop": 4343.633,
      "target": 4364.519,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.57,
        "bb_width_pct": 0.871
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-30T20-30-00Z_long_vwap_mean_reversion",
      "date": "2025-12-30",
      "timestamp": "2025-12-30T20:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4353.545,
      "stop": 4348.194,
      "target": 4364.248,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.56,
        "bb_width_pct": 0.857
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-30T20-35-00Z_long_vwap_mean_reversion",
      "date": "2025-12-30",
      "timestamp": "2025-12-30T20:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4354.535,
      "stop": 4349.789,
      "target": 4364.027,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.05,
        "bb_width_pct": 0.839
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-30T20-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2025-12-30",
      "timestamp": "2025-12-30T20:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4341.83,
      "stop": 4336.995,
      "target": 4351.5,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.91,
        "bb_width_pct": 0.748
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-30T21-00-00Z_long_donchian_range_boundary_fade",
      "date": "2025-12-30",
      "timestamp": "2025-12-30T21:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4347.165,
      "stop": 4341.709,
      "target": 4358.077,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.74,
        "bb_width_pct": 0.68
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-30T21-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2025-12-30",
      "timestamp": "2025-12-30T21:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4339.395,
      "stop": 4335.567,
      "target": 4347.052,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.04,
        "bb_width_pct": 0.355
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-30T21-55-00Z_long_vwap_mean_reversion",
      "date": "2025-12-30",
      "timestamp": "2025-12-30T21:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4339.395,
      "stop": 4336.005,
      "target": 4346.174,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.04,
        "bb_width_pct": 0.355
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-30T21-55-00Z_long_donchian_range_boundary_fade",
      "date": "2025-12-30",
      "timestamp": "2025-12-30T21:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4339.395,
      "stop": 4332.905,
      "target": 4352.375,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.04,
        "bb_width_pct": 0.355
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-30T23-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2025-12-30",
      "timestamp": "2025-12-30T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4340.81,
      "stop": 4337.951,
      "target": 4346.527,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.95,
        "bb_width_pct": 0.373
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-30T23-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2025-12-30",
      "timestamp": "2025-12-30T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4344.45,
      "stop": 4343.51,
      "target": 4346.33,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.58,
        "bb_width_pct": 0.366
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-30T23-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2025-12-30",
      "timestamp": "2025-12-30T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4340.36,
      "stop": 4337.669,
      "target": 4345.742,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.76,
        "bb_width_pct": 0.298
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-30T23-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2025-12-30",
      "timestamp": "2025-12-30T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4340.56,
      "stop": 4339.002,
      "target": 4343.675,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.04,
        "bb_width_pct": 0.438
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-30T23-35-00Z_long_donchian_range_boundary_fade",
      "date": "2025-12-30",
      "timestamp": "2025-12-30T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4340.56,
      "stop": 4335.929,
      "target": 4349.823,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.04,
        "bb_width_pct": 0.438
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-30T23-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2025-12-30",
      "timestamp": "2025-12-30T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4340.56,
      "stop": 4339.385,
      "target": 4342.91,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.04,
        "bb_width_pct": 0.438
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T00-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T00:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4336.855,
      "stop": 4335.501,
      "target": 4339.563,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.16,
        "bb_width_pct": 0.295
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T01-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4347.335,
      "stop": 4350.396,
      "target": 4341.214,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.31,
        "bb_width_pct": 0.328
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T01-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T01:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4354.835,
      "stop": 4360.256,
      "target": 4343.992,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.62,
        "bb_width_pct": 0.617
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T01-25-00Z_short_vwap_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T01:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4354.835,
      "stop": 4360.135,
      "target": 4344.235,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.62,
        "bb_width_pct": 0.617
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T01-25-00Z_short_donchian_range_boundary_fade",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T01:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4354.835,
      "stop": 4360.874,
      "target": 4342.757,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.62,
        "bb_width_pct": 0.617
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T01-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T01:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4354.835,
      "stop": 4358.984,
      "target": 4346.538,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.62,
        "bb_width_pct": 0.617
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T01-55-00Z_short_rsi_range_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T01:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4365.995,
      "stop": 4372.85,
      "target": 4352.286,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 27.44,
        "bb_width_pct": 1.093
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T01-55-00Z_short_vwap_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T01:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4365.995,
      "stop": 4374.026,
      "target": 4349.933,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 27.44,
        "bb_width_pct": 1.093
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T01-55-00Z_short_donchian_range_boundary_fade",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T01:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4365.995,
      "stop": 4373.564,
      "target": 4350.858,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 27.44,
        "bb_width_pct": 1.093
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T02-05-00Z_short_rsi_range_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T02:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4366.94,
      "stop": 4372.781,
      "target": 4355.258,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 21.04,
        "bb_width_pct": 1.085
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T02-05-00Z_short_vwap_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T02:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4366.94,
      "stop": 4374.739,
      "target": 4351.342,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 21.04,
        "bb_width_pct": 1.085
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T02-05-00Z_short_donchian_range_boundary_fade",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T02:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4366.94,
      "stop": 4374.981,
      "target": 4350.858,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 21.04,
        "bb_width_pct": 1.085
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T02-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T02:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4366.94,
      "stop": 4371.235,
      "target": 4358.35,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.04,
        "bb_width_pct": 1.085
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T02-10-00Z_short_vwap_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T02:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4362.145,
      "stop": 4367.322,
      "target": 4351.79,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.52,
        "bb_width_pct": 1.004
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T02-10-00Z_short_donchian_range_boundary_fade",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T02:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4362.145,
      "stop": 4367.789,
      "target": 4350.858,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.52,
        "bb_width_pct": 1.004
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T02-20-00Z_short_vwap_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T02:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4360.065,
      "stop": 4363.872,
      "target": 4352.451,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.07,
        "bb_width_pct": 0.919
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T02-45-00Z_short_donchian_range_boundary_fade",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4356.33,
      "stop": 4359.066,
      "target": 4350.858,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.72,
        "bb_width_pct": 0.51
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T02-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T02:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4348.905,
      "stop": 4343.963,
      "target": 4358.79,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.54,
        "bb_width_pct": 0.564
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T03-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4352.275,
      "stop": 4347.15,
      "target": 4362.525,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.98,
        "bb_width_pct": 0.592
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T03-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4352.275,
      "stop": 4349.328,
      "target": 4358.169,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.98,
        "bb_width_pct": 0.592
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T03-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4348.675,
      "stop": 4343.438,
      "target": 4359.149,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.16,
        "bb_width_pct": 0.687
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T03-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4348.675,
      "stop": 4345.283,
      "target": 4355.458,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.16,
        "bb_width_pct": 0.687
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T04-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T04:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4345.295,
      "stop": 4342.329,
      "target": 4351.226,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.52,
        "bb_width_pct": 0.516
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T04-20-00Z_long_donchian_range_boundary_fade",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4346.7,
      "stop": 4341.384,
      "target": 4357.333,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.44,
        "bb_width_pct": 0.34
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T04-35-00Z_long_vwap_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4346.265,
      "stop": 4343.279,
      "target": 4352.238,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.55,
        "bb_width_pct": 0.339
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T04-35-00Z_long_donchian_range_boundary_fade",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4346.265,
      "stop": 4340.731,
      "target": 4357.333,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.55,
        "bb_width_pct": 0.339
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T04-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4343.285,
      "stop": 4340.45,
      "target": 4348.955,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.31,
        "bb_width_pct": 0.355
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T04-45-00Z_long_vwap_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4344.05,
      "stop": 4340.099,
      "target": 4351.953,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.43,
        "bb_width_pct": 0.354
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T04-45-00Z_long_donchian_range_boundary_fade",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4344.05,
      "stop": 4337.409,
      "target": 4357.333,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.43,
        "bb_width_pct": 0.354
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T04-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4344.05,
      "stop": 4341.831,
      "target": 4348.488,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.43,
        "bb_width_pct": 0.354
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T05-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4332.825,
      "stop": 4326.681,
      "target": 4345.114,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.38,
        "bb_width_pct": 0.569
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T05-05-00Z_long_rsi_range_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4332.825,
      "stop": 4326.681,
      "target": 4345.114,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.38,
        "bb_width_pct": 0.569
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T05-05-00Z_long_vwap_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4332.825,
      "stop": 4323.803,
      "target": 4350.869,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.38,
        "bb_width_pct": 0.569
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T05-05-00Z_long_donchian_range_boundary_fade",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4332.825,
      "stop": 4323.469,
      "target": 4351.538,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 21.38,
        "bb_width_pct": 0.569
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T05-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4334.785,
      "stop": 4330.092,
      "target": 4344.171,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.01,
        "bb_width_pct": 0.575
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T05-10-00Z_long_rsi_range_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4334.785,
      "stop": 4330.092,
      "target": 4344.171,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.01,
        "bb_width_pct": 0.575
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T05-10-00Z_long_vwap_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4334.785,
      "stop": 4326.881,
      "target": 4350.593,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.01,
        "bb_width_pct": 0.575
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T05-10-00Z_long_donchian_range_boundary_fade",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4334.785,
      "stop": 4326.997,
      "target": 4350.36,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 23.01,
        "bb_width_pct": 0.575
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T05-20-00Z_long_vwap_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4337.585,
      "stop": 4331.313,
      "target": 4350.13,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.94,
        "bb_width_pct": 0.569
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T05-20-00Z_long_donchian_range_boundary_fade",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4337.585,
      "stop": 4331.198,
      "target": 4350.36,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 11.94,
        "bb_width_pct": 0.569
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T05-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4337.585,
      "stop": 4335.558,
      "target": 4341.638,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.94,
        "bb_width_pct": 0.569
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T05-25-00Z_long_vwap_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4342.645,
      "stop": 4338.973,
      "target": 4349.988,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.23,
        "bb_width_pct": 0.546
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T05-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4333.32,
      "stop": 4329.514,
      "target": 4340.933,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.42,
        "bb_width_pct": 0.558
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T07-45-00Z_short_rsi_range_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T07:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4328.94,
      "stop": 4332.424,
      "target": 4321.973,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 19.68,
        "bb_width_pct": 1.084
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T08-10-00Z_long_vwap_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T08:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4323.03,
      "stop": 4319.686,
      "target": 4329.718,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.12,
        "bb_width_pct": 0.543
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T08-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4322.17,
      "stop": 4318.928,
      "target": 4328.655,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.62,
        "bb_width_pct": 0.357
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T09-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4312.935,
      "stop": 4307.263,
      "target": 4324.278,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.2,
        "bb_width_pct": 0.679
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T09-00-00Z_long_vwap_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4312.935,
      "stop": 4306.63,
      "target": 4325.546,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.2,
        "bb_width_pct": 0.679
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T09-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4312.935,
      "stop": 4309.049,
      "target": 4320.707,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.2,
        "bb_width_pct": 0.679
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T09-05-00Z_long_vwap_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T09:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4316.29,
      "stop": 4311.85,
      "target": 4325.17,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.2,
        "bb_width_pct": 0.671
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T09-10-00Z_long_vwap_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T09:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4317.135,
      "stop": 4313.271,
      "target": 4324.863,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.08,
        "bb_width_pct": 0.646
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T09-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T09:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4314.625,
      "stop": 4312.2,
      "target": 4319.476,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.08,
        "bb_width_pct": 0.627
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T09-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T09:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4331.92,
      "stop": 4337.062,
      "target": 4321.636,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.49,
        "bb_width_pct": 0.652
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T09-45-00Z_short_donchian_range_boundary_fade",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T09:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4331.92,
      "stop": 4337.679,
      "target": 4320.403,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 16.49,
        "bb_width_pct": 0.652
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T09-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T09:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4331.92,
      "stop": 4336.01,
      "target": 4323.739,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.49,
        "bb_width_pct": 0.652
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T09-50-00Z_short_donchian_range_boundary_fade",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T09:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4328.92,
      "stop": 4333.179,
      "target": 4320.403,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.29,
        "bb_width_pct": 0.668
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T09-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T09:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4328.92,
      "stop": 4331.264,
      "target": 4324.233,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.29,
        "bb_width_pct": 0.668
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T10-05-00Z_short_rsi_range_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T10:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4326.79,
      "stop": 4329.153,
      "target": 4322.064,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 16.45,
        "bb_width_pct": 0.68
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T10-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T10:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4308.205,
      "stop": 4300.901,
      "target": 4322.813,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.81,
        "bb_width_pct": 0.706
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T10-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T10:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4309.93,
      "stop": 4303.434,
      "target": 4322.923,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.77,
        "bb_width_pct": 0.687
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T10-35-00Z_long_vwap_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T10:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4309.93,
      "stop": 4303.644,
      "target": 4322.503,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.77,
        "bb_width_pct": 0.687
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T10-35-00Z_long_donchian_range_boundary_fade",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T10:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4309.93,
      "stop": 4304.694,
      "target": 4320.403,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 17.77,
        "bb_width_pct": 0.687
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T10-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T10:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4307.245,
      "stop": 4299.548,
      "target": 4322.638,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.46,
        "bb_width_pct": 0.731
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T10-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T10:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4308.325,
      "stop": 4301.656,
      "target": 4321.663,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 27.77,
        "bb_width_pct": 0.841
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T10-50-00Z_long_rsi_range_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T10:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4308.325,
      "stop": 4301.656,
      "target": 4321.663,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 27.77,
        "bb_width_pct": 0.841
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T10-50-00Z_long_vwap_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T10:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4308.325,
      "stop": 4303.273,
      "target": 4318.429,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 27.77,
        "bb_width_pct": 0.841
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T10-50-00Z_long_donchian_range_boundary_fade",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T10:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4308.325,
      "stop": 4302.286,
      "target": 4320.403,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 27.77,
        "bb_width_pct": 0.841
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T11-05-00Z_long_donchian_range_boundary_fade",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T11:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4312.77,
      "stop": 4308.954,
      "target": 4320.403,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 20.46,
        "bb_width_pct": 0.951
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T11-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T11:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4312.77,
      "stop": 4311.347,
      "target": 4315.616,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.46,
        "bb_width_pct": 0.951
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T11-10-00Z_long_rsi_range_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T11:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4313.915,
      "stop": 4311.211,
      "target": 4319.324,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.31,
        "bb_width_pct": 0.953
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T11-40-00Z_long_donchian_range_boundary_fade",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T11:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4312.92,
      "stop": 4309.179,
      "target": 4320.403,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.21,
        "bb_width_pct": 0.66
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T12-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T12:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4309.52,
      "stop": 4307.797,
      "target": 4312.967,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.77,
        "bb_width_pct": 0.258
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T12-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T12:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4304.175,
      "stop": 4301.137,
      "target": 4310.251,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.74,
        "bb_width_pct": 0.284
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T12-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T12:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4307.14,
      "stop": 4305.546,
      "target": 4310.329,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.63,
        "bb_width_pct": 0.274
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T12-25-00Z_long_donchian_range_boundary_fade",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T12:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4307.14,
      "stop": 4300.485,
      "target": 4320.45,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.63,
        "bb_width_pct": 0.274
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T12-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T12:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4307.14,
      "stop": 4305.226,
      "target": 4310.967,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.63,
        "bb_width_pct": 0.274
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T12-30-00Z_long_donchian_range_boundary_fade",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T12:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4310.56,
      "stop": 4305.656,
      "target": 4320.368,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.59,
        "bb_width_pct": 0.271
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T12-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T12:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4317.37,
      "stop": 4320.321,
      "target": 4311.468,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.34,
        "bb_width_pct": 0.275
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T14-20-00Z_short_rsi_range_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T14:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4337.685,
      "stop": 4342.198,
      "target": 4328.658,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 24.84,
        "bb_width_pct": 1.135
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T14-20-00Z_short_vwap_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T14:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4337.685,
      "stop": 4345.316,
      "target": 4322.422,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 24.84,
        "bb_width_pct": 1.135
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T14-20-00Z_short_donchian_range_boundary_fade",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T14:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4337.685,
      "stop": 4343.529,
      "target": 4325.997,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 24.84,
        "bb_width_pct": 1.135
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T14-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T14:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4337.685,
      "stop": 4340.822,
      "target": 4331.412,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 24.84,
        "bb_width_pct": 1.135
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T14-25-00Z_short_rsi_range_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T14:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4337.17,
      "stop": 4340.855,
      "target": 4329.801,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 12.61,
        "bb_width_pct": 1.104
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T14-25-00Z_short_vwap_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T14:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4337.17,
      "stop": 4344.319,
      "target": 4322.873,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.61,
        "bb_width_pct": 1.104
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T14-35-00Z_short_vwap_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T14:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4337.05,
      "stop": 4343.551,
      "target": 4324.048,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.48,
        "bb_width_pct": 1.05
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T14-35-00Z_short_donchian_range_boundary_fade",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T14:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4337.05,
      "stop": 4342.576,
      "target": 4325.997,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.48,
        "bb_width_pct": 1.05
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T14-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T14:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4337.05,
      "stop": 4338.718,
      "target": 4333.714,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.48,
        "bb_width_pct": 1.05
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T14-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T14:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4346.335,
      "stop": 4351.594,
      "target": 4335.817,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.02,
        "bb_width_pct": 0.895
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T14-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T14:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4346.03,
      "stop": 4349.471,
      "target": 4339.148,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.13,
        "bb_width_pct": 0.601
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T14-55-00Z_short_vwap_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T14:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4346.03,
      "stop": 4355.837,
      "target": 4326.417,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.13,
        "bb_width_pct": 0.601
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T14-55-00Z_short_donchian_range_boundary_fade",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T14:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4346.03,
      "stop": 4355.624,
      "target": 4326.843,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.13,
        "bb_width_pct": 0.601
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T14-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T14:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4346.03,
      "stop": 4350.172,
      "target": 4337.746,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.13,
        "bb_width_pct": 0.601
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T15-00-00Z_short_vwap_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T15:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4336.95,
      "stop": 4342.034,
      "target": 4326.782,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.13,
        "bb_width_pct": 0.53
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T15-00-00Z_short_donchian_range_boundary_fade",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T15:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4336.95,
      "stop": 4341.25,
      "target": 4328.35,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.13,
        "bb_width_pct": 0.53
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T15-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T15:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4331.885,
      "stop": 4327.819,
      "target": 4340.017,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.14,
        "bb_width_pct": 0.484
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T15-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T15:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4333.655,
      "stop": 4330.376,
      "target": 4340.214,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.48,
        "bb_width_pct": 0.456
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T15-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T15:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4330.73,
      "stop": 4326.988,
      "target": 4338.213,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.56,
        "bb_width_pct": 0.501
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T16-05-00Z_long_rsi_range_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T16:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4329.56,
      "stop": 4325.971,
      "target": 4336.738,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.49,
        "bb_width_pct": 0.55
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T16-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T16:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4324.19,
      "stop": 4318.479,
      "target": 4335.613,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.28,
        "bb_width_pct": 0.563
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T16-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T16:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4324.19,
      "stop": 4319.706,
      "target": 4333.157,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.28,
        "bb_width_pct": 0.563
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T16-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T16:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4329.085,
      "stop": 4326.02,
      "target": 4335.215,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.9,
        "bb_width_pct": 0.577
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T16-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T16:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4329.085,
      "stop": 4327.243,
      "target": 4332.769,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.9,
        "bb_width_pct": 0.577
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T16-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4322.62,
      "stop": 4318.321,
      "target": 4331.218,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.54,
        "bb_width_pct": 0.399
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T16-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4322.415,
      "stop": 4318.684,
      "target": 4329.878,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.88,
        "bb_width_pct": 0.466
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T16-45-00Z_long_donchian_range_boundary_fade",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4322.415,
      "stop": 4315.462,
      "target": 4336.32,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.88,
        "bb_width_pct": 0.466
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T16-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4322.415,
      "stop": 4319.245,
      "target": 4328.756,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.88,
        "bb_width_pct": 0.466
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T16-55-00Z_long_donchian_range_boundary_fade",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4323.16,
      "stop": 4317.07,
      "target": 4335.34,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.22,
        "bb_width_pct": 0.495
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T17-00-00Z_long_donchian_range_boundary_fade",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T17:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4324.955,
      "stop": 4319.762,
      "target": 4335.34,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.94,
        "bb_width_pct": 0.491
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T17-10-00Z_long_donchian_range_boundary_fade",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T17:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4323.745,
      "stop": 4317.948,
      "target": 4335.34,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.68,
        "bb_width_pct": 0.424
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T17-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T17:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4321.785,
      "stop": 4319.758,
      "target": 4325.839,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.68,
        "bb_width_pct": 0.405
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T17-30-00Z_long_donchian_range_boundary_fade",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T17:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4325.445,
      "stop": 4320.497,
      "target": 4335.34,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.18,
        "bb_width_pct": 0.367
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T18-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T18:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4325.695,
      "stop": 4326.676,
      "target": 4323.732,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.06,
        "bb_width_pct": 0.177
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T18-00-00Z_long_donchian_range_boundary_fade",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T18:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4325.695,
      "stop": 4320.872,
      "target": 4335.34,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.06,
        "bb_width_pct": 0.177
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T18-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T18:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4328.06,
      "stop": 4330.088,
      "target": 4324.003,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.25,
        "bb_width_pct": 0.201
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T18-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T18:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4325.96,
      "stop": 4326.788,
      "target": 4324.305,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.35,
        "bb_width_pct": 0.185
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T18-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T18:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4328.635,
      "stop": 4330.645,
      "target": 4324.616,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.93,
        "bb_width_pct": 0.2
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T18-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T18:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4324.155,
      "stop": 4323.977,
      "target": 4324.511,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.8,
        "bb_width_pct": 0.223
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T18-35-00Z_long_donchian_range_boundary_fade",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T18:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4324.155,
      "stop": 4321.532,
      "target": 4329.4,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.8,
        "bb_width_pct": 0.223
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T18-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T18:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4317.415,
      "stop": 4314.045,
      "target": 4324.155,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.56,
        "bb_width_pct": 0.266
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T18-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T18:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4317.92,
      "stop": 4314.971,
      "target": 4323.818,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.46,
        "bb_width_pct": 0.294
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T18-50-00Z_long_donchian_range_boundary_fade",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T18:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4317.92,
      "stop": 4312.825,
      "target": 4328.11,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.46,
        "bb_width_pct": 0.294
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T18-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T18:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4319.815,
      "stop": 4317.887,
      "target": 4323.671,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.24,
        "bb_width_pct": 0.304
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T18-55-00Z_long_donchian_range_boundary_fade",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T18:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4319.815,
      "stop": 4315.757,
      "target": 4327.93,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.24,
        "bb_width_pct": 0.304
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T19-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T19:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4316.805,
      "stop": 4313.469,
      "target": 4323.476,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.41,
        "bb_width_pct": 0.33
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T19-10-00Z_long_donchian_range_boundary_fade",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T19:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4317.995,
      "stop": 4313.028,
      "target": 4327.93,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.22,
        "bb_width_pct": 0.345
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T19-20-00Z_long_donchian_range_boundary_fade",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T19:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4319.44,
      "stop": 4317.159,
      "target": 4324.003,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 13.06,
        "bb_width_pct": 0.353
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T19-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T19:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4313.635,
      "stop": 4309.757,
      "target": 4321.391,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.81,
        "bb_width_pct": 0.391
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T19-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T19:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4313.635,
      "stop": 4310.28,
      "target": 4320.345,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.81,
        "bb_width_pct": 0.391
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T19-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T19:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4311.07,
      "stop": 4306.583,
      "target": 4320.045,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.57,
        "bb_width_pct": 0.482
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T19-40-00Z_long_vwap_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T19:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4311.07,
      "stop": 4305.737,
      "target": 4321.736,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.57,
        "bb_width_pct": 0.482
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T19-40-00Z_long_donchian_range_boundary_fade",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T19:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4311.07,
      "stop": 4306.456,
      "target": 4320.297,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 21.57,
        "bb_width_pct": 0.482
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T19-50-00Z_long_vwap_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T19:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4311.745,
      "stop": 4307.05,
      "target": 4321.136,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.8,
        "bb_width_pct": 0.499
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T19-50-00Z_long_donchian_range_boundary_fade",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T19:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4311.745,
      "stop": 4307.688,
      "target": 4319.86,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.8,
        "bb_width_pct": 0.499
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T19-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T19:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4311.745,
      "stop": 4309.015,
      "target": 4317.204,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.8,
        "bb_width_pct": 0.499
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T19-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T19:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4311.55,
      "stop": 4308.992,
      "target": 4316.666,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.79,
        "bb_width_pct": 0.475
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T20-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T20:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4306.065,
      "stop": 4300.732,
      "target": 4316.731,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.18,
        "bb_width_pct": 0.497
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T20-05-00Z_long_rsi_range_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T20:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4308.255,
      "stop": 4304.526,
      "target": 4315.712,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.63,
        "bb_width_pct": 0.456
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T20-05-00Z_long_vwap_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T20:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4308.255,
      "stop": 4302.294,
      "target": 4320.177,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.63,
        "bb_width_pct": 0.456
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T20-05-00Z_long_donchian_range_boundary_fade",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T20:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4308.255,
      "stop": 4303.276,
      "target": 4318.212,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 23.63,
        "bb_width_pct": 0.456
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T20-10-00Z_long_donchian_range_boundary_fade",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T20:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4315.115,
      "stop": 4313.566,
      "target": 4318.212,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 2.69,
        "bb_width_pct": 0.451
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T20-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T20:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4321.23,
      "stop": 4324.383,
      "target": 4314.923,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.77,
        "bb_width_pct": 0.404
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T20-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T20:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4321.23,
      "stop": 4323.934,
      "target": 4315.822,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.77,
        "bb_width_pct": 0.404
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T20-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4321.395,
      "stop": 4324.696,
      "target": 4314.793,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.43,
        "bb_width_pct": 0.391
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T20-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4321.395,
      "stop": 4323.833,
      "target": 4316.52,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.43,
        "bb_width_pct": 0.391
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T20-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T20:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4310.685,
      "stop": 4308.052,
      "target": 4315.952,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.3,
        "bb_width_pct": 0.392
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2025-12-31T21-25-00Z_long_donchian_range_boundary_fade",
      "date": "2025-12-31",
      "timestamp": "2025-12-31T21:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4310.285,
      "stop": 4306.321,
      "target": 4318.212,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.82,
        "bb_width_pct": 0.374
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T00-10-00Z_short_rsi_range_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T00:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4348.28,
      "stop": 4354.764,
      "target": 4335.311,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 19.51,
        "bb_width_pct": 1.104
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T00-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T00:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4348.28,
      "stop": 4358.342,
      "target": 4328.155,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 19.51,
        "bb_width_pct": 1.104
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T00-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T00:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4344.785,
      "stop": 4352.636,
      "target": 4329.083,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.99,
        "bb_width_pct": 1.04
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T00-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T00:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4344.785,
      "stop": 4348.114,
      "target": 4338.126,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.99,
        "bb_width_pct": 1.04
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T00-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T00:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4343.705,
      "stop": 4350.669,
      "target": 4329.778,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.69,
        "bb_width_pct": 0.941
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T00-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T00:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4343.705,
      "stop": 4346.229,
      "target": 4338.657,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.69,
        "bb_width_pct": 0.941
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T00-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T00:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4347.295,
      "stop": 4351.202,
      "target": 4339.48,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.72,
        "bb_width_pct": 0.817
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T00-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T00:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4354.055,
      "stop": 4357.746,
      "target": 4346.673,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.83,
        "bb_width_pct": 0.366
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T01-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4348.265,
      "stop": 4348.859,
      "target": 4347.077,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.01,
        "bb_width_pct": 0.341
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T01-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4348.265,
      "stop": 4356.639,
      "target": 4331.517,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.01,
        "bb_width_pct": 0.341
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T01-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4348.265,
      "stop": 4349.848,
      "target": 4345.098,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.01,
        "bb_width_pct": 0.341
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T01-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T01:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4346.625,
      "stop": 4354.179,
      "target": 4331.517,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.39,
        "bb_width_pct": 0.317
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T01-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T01:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4346.35,
      "stop": 4353.688,
      "target": 4331.675,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.48,
        "bb_width_pct": 0.247
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T01-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T01:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4348.985,
      "stop": 4357.64,
      "target": 4331.675,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.76,
        "bb_width_pct": 0.223
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T01-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T01:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4346.695,
      "stop": 4354.055,
      "target": 4331.975,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.15,
        "bb_width_pct": 0.222
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T01-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T01:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4350.415,
      "stop": 4351.231,
      "target": 4348.783,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.26,
        "bb_width_pct": 0.235
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T01-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T01:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4350.415,
      "stop": 4358.694,
      "target": 4333.858,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.26,
        "bb_width_pct": 0.235
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T01-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T01:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4350.415,
      "stop": 4351.843,
      "target": 4347.56,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.26,
        "bb_width_pct": 0.235
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T01-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T01:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4348.095,
      "stop": 4354.639,
      "target": 4335.007,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.77,
        "bb_width_pct": 0.22
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T02-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T02:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4348.12,
      "stop": 4354.575,
      "target": 4335.21,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.23,
        "bb_width_pct": 0.189
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T02-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T02:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4351.515,
      "stop": 4352.922,
      "target": 4348.701,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.75,
        "bb_width_pct": 0.169
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T04-05-00Z_short_rsi_range_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4376.185,
      "stop": 4381.109,
      "target": 4366.337,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 23.65,
        "bb_width_pct": 0.806
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T04-05-00Z_short_vwap_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4376.185,
      "stop": 4386.487,
      "target": 4355.581,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 23.65,
        "bb_width_pct": 0.806
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T04-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4376.185,
      "stop": 4383.639,
      "target": 4361.278,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 23.65,
        "bb_width_pct": 0.806
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T04-10-00Z_short_rsi_range_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T04:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4374.985,
      "stop": 4378.611,
      "target": 4367.733,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 18.27,
        "bb_width_pct": 0.713
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T04-10-00Z_short_vwap_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T04:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4374.985,
      "stop": 4384.489,
      "target": 4355.977,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 18.27,
        "bb_width_pct": 0.713
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T04-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T04:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4374.985,
      "stop": 4381.641,
      "target": 4361.673,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.27,
        "bb_width_pct": 0.713
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T04-20-00Z_short_vwap_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4372.91,
      "stop": 4381.033,
      "target": 4356.664,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.75,
        "bb_width_pct": 0.537
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T04-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4372.91,
      "stop": 4378.529,
      "target": 4361.673,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.75,
        "bb_width_pct": 0.537
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T04-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4372.91,
      "stop": 4374.738,
      "target": 4369.255,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.75,
        "bb_width_pct": 0.537
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T04-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T04:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4373.915,
      "stop": 4376.023,
      "target": 4369.699,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.65,
        "bb_width_pct": 0.44
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T04-30-00Z_short_vwap_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T04:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4373.355,
      "stop": 4381.388,
      "target": 4357.289,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 9.02,
        "bb_width_pct": 0.367
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T04-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T04:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4373.355,
      "stop": 4379.196,
      "target": 4361.673,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.02,
        "bb_width_pct": 0.367
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T04-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T04:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4373.355,
      "stop": 4375.009,
      "target": 4370.047,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.02,
        "bb_width_pct": 0.367
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T04-35-00Z_short_vwap_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4373.08,
      "stop": 4380.836,
      "target": 4357.568,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.76,
        "bb_width_pct": 0.319
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T04-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4373.08,
      "stop": 4378.784,
      "target": 4361.673,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.76,
        "bb_width_pct": 0.319
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T04-45-00Z_short_vwap_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4374.625,
      "stop": 4382.859,
      "target": 4358.158,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 1.75,
        "bb_width_pct": 0.238
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T04-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4374.625,
      "stop": 4380.941,
      "target": 4361.993,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.75,
        "bb_width_pct": 0.238
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T04-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4374.625,
      "stop": 4376.346,
      "target": 4371.184,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.75,
        "bb_width_pct": 0.238
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T04-50-00Z_short_vwap_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T04:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4372.83,
      "stop": 4380.036,
      "target": 4358.418,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.13,
        "bb_width_pct": 0.224
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T04-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T04:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4372.83,
      "stop": 4378.249,
      "target": 4361.993,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.13,
        "bb_width_pct": 0.224
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T05-00-00Z_short_vwap_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4371.605,
      "stop": 4377.97,
      "target": 4358.874,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.82,
        "bb_width_pct": 0.17
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T05-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4377.725,
      "stop": 4379.374,
      "target": 4374.428,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.65,
        "bb_width_pct": 0.166
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T05-10-00Z_short_vwap_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4377.725,
      "stop": 4386.861,
      "target": 4359.454,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.65,
        "bb_width_pct": 0.166
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T05-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4377.725,
      "stop": 4385.591,
      "target": 4361.993,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.65,
        "bb_width_pct": 0.166
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T05-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4376.995,
      "stop": 4378.137,
      "target": 4374.711,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.77,
        "bb_width_pct": 0.16
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T05-15-00Z_short_vwap_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4376.995,
      "stop": 4385.625,
      "target": 4359.736,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.77,
        "bb_width_pct": 0.16
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T05-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4376.995,
      "stop": 4384.106,
      "target": 4362.773,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.77,
        "bb_width_pct": 0.16
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T05-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4376.995,
      "stop": 4378.961,
      "target": 4373.063,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.77,
        "bb_width_pct": 0.16
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T05-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4378.35,
      "stop": 4380.058,
      "target": 4374.934,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.24,
        "bb_width_pct": 0.175
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T05-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4378.675,
      "stop": 4380.986,
      "target": 4374.053,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.27,
        "bb_width_pct": 0.188
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T05-40-00Z_short_vwap_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4378.915,
      "stop": 4387.817,
      "target": 4361.111,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.22,
        "bb_width_pct": 0.225
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T05-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4378.915,
      "stop": 4386.986,
      "target": 4362.773,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.22,
        "bb_width_pct": 0.225
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T05-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4378.915,
      "stop": 4380.671,
      "target": 4375.402,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.22,
        "bb_width_pct": 0.225
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T05-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T05:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4379.51,
      "stop": 4381.368,
      "target": 4375.793,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.76,
        "bb_width_pct": 0.237
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T05-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4381.51,
      "stop": 4384.156,
      "target": 4376.219,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.07,
        "bb_width_pct": 0.261
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T05-55-00Z_short_vwap_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T05:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4380.66,
      "stop": 4390.037,
      "target": 4361.906,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 20.24,
        "bb_width_pct": 0.275
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T05-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T05:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4380.66,
      "stop": 4387.799,
      "target": 4366.382,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 20.24,
        "bb_width_pct": 0.275
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T05-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T05:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4380.66,
      "stop": 4382.615,
      "target": 4376.749,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.24,
        "bb_width_pct": 0.275
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T06-00-00Z_short_vwap_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4377.39,
      "stop": 4385.019,
      "target": 4362.132,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.65,
        "bb_width_pct": 0.264
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T06-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4377.39,
      "stop": 4382.786,
      "target": 4366.597,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.65,
        "bb_width_pct": 0.264
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T06-05-00Z_short_vwap_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4374.99,
      "stop": 4381.329,
      "target": 4362.312,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.2,
        "bb_width_pct": 0.261
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T06-30-00Z_short_vwap_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4378.805,
      "stop": 4386.563,
      "target": 4363.288,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.34,
        "bb_width_pct": 0.219
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T06-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4378.805,
      "stop": 4381.253,
      "target": 4373.91,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.34,
        "bb_width_pct": 0.219
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T06-35-00Z_short_vwap_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4376.3,
      "stop": 4382.719,
      "target": 4363.462,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.2,
        "bb_width_pct": 0.199
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T06-40-00Z_short_vwap_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T06:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4374.32,
      "stop": 4379.677,
      "target": 4363.607,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.06,
        "bb_width_pct": 0.167
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T06-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T06:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4375.845,
      "stop": 4374.762,
      "target": 4378.011,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.25,
        "bb_width_pct": 0.173
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T06-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T06:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4374.52,
      "stop": 4372.854,
      "target": 4377.851,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.51,
        "bb_width_pct": 0.187
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T06-50-00Z_short_vwap_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T06:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4374.52,
      "stop": 4379.84,
      "target": 4363.881,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.51,
        "bb_width_pct": 0.187
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T06-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T06:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4374.965,
      "stop": 4373.573,
      "target": 4377.75,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.79,
        "bb_width_pct": 0.195
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T07-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T07:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4373.915,
      "stop": 4372.601,
      "target": 4376.542,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.86,
        "bb_width_pct": 0.227
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T07-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T07:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4379.88,
      "stop": 4381.731,
      "target": 4376.177,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.22,
        "bb_width_pct": 0.201
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T07-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T07:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4380.585,
      "stop": 4382.636,
      "target": 4376.484,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.1,
        "bb_width_pct": 0.216
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T08-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4383.075,
      "stop": 4386.118,
      "target": 4376.99,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.18,
        "bb_width_pct": 0.28
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T08-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4383.075,
      "stop": 4385.694,
      "target": 4377.837,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.18,
        "bb_width_pct": 0.28
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T08-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T08:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4385.17,
      "stop": 4388.953,
      "target": 4377.604,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.95,
        "bb_width_pct": 0.364
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T08-10-00Z_short_vwap_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T08:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4385.17,
      "stop": 4388.628,
      "target": 4378.255,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 21.95,
        "bb_width_pct": 0.364
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T08-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T08:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4385.17,
      "stop": 4388.459,
      "target": 4378.592,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 21.95,
        "bb_width_pct": 0.364
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T08-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T08:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4383.175,
      "stop": 4385.308,
      "target": 4378.91,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.44,
        "bb_width_pct": 0.379
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T08-35-00Z_short_rsi_range_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4388.705,
      "stop": 4392.911,
      "target": 4380.294,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 19.19,
        "bb_width_pct": 0.464
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T08-35-00Z_short_vwap_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4388.705,
      "stop": 4393.018,
      "target": 4380.079,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 19.19,
        "bb_width_pct": 0.464
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T08-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4388.705,
      "stop": 4392.716,
      "target": 4380.682,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 19.19,
        "bb_width_pct": 0.464
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T08-55-00Z_short_vwap_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T08:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4386.98,
      "stop": 4389.462,
      "target": 4382.016,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.88,
        "bb_width_pct": 0.54
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T08-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T08:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4386.98,
      "stop": 4387.95,
      "target": 4385.041,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.88,
        "bb_width_pct": 0.54
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T09-10-00Z_short_vwap_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T09:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4390.18,
      "stop": 4393.86,
      "target": 4382.82,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.89,
        "bb_width_pct": 0.452
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T09-15-00Z_short_vwap_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T09:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4388.81,
      "stop": 4391.685,
      "target": 4383.059,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.05,
        "bb_width_pct": 0.438
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T09-30-00Z_short_vwap_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4388.395,
      "stop": 4390.84,
      "target": 4383.506,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.41,
        "bb_width_pct": 0.295
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T10-40-00Z_short_vwap_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T10:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4393.9,
      "stop": 4396.365,
      "target": 4388.97,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.58,
        "bb_width_pct": 0.204
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T10-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T10:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4393.9,
      "stop": 4398.305,
      "target": 4385.09,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.58,
        "bb_width_pct": 0.204
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T10-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T10:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4396.24,
      "stop": 4399.477,
      "target": 4389.766,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.05,
        "bb_width_pct": 0.314
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T10-55-00Z_short_vwap_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T10:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4396.24,
      "stop": 4398.946,
      "target": 4390.827,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.05,
        "bb_width_pct": 0.314
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T10-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T10:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4396.24,
      "stop": 4400.841,
      "target": 4387.038,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.05,
        "bb_width_pct": 0.314
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T11-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4396.955,
      "stop": 4400.281,
      "target": 4390.303,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 24.82,
        "bb_width_pct": 0.335
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T11-05-00Z_short_rsi_range_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T11:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4395.73,
      "stop": 4398.273,
      "target": 4390.643,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 17.77,
        "bb_width_pct": 0.35
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T11-05-00Z_short_vwap_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T11:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4395.73,
      "stop": 4397.777,
      "target": 4391.636,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 17.77,
        "bb_width_pct": 0.35
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T11-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T11:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4395.73,
      "stop": 4399.827,
      "target": 4387.535,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.77,
        "bb_width_pct": 0.35
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T11-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T11:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4395.73,
      "stop": 4397.726,
      "target": 4391.738,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.77,
        "bb_width_pct": 0.35
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T11-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T11:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4395.22,
      "stop": 4398.05,
      "target": 4389.56,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 19.8,
        "bb_width_pct": 0.358
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T11-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T11:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4397.015,
      "stop": 4399.252,
      "target": 4392.54,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.87,
        "bb_width_pct": 0.368
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T11-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T11:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4394.465,
      "stop": 4396.609,
      "target": 4390.177,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.88,
        "bb_width_pct": 0.382
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T11-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T11:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4394.465,
      "stop": 4395.096,
      "target": 4393.204,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.88,
        "bb_width_pct": 0.382
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T12-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T12:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4395.395,
      "stop": 4397.394,
      "target": 4391.398,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.79,
        "bb_width_pct": 0.155
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T12-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T12:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4395.73,
      "stop": 4397.896,
      "target": 4391.398,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.85,
        "bb_width_pct": 0.162
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T12-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T12:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4388.1,
      "stop": 4385.683,
      "target": 4392.933,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.5,
        "bb_width_pct": 0.237
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T12-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T12:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4390.08,
      "stop": 4388.256,
      "target": 4393.728,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.82,
        "bb_width_pct": 0.248
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T12-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T12:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4390.08,
      "stop": 4388.789,
      "target": 4392.661,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.82,
        "bb_width_pct": 0.248
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T13-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T13:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4397.285,
      "stop": 4399.905,
      "target": 4392.045,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.09,
        "bb_width_pct": 0.246
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T13-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T13:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4399.705,
      "stop": 4402.557,
      "target": 4394.001,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.21,
        "bb_width_pct": 0.273
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T13-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T13:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4399.705,
      "stop": 4402.433,
      "target": 4394.249,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.21,
        "bb_width_pct": 0.273
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T13-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T13:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4398.855,
      "stop": 4401.143,
      "target": 4394.279,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.42,
        "bb_width_pct": 0.289
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T13-15-00Z_short_vwap_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T13:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4398.855,
      "stop": 4401.179,
      "target": 4394.208,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.42,
        "bb_width_pct": 0.289
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T13-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T13:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4398.855,
      "stop": 4401.777,
      "target": 4393.01,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.42,
        "bb_width_pct": 0.289
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T13-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T13:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4398.855,
      "stop": 4400.939,
      "target": 4394.687,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.42,
        "bb_width_pct": 0.289
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T13-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T13:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4372.765,
      "stop": 4364.362,
      "target": 4389.57,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.68,
        "bb_width_pct": 0.867
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T13-40-00Z_long_rsi_range_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T13:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4372.765,
      "stop": 4364.362,
      "target": 4389.57,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.68,
        "bb_width_pct": 0.867
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T13-40-00Z_long_vwap_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T13:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4372.765,
      "stop": 4364.233,
      "target": 4389.829,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.68,
        "bb_width_pct": 0.867
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T13-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T13:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4372.765,
      "stop": 4367.086,
      "target": 4384.122,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 21.68,
        "bb_width_pct": 0.867
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T14-00-00Z_long_vwap_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4371.81,
      "stop": 4364.441,
      "target": 4386.548,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.75,
        "bb_width_pct": 1.071
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T14-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4371.81,
      "stop": 4366.6,
      "target": 4382.23,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 21.75,
        "bb_width_pct": 1.071
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T14-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4371.81,
      "stop": 4367.351,
      "target": 4380.728,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.75,
        "bb_width_pct": 1.071
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T14-15-00Z_long_rsi_range_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T14:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4372.055,
      "stop": 4367.709,
      "target": 4380.746,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.53,
        "bb_width_pct": 1.076
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T14-15-00Z_long_vwap_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T14:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4372.055,
      "stop": 4365.667,
      "target": 4384.832,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.53,
        "bb_width_pct": 1.076
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T14-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T14:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4372.055,
      "stop": 4366.968,
      "target": 4382.23,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 26.53,
        "bb_width_pct": 1.076
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T14-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T14:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4372.055,
      "stop": 4368.968,
      "target": 4378.229,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.53,
        "bb_width_pct": 1.076
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T14-40-00Z_long_vwap_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T14:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4356.74,
      "stop": 4344.454,
      "target": 4381.313,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.05,
        "bb_width_pct": 1.164
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T14-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T14:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4356.74,
      "stop": 4346.942,
      "target": 4376.335,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 13.05,
        "bb_width_pct": 1.164
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T14-45-00Z_long_vwap_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T14:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4361.65,
      "stop": 4352.136,
      "target": 4380.678,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.19,
        "bb_width_pct": 1.064
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T14-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T14:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4361.65,
      "stop": 4354.875,
      "target": 4375.2,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 11.19,
        "bb_width_pct": 1.064
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T14-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T14:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4361.65,
      "stop": 4357.506,
      "target": 4369.938,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.19,
        "bb_width_pct": 1.064
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T14-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T14:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4359.275,
      "stop": 4354.451,
      "target": 4368.922,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.28,
        "bb_width_pct": 0.902
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T15-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T15:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4347.48,
      "stop": 4339.468,
      "target": 4363.503,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.08,
        "bb_width_pct": 0.836
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T15-05-00Z_long_vwap_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T15:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4347.48,
      "stop": 4332.393,
      "target": 4377.654,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.08,
        "bb_width_pct": 0.836
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T15-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T15:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4347.48,
      "stop": 4335.095,
      "target": 4372.25,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 21.08,
        "bb_width_pct": 0.836
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T15-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T15:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4339.84,
      "stop": 4329.558,
      "target": 4360.404,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.9,
        "bb_width_pct": 1.007
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T15-25-00Z_long_rsi_range_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T15:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4336.785,
      "stop": 4326.781,
      "target": 4356.792,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.49,
        "bb_width_pct": 1.145
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T15-25-00Z_long_vwap_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T15:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4336.785,
      "stop": 4318.22,
      "target": 4373.914,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.49,
        "bb_width_pct": 1.145
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T15-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T15:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4336.785,
      "stop": 4321.985,
      "target": 4366.385,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 23.49,
        "bb_width_pct": 1.145
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T15-30-00Z_long_rsi_range_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T15:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4339.37,
      "stop": 4331.348,
      "target": 4355.415,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.0,
        "bb_width_pct": 1.175
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T15-30-00Z_long_vwap_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T15:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4339.37,
      "stop": 4322.527,
      "target": 4373.056,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.0,
        "bb_width_pct": 1.175
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T15-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T15:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4339.37,
      "stop": 4325.862,
      "target": 4366.385,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 21.0,
        "bb_width_pct": 1.175
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T15-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T15:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4339.37,
      "stop": 4332.311,
      "target": 4353.487,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.0,
        "bb_width_pct": 1.175
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T15-35-00Z_long_rsi_range_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T15:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4340.52,
      "stop": 4333.716,
      "target": 4354.128,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.57,
        "bb_width_pct": 1.188
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T15-35-00Z_long_vwap_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T15:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4340.52,
      "stop": 4324.627,
      "target": 4372.305,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.57,
        "bb_width_pct": 1.188
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T15-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T15:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4340.52,
      "stop": 4327.588,
      "target": 4366.385,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.57,
        "bb_width_pct": 1.188
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T15-40-00Z_long_vwap_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T15:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4346.195,
      "stop": 4333.448,
      "target": 4371.688,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.0,
        "bb_width_pct": 1.137
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T15-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T15:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4346.195,
      "stop": 4336.1,
      "target": 4366.385,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.0,
        "bb_width_pct": 1.137
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T16-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4327.785,
      "stop": 4318.613,
      "target": 4346.129,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.4,
        "bb_width_pct": 0.935
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T16-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T16:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4326.845,
      "stop": 4318.248,
      "target": 4344.039,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.25,
        "bb_width_pct": 0.884
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T16-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T16:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4322.725,
      "stop": 4312.883,
      "target": 4342.409,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.89,
        "bb_width_pct": 0.948
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T16-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T16:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4318.91,
      "stop": 4308.955,
      "target": 4338.82,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.55,
        "bb_width_pct": 1.081
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T16-20-00Z_long_rsi_range_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T16:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4318.91,
      "stop": 4308.955,
      "target": 4338.82,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.55,
        "bb_width_pct": 1.081
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T16-20-00Z_long_vwap_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T16:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4318.91,
      "stop": 4295.67,
      "target": 4365.391,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.55,
        "bb_width_pct": 1.081
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T16-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T16:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4318.91,
      "stop": 4298.91,
      "target": 4358.91,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 19.55,
        "bb_width_pct": 1.081
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T16-25-00Z_long_vwap_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T16:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4321.885,
      "stop": 4300.537,
      "target": 4364.58,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.1,
        "bb_width_pct": 1.018
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T16-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T16:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4321.885,
      "stop": 4303.455,
      "target": 4358.745,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.1,
        "bb_width_pct": 1.018
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T16-35-00Z_long_vwap_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4322.415,
      "stop": 4302.138,
      "target": 4362.968,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.27,
        "bb_width_pct": 0.923
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T16-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4322.415,
      "stop": 4304.95,
      "target": 4357.345,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 16.27,
        "bb_width_pct": 0.923
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T16-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4322.415,
      "stop": 4316.856,
      "target": 4333.532,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.27,
        "bb_width_pct": 0.923
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T16-40-00Z_long_vwap_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T16:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4325.865,
      "stop": 4307.646,
      "target": 4362.304,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.23,
        "bb_width_pct": 0.912
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T16-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T16:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4325.865,
      "stop": 4313.844,
      "target": 4349.907,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.23,
        "bb_width_pct": 0.912
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T16-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T16:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4325.865,
      "stop": 4322.396,
      "target": 4332.802,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.23,
        "bb_width_pct": 0.912
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T16-55-00Z_long_vwap_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4326.58,
      "stop": 4309.654,
      "target": 4360.433,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.62,
        "bb_width_pct": 0.828
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T16-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4326.58,
      "stop": 4316.608,
      "target": 4346.525,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.62,
        "bb_width_pct": 0.828
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T17-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T17:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4326.615,
      "stop": 4318.179,
      "target": 4343.487,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.36,
        "bb_width_pct": 0.383
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T18-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T18:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4318.645,
      "stop": 4315.356,
      "target": 4325.224,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.58,
        "bb_width_pct": 0.402
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T18-15-00Z_long_vwap_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T18:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4318.645,
      "stop": 4315.307,
      "target": 4325.32,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.58,
        "bb_width_pct": 0.402
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T18-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T18:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4318.645,
      "stop": 4310.488,
      "target": 4334.96,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 17.58,
        "bb_width_pct": 0.402
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T18-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T18:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4318.645,
      "stop": 4315.605,
      "target": 4324.725,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.58,
        "bb_width_pct": 0.402
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T18-20-00Z_long_rsi_range_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T18:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4319.465,
      "stop": 4316.746,
      "target": 4324.903,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.07,
        "bb_width_pct": 0.418
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T18-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T18:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4319.465,
      "stop": 4313.76,
      "target": 4330.875,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.07,
        "bb_width_pct": 0.418
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T18-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T18:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4319.465,
      "stop": 4317.085,
      "target": 4324.224,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.07,
        "bb_width_pct": 0.418
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T18-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4316.27,
      "stop": 4312.907,
      "target": 4322.996,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.28,
        "bb_width_pct": 0.467
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T18-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T18:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4315.825,
      "stop": 4311.892,
      "target": 4323.691,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.9,
        "bb_width_pct": 0.494
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T18-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T18:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4315.825,
      "stop": 4312.581,
      "target": 4322.313,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.9,
        "bb_width_pct": 0.494
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T18-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T18:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4312.735,
      "stop": 4307.744,
      "target": 4322.718,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.57,
        "bb_width_pct": 0.506
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T18-45-00Z_long_rsi_range_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T18:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4313.56,
      "stop": 4309.349,
      "target": 4321.982,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.54,
        "bb_width_pct": 0.524
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T18-45-00Z_long_vwap_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T18:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4313.56,
      "stop": 4308.918,
      "target": 4322.844,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.54,
        "bb_width_pct": 0.524
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T18-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T18:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4313.56,
      "stop": 4306.026,
      "target": 4328.628,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 19.54,
        "bb_width_pct": 0.524
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T18-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T18:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4313.56,
      "stop": 4310.013,
      "target": 4320.654,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.54,
        "bb_width_pct": 0.524
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T18-50-00Z_long_rsi_range_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T18:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4315.285,
      "stop": 4312.313,
      "target": 4321.229,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.51,
        "bb_width_pct": 0.509
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T18-50-00Z_long_vwap_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T18:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4315.285,
      "stop": 4311.69,
      "target": 4322.475,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.51,
        "bb_width_pct": 0.509
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T18-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T18:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4315.285,
      "stop": 4308.614,
      "target": 4328.628,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 16.51,
        "bb_width_pct": 0.509
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T18-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T18:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4315.285,
      "stop": 4312.856,
      "target": 4320.142,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.51,
        "bb_width_pct": 0.509
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T18-55-00Z_long_rsi_range_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T18:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4315.405,
      "stop": 4312.845,
      "target": 4320.524,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.83,
        "bb_width_pct": 0.489
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T18-55-00Z_long_vwap_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T18:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4315.405,
      "stop": 4312.023,
      "target": 4322.169,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.83,
        "bb_width_pct": 0.489
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T18-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T18:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4315.405,
      "stop": 4308.794,
      "target": 4328.628,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.83,
        "bb_width_pct": 0.489
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T19-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T19:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4323.785,
      "stop": 4326.572,
      "target": 4318.212,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.2,
        "bb_width_pct": 0.285
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T19-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T19:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4322.735,
      "stop": 4324.981,
      "target": 4318.242,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.25,
        "bb_width_pct": 0.289
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T20-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T20:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4327.845,
      "stop": 4331.119,
      "target": 4321.298,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.54,
        "bb_width_pct": 0.306
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T20-30-00Z_short_rsi_range_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T20:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4327.845,
      "stop": 4331.119,
      "target": 4321.298,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 18.54,
        "bb_width_pct": 0.306
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T20-30-00Z_short_vwap_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T20:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4327.845,
      "stop": 4330.85,
      "target": 4321.835,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 18.54,
        "bb_width_pct": 0.306
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T20-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T20:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4327.555,
      "stop": 4330.38,
      "target": 4321.905,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.29,
        "bb_width_pct": 0.304
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T20-35-00Z_short_rsi_range_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T20:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4327.555,
      "stop": 4330.38,
      "target": 4321.905,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 13.29,
        "bb_width_pct": 0.304
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T20-35-00Z_short_vwap_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T20:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4327.555,
      "stop": 4330.348,
      "target": 4321.968,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.29,
        "bb_width_pct": 0.304
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T20-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T20:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4327.555,
      "stop": 4330.999,
      "target": 4320.667,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.29,
        "bb_width_pct": 0.304
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T20-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T20:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4327.555,
      "stop": 4329.974,
      "target": 4322.716,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.29,
        "bb_width_pct": 0.304
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T20-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4327.0,
      "stop": 4329.37,
      "target": 4322.26,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.48,
        "bb_width_pct": 0.318
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T20-40-00Z_short_vwap_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4327.0,
      "stop": 4329.452,
      "target": 4322.097,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.48,
        "bb_width_pct": 0.318
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T20-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4327.0,
      "stop": 4330.166,
      "target": 4320.667,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.48,
        "bb_width_pct": 0.318
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T20-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4327.0,
      "stop": 4328.938,
      "target": 4323.124,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.48,
        "bb_width_pct": 0.318
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T20-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T20:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4328.21,
      "stop": 4330.328,
      "target": 4323.974,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.06,
        "bb_width_pct": 0.35
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T21-05-00Z_short_rsi_range_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T21:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4329.475,
      "stop": 4331.903,
      "target": 4324.619,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 23.31,
        "bb_width_pct": 0.388
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T21-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T21:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4329.475,
      "stop": 4333.729,
      "target": 4320.968,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 23.31,
        "bb_width_pct": 0.388
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T21-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T21:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4329.475,
      "stop": 4331.372,
      "target": 4325.68,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 23.31,
        "bb_width_pct": 0.388
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T21-10-00Z_short_rsi_range_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T21:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4328.92,
      "stop": 4330.868,
      "target": 4325.024,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 20.92,
        "bb_width_pct": 0.389
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T21-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T21:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4328.92,
      "stop": 4332.896,
      "target": 4320.968,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 20.92,
        "bb_width_pct": 0.389
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T21-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T21:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4328.92,
      "stop": 4330.386,
      "target": 4325.989,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.92,
        "bb_width_pct": 0.389
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T21-15-00Z_short_rsi_range_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T21:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4328.465,
      "stop": 4330.069,
      "target": 4325.257,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 18.55,
        "bb_width_pct": 0.394
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T21-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T21:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4328.465,
      "stop": 4332.214,
      "target": 4320.968,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.55,
        "bb_width_pct": 0.394
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T21-20-00Z_long_vwap_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T21:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4329.1,
      "stop": 4302.697,
      "target": 4381.906,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.02,
        "bb_width_pct": 0.397
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T21-25-00Z_short_rsi_range_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T21:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4328.955,
      "stop": 4330.449,
      "target": 4325.967,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 6.01,
        "bb_width_pct": 0.391
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T21-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T21:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4328.955,
      "stop": 4332.949,
      "target": 4320.968,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.01,
        "bb_width_pct": 0.391
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T21-30-00Z_long_vwap_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T21:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4329.61,
      "stop": 4305.166,
      "target": 4378.498,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.84,
        "bb_width_pct": 0.376
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T21-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T21:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4328.46,
      "stop": 4332.206,
      "target": 4320.968,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.66,
        "bb_width_pct": 0.334
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T21-40-00Z_long_vwap_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T21:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4328.69,
      "stop": 4305.295,
      "target": 4375.48,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.22,
        "bb_width_pct": 0.287
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T21-45-00Z_long_vwap_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T21:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4330.58,
      "stop": 4308.796,
      "target": 4374.148,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.12,
        "bb_width_pct": 0.238
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T21-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T21:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4330.58,
      "stop": 4332.067,
      "target": 4327.605,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.12,
        "bb_width_pct": 0.238
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T21-50-00Z_long_vwap_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T21:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4333.115,
      "stop": 4313.195,
      "target": 4372.955,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.06,
        "bb_width_pct": 0.194
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T21-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T21:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4332.065,
      "stop": 4333.529,
      "target": 4329.136,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.67,
        "bb_width_pct": 0.157
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T21-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T21:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4332.065,
      "stop": 4337.24,
      "target": 4321.715,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.67,
        "bb_width_pct": 0.157
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-02T21-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T21:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4332.065,
      "stop": 4333.845,
      "target": 4328.505,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.67,
        "bb_width_pct": 0.157
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T00-50-00Z_short_rsi_range_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T00:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4392.035,
      "stop": 4399.766,
      "target": 4376.574,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 24.67,
        "bb_width_pct": 1.033
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T00-50-00Z_short_vwap_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T00:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4392.035,
      "stop": 4395.816,
      "target": 4384.473,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 24.67,
        "bb_width_pct": 1.033
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T00-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T00:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4392.035,
      "stop": 4407.305,
      "target": 4361.495,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 24.67,
        "bb_width_pct": 1.033
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T01-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T01:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4396.29,
      "stop": 4399.925,
      "target": 4389.02,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.37,
        "bb_width_pct": 1.1
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T02-10-00Z_long_rsi_range_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T02:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4394.305,
      "stop": 4392.116,
      "target": 4398.684,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.58,
        "bb_width_pct": 0.612
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T02-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T02:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4407.145,
      "stop": 4410.937,
      "target": 4399.562,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.94,
        "bb_width_pct": 0.368
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T02-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T02:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4407.145,
      "stop": 4411.392,
      "target": 4398.651,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.94,
        "bb_width_pct": 0.368
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T02-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T02:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4405.435,
      "stop": 4408.132,
      "target": 4400.041,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.79,
        "bb_width_pct": 0.377
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T02-55-00Z_short_vwap_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T02:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4405.435,
      "stop": 4410.246,
      "target": 4395.814,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.79,
        "bb_width_pct": 0.377
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T02-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T02:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4405.435,
      "stop": 4408.504,
      "target": 4399.297,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.79,
        "bb_width_pct": 0.377
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T03-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T03:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4410.315,
      "stop": 4414.752,
      "target": 4401.441,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.28,
        "bb_width_pct": 0.467
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T03-05-00Z_short_vwap_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T03:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4410.315,
      "stop": 4417.177,
      "target": 4396.59,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.28,
        "bb_width_pct": 0.467
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T03-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T03:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4410.315,
      "stop": 4417.465,
      "target": 4396.015,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.28,
        "bb_width_pct": 0.467
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T03-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T03:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4410.315,
      "stop": 4414.761,
      "target": 4401.424,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.28,
        "bb_width_pct": 0.467
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T03-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T03:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4410.755,
      "stop": 4415.041,
      "target": 4402.183,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 24.59,
        "bb_width_pct": 0.487
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T03-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T03:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4410.755,
      "stop": 4414.976,
      "target": 4402.312,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 24.59,
        "bb_width_pct": 0.487
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T03-15-00Z_short_rsi_range_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4408.295,
      "stop": 4411.261,
      "target": 4402.364,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 19.24,
        "bb_width_pct": 0.5
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T03-15-00Z_short_vwap_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4408.295,
      "stop": 4413.805,
      "target": 4397.276,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 19.24,
        "bb_width_pct": 0.5
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T03-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4408.295,
      "stop": 4411.001,
      "target": 4402.882,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.24,
        "bb_width_pct": 0.5
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T03-25-00Z_short_rsi_range_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4407.565,
      "stop": 4409.832,
      "target": 4403.031,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 14.57,
        "bb_width_pct": 0.528
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T03-25-00Z_short_vwap_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4407.565,
      "stop": 4412.436,
      "target": 4397.823,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.57,
        "bb_width_pct": 0.528
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T03-30-00Z_short_vwap_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4404.175,
      "stop": 4407.268,
      "target": 4397.99,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.53,
        "bb_width_pct": 0.52
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T03-45-00Z_short_vwap_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T03:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4406.965,
      "stop": 4411.119,
      "target": 4398.656,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.37,
        "bb_width_pct": 0.462
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T03-50-00Z_short_vwap_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T03:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4406.73,
      "stop": 4410.672,
      "target": 4398.845,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.97,
        "bb_width_pct": 0.405
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T04-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T04:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4402.74,
      "stop": 4401.06,
      "target": 4406.1,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.15,
        "bb_width_pct": 0.322
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T04-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T04:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4402.74,
      "stop": 4401.818,
      "target": 4404.583,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.15,
        "bb_width_pct": 0.322
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T04-25-00Z_short_vwap_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T04:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4405.01,
      "stop": 4407.856,
      "target": 4399.318,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 9.58,
        "bb_width_pct": 0.323
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T05-05-00Z_short_vwap_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4405.075,
      "stop": 4407.547,
      "target": 4400.131,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.61,
        "bb_width_pct": 0.234
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T05-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4408.865,
      "stop": 4410.592,
      "target": 4405.41,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 23.41,
        "bb_width_pct": 0.244
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T05-20-00Z_short_rsi_range_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4408.3,
      "stop": 4409.99,
      "target": 4404.92,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 14.08,
        "bb_width_pct": 0.234
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T05-20-00Z_short_vwap_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4408.3,
      "stop": 4412.2,
      "target": 4400.5,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.08,
        "bb_width_pct": 0.234
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T05-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4409.45,
      "stop": 4411.504,
      "target": 4405.342,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.87,
        "bb_width_pct": 0.289
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T05-30-00Z_short_vwap_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4409.45,
      "stop": 4413.769,
      "target": 4400.812,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.87,
        "bb_width_pct": 0.289
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T05-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4409.45,
      "stop": 4412.47,
      "target": 4403.41,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.87,
        "bb_width_pct": 0.289
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T05-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4409.45,
      "stop": 4410.851,
      "target": 4406.647,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.87,
        "bb_width_pct": 0.289
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T05-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4409.485,
      "stop": 4410.769,
      "target": 4406.918,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.17,
        "bb_width_pct": 0.278
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T05-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T05:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4412.46,
      "stop": 4415.166,
      "target": 4407.047,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.16,
        "bb_width_pct": 0.252
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T06-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4414.13,
      "stop": 4417.215,
      "target": 4407.96,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.15,
        "bb_width_pct": 0.285
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T06-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4414.815,
      "stop": 4418.235,
      "target": 4407.976,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.77,
        "bb_width_pct": 0.315
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T06-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4414.815,
      "stop": 4417.916,
      "target": 4408.613,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.77,
        "bb_width_pct": 0.315
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T06-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T06:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4419.62,
      "stop": 4424.437,
      "target": 4409.985,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.1,
        "bb_width_pct": 0.457
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T06-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4420.81,
      "stop": 4425.374,
      "target": 4411.683,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.64,
        "bb_width_pct": 0.544
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T06-30-00Z_short_vwap_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4420.81,
      "stop": 4429.801,
      "target": 4402.828,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.64,
        "bb_width_pct": 0.544
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T06-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4420.81,
      "stop": 4425.29,
      "target": 4411.85,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.64,
        "bb_width_pct": 0.544
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T06-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4420.81,
      "stop": 4424.555,
      "target": 4413.321,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.64,
        "bb_width_pct": 0.544
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T06-40-00Z_short_vwap_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T06:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4420.125,
      "stop": 4428.537,
      "target": 4403.301,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.41,
        "bb_width_pct": 0.576
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T06-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T06:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4420.125,
      "stop": 4424.245,
      "target": 4411.885,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.41,
        "bb_width_pct": 0.576
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T06-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T06:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4420.125,
      "stop": 4422.72,
      "target": 4414.935,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.41,
        "bb_width_pct": 0.576
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T06-50-00Z_short_rsi_range_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T06:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4419.56,
      "stop": 4421.937,
      "target": 4414.807,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 18.41,
        "bb_width_pct": 0.565
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T06-50-00Z_short_vwap_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T06:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4419.56,
      "stop": 4427.482,
      "target": 4403.715,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 18.41,
        "bb_width_pct": 0.565
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T07-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T07:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4419.51,
      "stop": 4423.323,
      "target": 4411.885,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.8,
        "bb_width_pct": 0.555
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T07-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T07:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4421.02,
      "stop": 4425.219,
      "target": 4412.623,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.92,
        "bb_width_pct": 0.417
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T07-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T07:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4421.94,
      "stop": 4426.021,
      "target": 4413.778,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.52,
        "bb_width_pct": 0.157
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T08-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4421.24,
      "stop": 4424.971,
      "target": 4413.778,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.21,
        "bb_width_pct": 0.132
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T08-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T08:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4424.335,
      "stop": 4425.719,
      "target": 4421.568,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.28,
        "bb_width_pct": 0.135
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T08-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T08:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4426.635,
      "stop": 4428.77,
      "target": 4422.365,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.24,
        "bb_width_pct": 0.226
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T08-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T08:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4426.635,
      "stop": 4432.166,
      "target": 4415.573,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.24,
        "bb_width_pct": 0.226
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T08-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T08:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4426.635,
      "stop": 4428.761,
      "target": 4422.383,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.24,
        "bb_width_pct": 0.226
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T08-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4425.25,
      "stop": 4426.55,
      "target": 4422.649,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.22,
        "bb_width_pct": 0.225
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T08-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4425.25,
      "stop": 4430.076,
      "target": 4415.597,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.22,
        "bb_width_pct": 0.225
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T08-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T08:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4431.345,
      "stop": 4434.758,
      "target": 4424.52,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.25,
        "bb_width_pct": 0.331
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T08-50-00Z_short_vwap_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T08:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4431.345,
      "stop": 4435.095,
      "target": 4423.846,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 18.25,
        "bb_width_pct": 0.331
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T08-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T08:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4431.345,
      "stop": 4438.546,
      "target": 4416.943,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.25,
        "bb_width_pct": 0.331
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T08-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T08:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4430.25,
      "stop": 4432.93,
      "target": 4424.89,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.82,
        "bb_width_pct": 0.348
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T08-55-00Z_short_rsi_range_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T08:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4430.25,
      "stop": 4432.93,
      "target": 4424.89,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 18.82,
        "bb_width_pct": 0.348
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T08-55-00Z_short_vwap_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T08:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4430.25,
      "stop": 4433.303,
      "target": 4424.145,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 18.82,
        "bb_width_pct": 0.348
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T08-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T08:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4430.25,
      "stop": 4436.611,
      "target": 4417.528,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.82,
        "bb_width_pct": 0.348
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T08-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T08:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4430.25,
      "stop": 4432.565,
      "target": 4425.62,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.82,
        "bb_width_pct": 0.348
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T09-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4428.145,
      "stop": 4433.454,
      "target": 4417.528,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.17,
        "bb_width_pct": 0.344
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T09-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4428.145,
      "stop": 4429.287,
      "target": 4425.861,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.17,
        "bb_width_pct": 0.344
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T09-25-00Z_short_vwap_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T09:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4432.75,
      "stop": 4436.402,
      "target": 4425.446,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.07,
        "bb_width_pct": 0.369
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T09-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T09:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4432.75,
      "stop": 4437.304,
      "target": 4423.642,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.07,
        "bb_width_pct": 0.369
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T09-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T09:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4432.75,
      "stop": 4435.08,
      "target": 4428.089,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.07,
        "bb_width_pct": 0.369
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T09-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4433.065,
      "stop": 4435.316,
      "target": 4428.563,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.28,
        "bb_width_pct": 0.357
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T09-35-00Z_short_vwap_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4432.715,
      "stop": 4436.128,
      "target": 4425.889,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 17.11,
        "bb_width_pct": 0.342
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T09-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4432.715,
      "stop": 4436.337,
      "target": 4425.47,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.11,
        "bb_width_pct": 0.342
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T09-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T09:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4434.995,
      "stop": 4437.377,
      "target": 4430.23,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.16,
        "bb_width_pct": 0.31
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T09-45-00Z_short_vwap_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T09:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4434.995,
      "stop": 4439.25,
      "target": 4426.485,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.16,
        "bb_width_pct": 0.31
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T09-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T09:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4434.995,
      "stop": 4438.831,
      "target": 4427.323,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.16,
        "bb_width_pct": 0.31
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T09-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T09:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4434.995,
      "stop": 4437.353,
      "target": 4430.279,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.16,
        "bb_width_pct": 0.31
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T09-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T09:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4435.035,
      "stop": 4437.17,
      "target": 4430.765,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.32,
        "bb_width_pct": 0.299
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T09-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T09:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4435.035,
      "stop": 4437.186,
      "target": 4430.732,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.32,
        "bb_width_pct": 0.299
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T09-55-00Z_short_vwap_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T09:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4434.865,
      "stop": 4438.806,
      "target": 4426.982,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.82,
        "bb_width_pct": 0.301
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T09-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T09:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4434.865,
      "stop": 4438.495,
      "target": 4427.605,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.82,
        "bb_width_pct": 0.301
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T09-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T09:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4434.865,
      "stop": 4436.735,
      "target": 4431.126,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.82,
        "bb_width_pct": 0.301
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T10-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T10:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4432.125,
      "stop": 4434.385,
      "target": 4427.605,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.08,
        "bb_width_pct": 0.295
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T10-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T10:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4433.175,
      "stop": 4435.919,
      "target": 4427.688,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.51,
        "bb_width_pct": 0.212
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T10-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T10:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4433.175,
      "stop": 4433.795,
      "target": 4431.934,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.51,
        "bb_width_pct": 0.212
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T10-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T10:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4436.615,
      "stop": 4438.732,
      "target": 4432.38,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.77,
        "bb_width_pct": 0.224
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T10-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T10:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4435.895,
      "stop": 4437.286,
      "target": 4433.114,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.15,
        "bb_width_pct": 0.225
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T10-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T10:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4435.895,
      "stop": 4439.616,
      "target": 4428.452,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.15,
        "bb_width_pct": 0.225
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T10-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T10:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4435.895,
      "stop": 4437.485,
      "target": 4432.715,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.15,
        "bb_width_pct": 0.225
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T10-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T10:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4435.155,
      "stop": 4438.266,
      "target": 4428.932,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.35,
        "bb_width_pct": 0.203
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T10-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T10:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4436.48,
      "stop": 4437.431,
      "target": 4434.578,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.32,
        "bb_width_pct": 0.17
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T10-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T10:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4436.48,
      "stop": 4439.879,
      "target": 4429.683,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.32,
        "bb_width_pct": 0.17
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T11-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4432.415,
      "stop": 4433.781,
      "target": 4429.683,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.27,
        "bb_width_pct": 0.175
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T11-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T11:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4431.34,
      "stop": 4429.792,
      "target": 4434.436,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.69,
        "bb_width_pct": 0.183
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T11-20-00Z_long_vwap_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T11:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4427.925,
      "stop": 4425.021,
      "target": 4433.732,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.56,
        "bb_width_pct": 0.244
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T11-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T11:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4427.925,
      "stop": 4425.603,
      "target": 4432.569,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.56,
        "bb_width_pct": 0.244
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T11-30-00Z_long_rsi_range_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T11:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4419.97,
      "stop": 4413.923,
      "target": 4432.064,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.83,
        "bb_width_pct": 0.473
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T11-30-00Z_long_vwap_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T11:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4419.97,
      "stop": 4413.875,
      "target": 4432.161,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.83,
        "bb_width_pct": 0.473
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T11-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T11:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4419.97,
      "stop": 4417.24,
      "target": 4425.43,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 18.83,
        "bb_width_pct": 0.473
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T11-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T11:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4421.68,
      "stop": 4416.818,
      "target": 4431.404,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.21,
        "bb_width_pct": 0.511
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T11-35-00Z_long_vwap_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T11:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4421.68,
      "stop": 4416.718,
      "target": 4431.604,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.21,
        "bb_width_pct": 0.511
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T11-40-00Z_long_vwap_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T11:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4424.125,
      "stop": 4420.582,
      "target": 4431.212,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.01,
        "bb_width_pct": 0.531
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T11-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T11:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4419.265,
      "stop": 4415.433,
      "target": 4426.929,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.44,
        "bb_width_pct": 0.607
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T12-00-00Z_long_rsi_range_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4419.295,
      "stop": 4414.61,
      "target": 4428.665,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.57,
        "bb_width_pct": 0.63
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T12-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T12:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4418.95,
      "stop": 4415.669,
      "target": 4425.511,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.48,
        "bb_width_pct": 0.65
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T12-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T12:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4417.96,
      "stop": 4414.544,
      "target": 4424.792,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.0,
        "bb_width_pct": 0.653
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T12-15-00Z_long_rsi_range_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T12:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4418.03,
      "stop": 4413.981,
      "target": 4426.128,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.91,
        "bb_width_pct": 0.649
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T12-25-00Z_long_rsi_range_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T12:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4415.66,
      "stop": 4411.473,
      "target": 4424.034,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.16,
        "bb_width_pct": 0.638
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T12-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T12:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4415.66,
      "stop": 4410.775,
      "target": 4425.43,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 18.16,
        "bb_width_pct": 0.638
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T12-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T12:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4415.66,
      "stop": 4412.24,
      "target": 4422.5,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.16,
        "bb_width_pct": 0.638
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T12-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T12:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4415.545,
      "stop": 4412.399,
      "target": 4421.838,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.47,
        "bb_width_pct": 0.582
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T12-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T12:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4410.125,
      "stop": 4404.834,
      "target": 4420.707,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.13,
        "bb_width_pct": 0.527
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T12-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T12:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4410.51,
      "stop": 4406.583,
      "target": 4418.364,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.11,
        "bb_width_pct": 0.49
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T12-50-00Z_long_rsi_range_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T12:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4410.51,
      "stop": 4406.583,
      "target": 4418.364,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.11,
        "bb_width_pct": 0.49
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T12-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T12:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4410.51,
      "stop": 4404.18,
      "target": 4423.17,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 26.11,
        "bb_width_pct": 0.49
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T13-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4415.325,
      "stop": 4411.594,
      "target": 4422.788,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.43,
        "bb_width_pct": 0.427
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T13-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4415.325,
      "stop": 4414.423,
      "target": 4417.129,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.43,
        "bb_width_pct": 0.427
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T13-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T13:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4409.175,
      "stop": 4405.577,
      "target": 4416.371,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.52,
        "bb_width_pct": 0.453
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T13-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T13:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4409.295,
      "stop": 4406.094,
      "target": 4415.697,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.46,
        "bb_width_pct": 0.468
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T13-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T13:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4412.1,
      "stop": 4406.756,
      "target": 4422.788,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.98,
        "bb_width_pct": 0.457
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T13-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T13:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4406.08,
      "stop": 4401.86,
      "target": 4414.52,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.76,
        "bb_width_pct": 0.455
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T13-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T13:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4406.08,
      "stop": 4401.884,
      "target": 4414.471,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.76,
        "bb_width_pct": 0.455
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T13-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4409.21,
      "stop": 4407.495,
      "target": 4412.641,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.58,
        "bb_width_pct": 0.46
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T13-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4409.21,
      "stop": 4404.529,
      "target": 4418.573,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.58,
        "bb_width_pct": 0.46
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T13-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4409.21,
      "stop": 4407.465,
      "target": 4412.699,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.58,
        "bb_width_pct": 0.46
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T14-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T14:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4422.14,
      "stop": 4426.27,
      "target": 4413.881,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.15,
        "bb_width_pct": 0.641
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T14-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T14:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4422.14,
      "stop": 4425.668,
      "target": 4415.085,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.15,
        "bb_width_pct": 0.641
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T14-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T14:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4422.14,
      "stop": 4424.427,
      "target": 4417.567,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.15,
        "bb_width_pct": 0.641
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T14-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T14:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4436.28,
      "stop": 4443.892,
      "target": 4421.055,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 24.46,
        "bb_width_pct": 0.944
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T14-55-00Z_short_rsi_range_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T14:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4436.28,
      "stop": 4443.892,
      "target": 4421.055,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 24.46,
        "bb_width_pct": 0.944
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T14-55-00Z_short_vwap_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T14:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4436.28,
      "stop": 4445.704,
      "target": 4417.431,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 24.46,
        "bb_width_pct": 0.944
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T14-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T14:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4436.28,
      "stop": 4445.279,
      "target": 4418.282,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 24.46,
        "bb_width_pct": 0.944
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T15-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T15:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4449.35,
      "stop": 4459.982,
      "target": 4428.087,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.9,
        "bb_width_pct": 1.148
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T15-10-00Z_short_rsi_range_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T15:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4449.35,
      "stop": 4459.982,
      "target": 4428.087,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 22.9,
        "bb_width_pct": 1.148
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T15-10-00Z_short_vwap_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T15:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4449.35,
      "stop": 4464.058,
      "target": 4419.935,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 22.9,
        "bb_width_pct": 1.148
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T15-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T15:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4449.35,
      "stop": 4460.961,
      "target": 4426.128,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 22.9,
        "bb_width_pct": 1.148
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T15-20-00Z_short_rsi_range_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T15:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4448.54,
      "stop": 4456.849,
      "target": 4431.922,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 18.7,
        "bb_width_pct": 1.166
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T15-20-00Z_short_vwap_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T15:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4448.54,
      "stop": 4462.114,
      "target": 4421.393,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 18.7,
        "bb_width_pct": 1.166
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T15-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T15:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4448.54,
      "stop": 4459.746,
      "target": 4426.128,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.7,
        "bb_width_pct": 1.166
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T15-25-00Z_short_vwap_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T15:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4444.6,
      "stop": 4455.915,
      "target": 4421.97,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 19.29,
        "bb_width_pct": 1.131
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T15-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T15:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4444.6,
      "stop": 4453.836,
      "target": 4426.128,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 19.29,
        "bb_width_pct": 1.131
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T15-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T15:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4444.6,
      "stop": 4448.886,
      "target": 4436.027,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.29,
        "bb_width_pct": 1.131
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T15-30-00Z_short_rsi_range_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T15:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4442.955,
      "stop": 4446.969,
      "target": 4434.927,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 19.22,
        "bb_width_pct": 1.062
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T15-30-00Z_short_vwap_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T15:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4442.955,
      "stop": 4453.204,
      "target": 4422.458,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 19.22,
        "bb_width_pct": 1.062
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T15-35-00Z_short_vwap_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T15:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4440.105,
      "stop": 4448.729,
      "target": 4422.858,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.96,
        "bb_width_pct": 0.998
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T15-45-00Z_short_vwap_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T15:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4443.4,
      "stop": 4453.198,
      "target": 4423.805,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.67,
        "bb_width_pct": 0.944
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T15-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T15:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4443.4,
      "stop": 4452.036,
      "target": 4426.128,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.67,
        "bb_width_pct": 0.944
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T16-00-00Z_short_vwap_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4448.285,
      "stop": 4459.828,
      "target": 4425.199,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.18,
        "bb_width_pct": 0.83
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T16-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4448.285,
      "stop": 4459.364,
      "target": 4426.128,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.18,
        "bb_width_pct": 0.83
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T16-05-00Z_short_vwap_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T16:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4441.715,
      "stop": 4449.796,
      "target": 4425.553,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 9.35,
        "bb_width_pct": 0.715
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T16-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T16:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4441.715,
      "stop": 4449.509,
      "target": 4426.128,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.35,
        "bb_width_pct": 0.715
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T16-20-00Z_short_vwap_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T16:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4443.69,
      "stop": 4452.198,
      "target": 4426.673,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.17,
        "bb_width_pct": 0.426
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T16-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T16:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4443.69,
      "stop": 4452.471,
      "target": 4426.128,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.17,
        "bb_width_pct": 0.426
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T16-25-00Z_short_vwap_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T16:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4440.79,
      "stop": 4447.71,
      "target": 4426.95,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.57,
        "bb_width_pct": 0.399
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T16-35-00Z_short_vwap_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4444.445,
      "stop": 4452.884,
      "target": 4427.566,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 1.72,
        "bb_width_pct": 0.331
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T16-55-00Z_short_vwap_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4441.93,
      "stop": 4448.433,
      "target": 4428.924,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.78,
        "bb_width_pct": 0.292
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T16-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4441.93,
      "stop": 4446.251,
      "target": 4433.288,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.78,
        "bb_width_pct": 0.292
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T17-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T17:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4439.435,
      "stop": 4436.932,
      "target": 4444.442,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.34,
        "bb_width_pct": 0.379
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T17-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T17:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4439.435,
      "stop": 4437.739,
      "target": 4442.827,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.34,
        "bb_width_pct": 0.379
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T19-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T19:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4448.055,
      "stop": 4449.702,
      "target": 4444.76,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.5,
        "bb_width_pct": 0.191
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T19-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T19:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4440.17,
      "stop": 4438.179,
      "target": 4444.152,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.01,
        "bb_width_pct": 0.249
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T19-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T19:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4440.17,
      "stop": 4438.517,
      "target": 4443.475,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.01,
        "bb_width_pct": 0.249
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T19-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T19:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4440.17,
      "stop": 4438.276,
      "target": 4443.957,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.01,
        "bb_width_pct": 0.249
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T19-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T19:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4440.155,
      "stop": 4438.274,
      "target": 4443.917,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.91,
        "bb_width_pct": 0.26
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T20-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T20:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4444.945,
      "stop": 4446.921,
      "target": 4440.993,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.11,
        "bb_width_pct": 0.252
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T21-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T21:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4446.205,
      "stop": 4447.838,
      "target": 4442.938,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.16,
        "bb_width_pct": 0.189
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T21-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T21:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4447.08,
      "stop": 4448.966,
      "target": 4443.309,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.93,
        "bb_width_pct": 0.217
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T21-10-00Z_short_vwap_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T21:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4447.08,
      "stop": 4454.652,
      "target": 4431.937,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.93,
        "bb_width_pct": 0.217
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T21-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T21:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4447.08,
      "stop": 4449.544,
      "target": 4442.153,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.93,
        "bb_width_pct": 0.217
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T21-15-00Z_short_vwap_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T21:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4443.73,
      "stop": 4449.399,
      "target": 4432.392,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.34,
        "bb_width_pct": 0.214
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T21-35-00Z_short_vwap_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T21:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4446.09,
      "stop": 4452.108,
      "target": 4434.053,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.02,
        "bb_width_pct": 0.22
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T21-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T21:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4446.09,
      "stop": 4448.059,
      "target": 4442.153,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.02,
        "bb_width_pct": 0.22
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T21-40-00Z_short_vwap_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T21:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4446.045,
      "stop": 4451.856,
      "target": 4434.424,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.29,
        "bb_width_pct": 0.223
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T21-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T21:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4449.17,
      "stop": 4450.892,
      "target": 4445.727,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.46,
        "bb_width_pct": 0.259
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T23-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4451.475,
      "stop": 4453.935,
      "target": 4446.555,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.36,
        "bb_width_pct": 0.406
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T23-10-00Z_short_vwap_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4451.475,
      "stop": 4458.663,
      "target": 4437.099,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.36,
        "bb_width_pct": 0.406
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T23-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4451.475,
      "stop": 4453.846,
      "target": 4446.733,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.36,
        "bb_width_pct": 0.406
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T23-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4451.475,
      "stop": 4453.205,
      "target": 4448.015,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.36,
        "bb_width_pct": 0.406
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T23-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4452.0,
      "stop": 4453.803,
      "target": 4448.395,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.64,
        "bb_width_pct": 0.404
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T23-20-00Z_short_vwap_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T23:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4450.77,
      "stop": 4457.252,
      "target": 4437.807,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 17.54,
        "bb_width_pct": 0.365
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T23-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T23:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4450.77,
      "stop": 4451.845,
      "target": 4448.621,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.54,
        "bb_width_pct": 0.365
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T23-25-00Z_short_vwap_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T23:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4448.945,
      "stop": 4454.373,
      "target": 4438.089,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.14,
        "bb_width_pct": 0.335
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T23-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4441.38,
      "stop": 4438.017,
      "target": 4448.105,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.19,
        "bb_width_pct": 0.34
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T23-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4444.12,
      "stop": 4441.549,
      "target": 4449.262,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.59,
        "bb_width_pct": 0.343
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T23-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T23:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4440.675,
      "stop": 4437.459,
      "target": 4447.106,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.73,
        "bb_width_pct": 0.422
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T23-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T23:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4440.675,
      "stop": 4436.381,
      "target": 4449.262,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 13.73,
        "bb_width_pct": 0.422
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-05T23-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T23:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4440.675,
      "stop": 4438.279,
      "target": 4445.467,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.73,
        "bb_width_pct": 0.422
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T00-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4440.31,
      "stop": 4437.009,
      "target": 4446.913,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.12,
        "bb_width_pct": 0.439
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T00-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4440.31,
      "stop": 4437.977,
      "target": 4444.976,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.12,
        "bb_width_pct": 0.439
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T00-10-00Z_long_rsi_range_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T00:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4440.395,
      "stop": 4437.481,
      "target": 4446.222,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.09,
        "bb_width_pct": 0.481
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T00-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T00:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4440.395,
      "stop": 4436.415,
      "target": 4448.355,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 25.09,
        "bb_width_pct": 0.481
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T00-15-00Z_long_rsi_range_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T00:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4441.62,
      "stop": 4439.431,
      "target": 4445.999,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.63,
        "bb_width_pct": 0.49
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T00-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T00:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4441.62,
      "stop": 4438.253,
      "target": 4448.355,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.63,
        "bb_width_pct": 0.49
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T00-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T00:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4436.835,
      "stop": 4433.689,
      "target": 4443.127,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.13,
        "bb_width_pct": 0.526
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T00-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T00:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4436.835,
      "stop": 4431.757,
      "target": 4446.99,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.13,
        "bb_width_pct": 0.526
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T00-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T00:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4436.835,
      "stop": 4434.563,
      "target": 4441.38,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.13,
        "bb_width_pct": 0.526
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T01-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4434.46,
      "stop": 4431.837,
      "target": 4439.706,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.54,
        "bb_width_pct": 0.311
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T01-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4434.46,
      "stop": 4431.915,
      "target": 4439.551,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.54,
        "bb_width_pct": 0.311
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T01-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T01:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4436.61,
      "stop": 4435.37,
      "target": 4439.089,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.49,
        "bb_width_pct": 0.251
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T01-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T01:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4436.61,
      "stop": 4432.935,
      "target": 4443.96,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.49,
        "bb_width_pct": 0.251
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T01-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T01:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4440.795,
      "stop": 4441.715,
      "target": 4438.955,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.58,
        "bb_width_pct": 0.235
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T01-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4436.575,
      "stop": 4435.804,
      "target": 4438.117,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.86,
        "bb_width_pct": 0.226
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T01-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T01:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4439.475,
      "stop": 4440.182,
      "target": 4438.061,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.43,
        "bb_width_pct": 0.222
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T01-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T01:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4447.63,
      "stop": 4451.489,
      "target": 4439.912,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.06,
        "bb_width_pct": 0.293
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T02-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T02:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4457.995,
      "stop": 4465.617,
      "target": 4442.752,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.5,
        "bb_width_pct": 0.742
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T02-15-00Z_short_rsi_range_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T02:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4457.995,
      "stop": 4465.617,
      "target": 4442.752,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 21.5,
        "bb_width_pct": 0.742
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T02-15-00Z_short_vwap_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T02:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4457.995,
      "stop": 4466.242,
      "target": 4441.501,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 21.5,
        "bb_width_pct": 0.742
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T02-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T02:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4457.995,
      "stop": 4464.952,
      "target": 4444.08,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 21.5,
        "bb_width_pct": 0.742
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T02-35-00Z_short_rsi_range_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T02:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4452.5,
      "stop": 4455.234,
      "target": 4447.033,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 22.69,
        "bb_width_pct": 0.852
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T02-35-00Z_short_vwap_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T02:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4452.5,
      "stop": 4456.957,
      "target": 4443.586,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 22.69,
        "bb_width_pct": 0.852
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T02-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T02:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4452.5,
      "stop": 4456.495,
      "target": 4444.51,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 22.69,
        "bb_width_pct": 0.852
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T02-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T02:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4452.5,
      "stop": 4453.726,
      "target": 4450.047,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.69,
        "bb_width_pct": 0.852
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T02-50-00Z_short_rsi_range_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T02:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4454.8,
      "stop": 4457.395,
      "target": 4449.61,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 20.1,
        "bb_width_pct": 0.793
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T02-50-00Z_short_vwap_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T02:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4454.8,
      "stop": 4459.951,
      "target": 4444.498,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 20.1,
        "bb_width_pct": 0.793
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T02-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T02:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4454.8,
      "stop": 4459.945,
      "target": 4444.51,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 20.1,
        "bb_width_pct": 0.793
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T03-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4463.745,
      "stop": 4466.791,
      "target": 4457.654,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.79,
        "bb_width_pct": 0.434
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T03-25-00Z_short_vwap_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4463.745,
      "stop": 4471.998,
      "target": 4447.239,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.79,
        "bb_width_pct": 0.434
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T03-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4463.745,
      "stop": 4471.669,
      "target": 4447.898,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.79,
        "bb_width_pct": 0.434
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T03-40-00Z_short_vwap_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T03:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4466.345,
      "stop": 4475.279,
      "target": 4448.476,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 22.45,
        "bb_width_pct": 0.407
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T03-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T03:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4466.345,
      "stop": 4475.569,
      "target": 4447.898,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 22.45,
        "bb_width_pct": 0.407
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T03-45-00Z_short_rsi_range_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T03:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4466.02,
      "stop": 4468.819,
      "target": 4460.422,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 21.6,
        "bb_width_pct": 0.42
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T03-45-00Z_short_vwap_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T03:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4466.02,
      "stop": 4474.595,
      "target": 4448.87,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 21.6,
        "bb_width_pct": 0.42
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T03-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T03:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4466.02,
      "stop": 4475.081,
      "target": 4447.898,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 21.6,
        "bb_width_pct": 0.42
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T04-00-00Z_short_rsi_range_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T04:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4466.565,
      "stop": 4469.047,
      "target": 4461.601,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 22.53,
        "bb_width_pct": 0.464
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T04-00-00Z_short_vwap_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T04:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4466.565,
      "stop": 4474.865,
      "target": 4449.965,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 22.53,
        "bb_width_pct": 0.464
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T04-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T04:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4466.565,
      "stop": 4475.871,
      "target": 4447.953,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 22.53,
        "bb_width_pct": 0.464
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T04-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T04:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4466.565,
      "stop": 4468.98,
      "target": 4461.736,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.53,
        "bb_width_pct": 0.464
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T04-05-00Z_short_rsi_range_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4465.54,
      "stop": 4467.381,
      "target": 4461.858,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 18.16,
        "bb_width_pct": 0.469
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T04-05-00Z_short_vwap_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4465.54,
      "stop": 4473.171,
      "target": 4450.278,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 18.16,
        "bb_width_pct": 0.469
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T04-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4465.54,
      "stop": 4474.334,
      "target": 4447.953,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.16,
        "bb_width_pct": 0.469
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T04-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T04:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4465.735,
      "stop": 4467.38,
      "target": 4462.444,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.12,
        "bb_width_pct": 0.47
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T04-20-00Z_short_vwap_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4465.15,
      "stop": 4472.141,
      "target": 4451.167,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.01,
        "bb_width_pct": 0.389
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T04-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4465.15,
      "stop": 4472.514,
      "target": 4450.422,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.01,
        "bb_width_pct": 0.389
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T04-25-00Z_short_vwap_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T04:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4464.875,
      "stop": 4471.604,
      "target": 4451.417,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.1,
        "bb_width_pct": 0.358
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T04-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T04:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4464.875,
      "stop": 4471.923,
      "target": 4450.78,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.1,
        "bb_width_pct": 0.358
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T04-40-00Z_short_vwap_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4462.9,
      "stop": 4468.281,
      "target": 4452.138,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.55,
        "bb_width_pct": 0.18
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T04-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4462.9,
      "stop": 4468.96,
      "target": 4450.78,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.55,
        "bb_width_pct": 0.18
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T04-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T04:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4467.57,
      "stop": 4468.344,
      "target": 4466.022,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.03,
        "bb_width_pct": 0.113
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T04-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T04:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4467.57,
      "stop": 4469.095,
      "target": 4464.521,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.03,
        "bb_width_pct": 0.113
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T05-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4467.845,
      "stop": 4468.619,
      "target": 4466.297,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.6,
        "bb_width_pct": 0.119
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T05-05-00Z_short_vwap_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4467.845,
      "stop": 4475.085,
      "target": 4453.364,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.6,
        "bb_width_pct": 0.119
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T05-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4467.845,
      "stop": 4474.339,
      "target": 4454.858,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.6,
        "bb_width_pct": 0.119
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T05-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4467.845,
      "stop": 4469.149,
      "target": 4465.236,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.6,
        "bb_width_pct": 0.119
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T05-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4467.315,
      "stop": 4467.76,
      "target": 4466.426,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.04,
        "bb_width_pct": 0.116
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T05-10-00Z_short_vwap_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4467.315,
      "stop": 4474.174,
      "target": 4453.596,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.04,
        "bb_width_pct": 0.116
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T05-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4467.315,
      "stop": 4471.716,
      "target": 4458.512,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.04,
        "bb_width_pct": 0.116
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T05-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4467.315,
      "stop": 4468.255,
      "target": 4465.434,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.04,
        "bb_width_pct": 0.116
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T05-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4468.575,
      "stop": 4469.62,
      "target": 4466.484,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.79,
        "bb_width_pct": 0.123
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T05-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4468.575,
      "stop": 4469.996,
      "target": 4465.734,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.79,
        "bb_width_pct": 0.123
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T05-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4468.05,
      "stop": 4468.79,
      "target": 4466.569,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.3,
        "bb_width_pct": 0.126
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T05-20-00Z_short_vwap_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4468.05,
      "stop": 4475.048,
      "target": 4454.053,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.3,
        "bb_width_pct": 0.126
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T05-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4468.05,
      "stop": 4472.396,
      "target": 4459.358,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.3,
        "bb_width_pct": 0.126
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T05-35-00Z_short_vwap_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4463.615,
      "stop": 4468.062,
      "target": 4454.72,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.53,
        "bb_width_pct": 0.179
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T05-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4463.615,
      "stop": 4464.664,
      "target": 4461.517,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.53,
        "bb_width_pct": 0.179
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T05-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4463.315,
      "stop": 4461.662,
      "target": 4466.621,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.29,
        "bb_width_pct": 0.191
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T05-40-00Z_short_vwap_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4463.315,
      "stop": 4467.546,
      "target": 4454.852,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.29,
        "bb_width_pct": 0.191
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T05-45-00Z_short_vwap_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T05:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4459.81,
      "stop": 4462.246,
      "target": 4454.938,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.97,
        "bb_width_pct": 0.232
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T06-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4455.545,
      "stop": 4450.967,
      "target": 4464.701,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.32,
        "bb_width_pct": 0.445
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T06-00-00Z_long_rsi_range_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4455.545,
      "stop": 4450.967,
      "target": 4464.701,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.32,
        "bb_width_pct": 0.445
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T06-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4455.545,
      "stop": 4452.374,
      "target": 4461.888,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 20.32,
        "bb_width_pct": 0.445
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T06-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4455.945,
      "stop": 4451.79,
      "target": 4464.254,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.25,
        "bb_width_pct": 0.477
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T06-05-00Z_long_rsi_range_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4455.945,
      "stop": 4451.79,
      "target": 4464.254,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.25,
        "bb_width_pct": 0.477
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T06-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4455.945,
      "stop": 4452.974,
      "target": 4461.888,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 21.25,
        "bb_width_pct": 0.477
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T06-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4455.945,
      "stop": 4452.862,
      "target": 4462.112,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.25,
        "bb_width_pct": 0.477
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T06-10-00Z_long_rsi_range_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T06:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4457.045,
      "stop": 4453.664,
      "target": 4463.807,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.31,
        "bb_width_pct": 0.495
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T06-35-00Z_short_vwap_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4464.39,
      "stop": 4468.927,
      "target": 4455.316,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.01,
        "bb_width_pct": 0.497
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T06-40-00Z_short_vwap_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T06:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4463.665,
      "stop": 4467.79,
      "target": 4455.415,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.07,
        "bb_width_pct": 0.48
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T06-45-00Z_short_vwap_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T06:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4463.455,
      "stop": 4467.43,
      "target": 4455.505,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.23,
        "bb_width_pct": 0.467
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T07-00-00Z_short_rsi_range_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T07:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4465.255,
      "stop": 4467.001,
      "target": 4461.762,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 23.36,
        "bb_width_pct": 0.434
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T07-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T07:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4469.215,
      "stop": 4472.073,
      "target": 4463.498,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 25.3,
        "bb_width_pct": 0.429
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T07-10-00Z_short_rsi_range_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T07:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4468.55,
      "stop": 4472.031,
      "target": 4461.588,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 24.51,
        "bb_width_pct": 0.407
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T07-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T07:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4468.55,
      "stop": 4470.835,
      "target": 4463.979,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 24.51,
        "bb_width_pct": 0.407
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T07-15-00Z_short_rsi_range_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T07:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4467.5,
      "stop": 4470.359,
      "target": 4461.782,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 21.31,
        "bb_width_pct": 0.422
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T07-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T07:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4467.5,
      "stop": 4469.093,
      "target": 4464.315,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.31,
        "bb_width_pct": 0.422
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T07-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T07:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4459.47,
      "stop": 4457.014,
      "target": 4464.383,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.8,
        "bb_width_pct": 0.239
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T07-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T07:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4459.47,
      "stop": 4457.281,
      "target": 4463.847,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.8,
        "bb_width_pct": 0.239
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T08-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4461.29,
      "stop": 4459.666,
      "target": 4464.537,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.95,
        "bb_width_pct": 0.213
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T08-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4461.29,
      "stop": 4460.133,
      "target": 4463.604,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.95,
        "bb_width_pct": 0.213
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T08-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T08:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4469.37,
      "stop": 4471.617,
      "target": 4464.876,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.68,
        "bb_width_pct": 0.231
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T08-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T08:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4469.37,
      "stop": 4471.934,
      "target": 4464.242,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.68,
        "bb_width_pct": 0.231
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T08-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T08:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4470.895,
      "stop": 4473.719,
      "target": 4465.248,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.55,
        "bb_width_pct": 0.257
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T08-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4467.14,
      "stop": 4468.032,
      "target": 4465.355,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.47,
        "bb_width_pct": 0.26
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T08-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4467.14,
      "stop": 4469.385,
      "target": 4462.65,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.47,
        "bb_width_pct": 0.26
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T08-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4467.14,
      "stop": 4468.164,
      "target": 4465.091,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.47,
        "bb_width_pct": 0.26
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T09-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T09:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4458.3,
      "stop": 4455.146,
      "target": 4464.609,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.3,
        "bb_width_pct": 0.289
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T09-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T09:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4457.295,
      "stop": 4454.026,
      "target": 4463.833,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.5,
        "bb_width_pct": 0.377
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T09-20-00Z_long_vwap_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T09:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4457.295,
      "stop": 4453.66,
      "target": 4464.565,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.5,
        "bb_width_pct": 0.377
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T09-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T09:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4457.295,
      "stop": 4454.007,
      "target": 4463.87,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 13.5,
        "bb_width_pct": 0.377
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T09-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T09:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4457.295,
      "stop": 4454.427,
      "target": 4463.031,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.5,
        "bb_width_pct": 0.377
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T09-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T09:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4456.87,
      "stop": 4453.609,
      "target": 4463.393,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.43,
        "bb_width_pct": 0.398
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T09-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T09:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4456.87,
      "stop": 4454.083,
      "target": 4462.444,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.43,
        "bb_width_pct": 0.398
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T09-30-00Z_long_rsi_range_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4456.895,
      "stop": 4453.752,
      "target": 4463.18,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.87,
        "bb_width_pct": 0.416
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T09-30-00Z_long_vwap_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4456.895,
      "stop": 4453.327,
      "target": 4464.032,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.87,
        "bb_width_pct": 0.416
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T09-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4456.895,
      "stop": 4453.35,
      "target": 4463.985,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 22.87,
        "bb_width_pct": 0.416
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T09-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4456.19,
      "stop": 4453.6,
      "target": 4461.37,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.25,
        "bb_width_pct": 0.432
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T09-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T09:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4456.06,
      "stop": 4453.658,
      "target": 4460.865,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.76,
        "bb_width_pct": 0.452
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T09-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T09:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4449.435,
      "stop": 4443.481,
      "target": 4461.344,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.96,
        "bb_width_pct": 0.591
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T09-50-00Z_long_rsi_range_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T09:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4449.435,
      "stop": 4443.481,
      "target": 4461.344,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.96,
        "bb_width_pct": 0.591
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T09-50-00Z_long_vwap_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T09:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4449.435,
      "stop": 4442.799,
      "target": 4462.708,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.96,
        "bb_width_pct": 0.591
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T09-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T09:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4449.435,
      "stop": 4443.81,
      "target": 4460.685,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 26.96,
        "bb_width_pct": 0.591
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T10-05-00Z_long_rsi_range_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T10:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4450.07,
      "stop": 4446.041,
      "target": 4458.128,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.86,
        "bb_width_pct": 0.66
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T10-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T10:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4450.07,
      "stop": 4445.491,
      "target": 4459.227,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 19.86,
        "bb_width_pct": 0.66
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T10-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T10:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4450.07,
      "stop": 4447.226,
      "target": 4455.757,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.86,
        "bb_width_pct": 0.66
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T10-10-00Z_long_rsi_range_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T10:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4450.365,
      "stop": 4446.903,
      "target": 4457.289,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.38,
        "bb_width_pct": 0.649
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T11-35-00Z_short_rsi_range_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T11:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4459.52,
      "stop": 4463.167,
      "target": 4452.226,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 17.24,
        "bb_width_pct": 0.292
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T11-35-00Z_short_vwap_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T11:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4459.52,
      "stop": 4463.297,
      "target": 4451.966,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 17.24,
        "bb_width_pct": 0.292
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T11-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T11:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4460.595,
      "stop": 4464.094,
      "target": 4453.596,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.71,
        "bb_width_pct": 0.345
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T11-45-00Z_short_vwap_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T11:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4460.595,
      "stop": 4464.502,
      "target": 4452.781,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 21.71,
        "bb_width_pct": 0.345
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T12-00-00Z_short_rsi_range_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4462.005,
      "stop": 4465.318,
      "target": 4455.38,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 23.73,
        "bb_width_pct": 0.43
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T12-10-00Z_short_rsi_range_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T12:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4462.37,
      "stop": 4465.263,
      "target": 4456.584,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 25.06,
        "bb_width_pct": 0.45
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T12-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T12:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4462.37,
      "stop": 4464.369,
      "target": 4458.373,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 25.06,
        "bb_width_pct": 0.45
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T12-15-00Z_short_rsi_range_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T12:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4461.73,
      "stop": 4464.108,
      "target": 4456.974,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 24.87,
        "bb_width_pct": 0.457
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T12-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T12:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4461.73,
      "stop": 4464.814,
      "target": 4455.562,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 24.87,
        "bb_width_pct": 0.457
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T12-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T12:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4461.73,
      "stop": 4463.249,
      "target": 4458.692,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 24.87,
        "bb_width_pct": 0.457
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T12-25-00Z_short_rsi_range_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T12:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4464.595,
      "stop": 4467.717,
      "target": 4458.351,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 23.67,
        "bb_width_pct": 0.466
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T12-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T12:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4464.595,
      "stop": 4469.776,
      "target": 4454.233,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 23.67,
        "bb_width_pct": 0.466
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T12-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T12:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4464.595,
      "stop": 4466.983,
      "target": 4459.82,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 23.67,
        "bb_width_pct": 0.466
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T12-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T12:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4460.905,
      "stop": 4464.221,
      "target": 4454.273,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.84,
        "bb_width_pct": 0.447
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T12-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T12:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4460.905,
      "stop": 4461.396,
      "target": 4459.923,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.84,
        "bb_width_pct": 0.447
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T13-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T13:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4465.59,
      "stop": 4467.061,
      "target": 4462.647,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.46,
        "bb_width_pct": 0.153
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T13-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T13:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4465.59,
      "stop": 4467.471,
      "target": 4461.828,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.46,
        "bb_width_pct": 0.153
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T13-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T13:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4459.9,
      "stop": 4460.881,
      "target": 4457.938,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.1,
        "bb_width_pct": 0.193
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T13-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T13:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4459.195,
      "stop": 4457.331,
      "target": 4462.923,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.11,
        "bb_width_pct": 0.201
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T13-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4458.29,
      "stop": 4456.086,
      "target": 4462.697,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.25,
        "bb_width_pct": 0.221
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T13-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4459.035,
      "stop": 4457.316,
      "target": 4462.473,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.92,
        "bb_width_pct": 0.231
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T14-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4467.57,
      "stop": 4469.982,
      "target": 4462.746,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.01,
        "bb_width_pct": 0.289
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T14-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4467.57,
      "stop": 4471.502,
      "target": 4459.705,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.01,
        "bb_width_pct": 0.289
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T14-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4467.57,
      "stop": 4470.055,
      "target": 4462.601,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.01,
        "bb_width_pct": 0.289
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T14-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T14:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4471.405,
      "stop": 4475.388,
      "target": 4463.439,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.77,
        "bb_width_pct": 0.334
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T14-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T14:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4471.8,
      "stop": 4475.884,
      "target": 4463.631,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.43,
        "bb_width_pct": 0.371
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T14-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T14:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4471.8,
      "stop": 4475.582,
      "target": 4464.235,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.43,
        "bb_width_pct": 0.371
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T14-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T14:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4467.265,
      "stop": 4468.908,
      "target": 4463.979,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.14,
        "bb_width_pct": 0.371
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T14-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T14:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4467.265,
      "stop": 4470.525,
      "target": 4460.745,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.14,
        "bb_width_pct": 0.371
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T14-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T14:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4467.265,
      "stop": 4468.636,
      "target": 4464.524,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.14,
        "bb_width_pct": 0.371
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T14-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T14:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4479.515,
      "stop": 4485.837,
      "target": 4466.871,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 24.17,
        "bb_width_pct": 0.592
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T14-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T14:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4482.18,
      "stop": 4489.397,
      "target": 4467.747,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 24.4,
        "bb_width_pct": 0.66
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T14-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T14:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4487.65,
      "stop": 4496.572,
      "target": 4469.806,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 25.6,
        "bb_width_pct": 0.85
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T14-55-00Z_short_rsi_range_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T14:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4487.65,
      "stop": 4496.572,
      "target": 4469.806,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 25.6,
        "bb_width_pct": 0.85
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T14-55-00Z_short_vwap_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T14:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4487.65,
      "stop": 4498.088,
      "target": 4466.773,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 25.6,
        "bb_width_pct": 0.85
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T14-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T14:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4487.65,
      "stop": 4495.942,
      "target": 4471.065,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 25.6,
        "bb_width_pct": 0.85
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T15-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T15:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4484.72,
      "stop": 4491.557,
      "target": 4471.047,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.82,
        "bb_width_pct": 0.871
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T15-00-00Z_short_rsi_range_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T15:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4484.72,
      "stop": 4491.557,
      "target": 4471.047,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 19.82,
        "bb_width_pct": 0.871
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T15-00-00Z_short_vwap_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T15:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4484.72,
      "stop": 4493.428,
      "target": 4467.305,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 19.82,
        "bb_width_pct": 0.871
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T15-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T15:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4484.72,
      "stop": 4491.144,
      "target": 4471.872,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 19.82,
        "bb_width_pct": 0.871
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T15-10-00Z_short_vwap_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T15:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4480.125,
      "stop": 4486.102,
      "target": 4468.172,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 9.52,
        "bb_width_pct": 0.851
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T15-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T15:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4480.125,
      "stop": 4483.895,
      "target": 4472.585,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.52,
        "bb_width_pct": 0.851
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T15-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T15:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4480.125,
      "stop": 4482.214,
      "target": 4475.946,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.52,
        "bb_width_pct": 0.851
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T15-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T15:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4470.875,
      "stop": 4468.663,
      "target": 4475.3,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.18,
        "bb_width_pct": 0.636
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T16-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T16:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4488.17,
      "stop": 4492.169,
      "target": 4480.171,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.6,
        "bb_width_pct": 0.45
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T16-45-00Z_short_rsi_range_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4485.595,
      "stop": 4488.746,
      "target": 4479.293,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 14.13,
        "bb_width_pct": 0.44
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T16-45-00Z_short_vwap_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4485.595,
      "stop": 4492.537,
      "target": 4471.712,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.13,
        "bb_width_pct": 0.44
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T16-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4485.595,
      "stop": 4492.1,
      "target": 4472.585,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.13,
        "bb_width_pct": 0.44
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T16-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4488.38,
      "stop": 4491.603,
      "target": 4481.933,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.54,
        "bb_width_pct": 0.48
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T17-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T17:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4488.895,
      "stop": 4492.044,
      "target": 4482.596,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.11,
        "bb_width_pct": 0.502
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T17-05-00Z_short_rsi_range_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T17:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4488.435,
      "stop": 4492.007,
      "target": 4481.291,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 18.56,
        "bb_width_pct": 0.522
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T17-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T17:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4488.435,
      "stop": 4496.36,
      "target": 4472.585,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.56,
        "bb_width_pct": 0.522
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T17-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T17:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4488.435,
      "stop": 4491.076,
      "target": 4483.152,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.56,
        "bb_width_pct": 0.522
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T17-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T17:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4488.885,
      "stop": 4491.249,
      "target": 4484.158,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.09,
        "bb_width_pct": 0.441
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T17-25-00Z_short_rsi_range_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T17:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4487.305,
      "stop": 4488.837,
      "target": 4484.241,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 10.39,
        "bb_width_pct": 0.418
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T17-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T17:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4487.305,
      "stop": 4492.374,
      "target": 4477.167,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.39,
        "bb_width_pct": 0.418
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T17-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T17:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4486.79,
      "stop": 4491.601,
      "target": 4477.167,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.94,
        "bb_width_pct": 0.386
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T17-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T17:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4484.125,
      "stop": 4487.604,
      "target": 4477.167,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.53,
        "bb_width_pct": 0.348
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T17-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T17:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4489.51,
      "stop": 4490.661,
      "target": 4487.208,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.45,
        "bb_width_pct": 0.19
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T17-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T17:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4489.51,
      "stop": 4495.681,
      "target": 4477.167,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.45,
        "bb_width_pct": 0.19
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T18-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T18:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4488.66,
      "stop": 4494.295,
      "target": 4477.39,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.53,
        "bb_width_pct": 0.159
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T18-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T18:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4491.26,
      "stop": 4492.835,
      "target": 4488.11,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.9,
        "bb_width_pct": 0.148
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T18-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T18:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4490.88,
      "stop": 4492.17,
      "target": 4488.3,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.04,
        "bb_width_pct": 0.156
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T18-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T18:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4490.88,
      "stop": 4497.603,
      "target": 4477.435,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.04,
        "bb_width_pct": 0.156
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T18-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T18:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4490.88,
      "stop": 4492.569,
      "target": 4487.503,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.04,
        "bb_width_pct": 0.156
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T18-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T18:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4488.42,
      "stop": 4488.474,
      "target": 4488.313,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.92,
        "bb_width_pct": 0.156
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T18-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T18:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4488.42,
      "stop": 4493.306,
      "target": 4478.648,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.92,
        "bb_width_pct": 0.156
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T18-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T18:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4488.42,
      "stop": 4488.835,
      "target": 4487.59,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.92,
        "bb_width_pct": 0.156
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T18-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T18:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4485.895,
      "stop": 4484.678,
      "target": 4488.328,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.08,
        "bb_width_pct": 0.154
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T18-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T18:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4485.895,
      "stop": 4489.519,
      "target": 4478.648,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.08,
        "bb_width_pct": 0.154
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T18-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T18:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4485.56,
      "stop": 4484.311,
      "target": 4488.059,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.3,
        "bb_width_pct": 0.18
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T18-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T18:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4487.885,
      "stop": 4492.504,
      "target": 4478.648,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.81,
        "bb_width_pct": 0.182
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T19-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T19:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4483.75,
      "stop": 4481.842,
      "target": 4487.567,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.83,
        "bb_width_pct": 0.199
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T19-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T19:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4482.035,
      "stop": 4479.561,
      "target": 4486.983,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.69,
        "bb_width_pct": 0.244
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T19-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T19:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4482.035,
      "stop": 4480.06,
      "target": 4485.985,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.69,
        "bb_width_pct": 0.244
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T19-20-00Z_long_rsi_range_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T19:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4482.39,
      "stop": 4480.137,
      "target": 4486.896,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.02,
        "bb_width_pct": 0.254
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T19-20-00Z_long_vwap_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T19:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4482.39,
      "stop": 4479.994,
      "target": 4487.183,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.02,
        "bb_width_pct": 0.254
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T19-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T19:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4481.955,
      "stop": 4480.086,
      "target": 4485.694,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.28,
        "bb_width_pct": 0.308
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T19-35-00Z_long_vwap_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T19:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4481.955,
      "stop": 4479.647,
      "target": 4486.572,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.28,
        "bb_width_pct": 0.308
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T19-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T19:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4481.955,
      "stop": 4480.019,
      "target": 4485.827,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.28,
        "bb_width_pct": 0.308
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T19-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T19:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4481.955,
      "stop": 4480.763,
      "target": 4484.338,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.28,
        "bb_width_pct": 0.308
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T19-55-00Z_long_rsi_range_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T19:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4481.505,
      "stop": 4480.239,
      "target": 4484.037,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.63,
        "bb_width_pct": 0.257
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T19-55-00Z_long_vwap_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T19:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4481.505,
      "stop": 4479.231,
      "target": 4486.054,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.63,
        "bb_width_pct": 0.257
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T20-45-00Z_short_rsi_range_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T20:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4489.875,
      "stop": 4492.813,
      "target": 4483.999,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 21.81,
        "bb_width_pct": 0.26
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T20-45-00Z_short_vwap_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T20:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4489.875,
      "stop": 4491.775,
      "target": 4486.074,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 21.81,
        "bb_width_pct": 0.26
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T21-10-00Z_short_rsi_range_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T21:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4491.94,
      "stop": 4494.505,
      "target": 4486.811,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 20.87,
        "bb_width_pct": 0.366
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T21-10-00Z_short_vwap_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T21:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4491.94,
      "stop": 4508.911,
      "target": 4457.998,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 20.87,
        "bb_width_pct": 0.366
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T21-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T21:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4491.94,
      "stop": 4493.715,
      "target": 4488.389,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.87,
        "bb_width_pct": 0.366
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T21-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T21:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4492.565,
      "stop": 4494.454,
      "target": 4488.787,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.83,
        "bb_width_pct": 0.369
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T21-50-00Z_short_vwap_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T21:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4495.025,
      "stop": 4509.32,
      "target": 4466.435,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 16.58,
        "bb_width_pct": 0.331
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T21-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T21:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4495.025,
      "stop": 4498.837,
      "target": 4487.4,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 16.58,
        "bb_width_pct": 0.331
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T21-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T21:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4495.025,
      "stop": 4496.438,
      "target": 4492.199,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.58,
        "bb_width_pct": 0.331
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T21-55-00Z_short_vwap_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T21:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4494.635,
      "stop": 4508.343,
      "target": 4467.218,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.19,
        "bb_width_pct": 0.322
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T21-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T21:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4494.635,
      "stop": 4498.253,
      "target": 4487.4,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.19,
        "bb_width_pct": 0.322
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T23-00-00Z_short_rsi_range_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4498.525,
      "stop": 4501.446,
      "target": 4492.683,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 16.51,
        "bb_width_pct": 0.324
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T23-00-00Z_short_vwap_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4498.525,
      "stop": 4513.755,
      "target": 4468.064,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 16.51,
        "bb_width_pct": 0.324
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T23-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4498.525,
      "stop": 4504.087,
      "target": 4487.4,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 16.51,
        "bb_width_pct": 0.324
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T23-05-00Z_short_vwap_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4498.415,
      "stop": 4513.188,
      "target": 4468.87,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 22.96,
        "bb_width_pct": 0.309
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T23-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4498.415,
      "stop": 4503.609,
      "target": 4488.028,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 22.96,
        "bb_width_pct": 0.309
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T23-10-00Z_short_vwap_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4497.57,
      "stop": 4511.56,
      "target": 4469.59,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.82,
        "bb_width_pct": 0.273
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T23-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4497.57,
      "stop": 4502.097,
      "target": 4488.515,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.82,
        "bb_width_pct": 0.273
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T23-25-00Z_short_vwap_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T23:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4498.41,
      "stop": 4511.773,
      "target": 4471.684,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 20.83,
        "bb_width_pct": 0.23
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T23-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T23:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4498.41,
      "stop": 4503.227,
      "target": 4488.775,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 20.83,
        "bb_width_pct": 0.23
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T23-35-00Z_short_vwap_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4496.505,
      "stop": 4508.315,
      "target": 4472.884,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.77,
        "bb_width_pct": 0.21
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T23-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4496.505,
      "stop": 4500.216,
      "target": 4489.083,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.77,
        "bb_width_pct": 0.21
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T23-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4496.505,
      "stop": 4496.927,
      "target": 4495.66,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.77,
        "bb_width_pct": 0.21
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T23-40-00Z_short_vwap_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4495.345,
      "stop": 4506.323,
      "target": 4473.389,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.23,
        "bb_width_pct": 0.202
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T23-45-00Z_short_vwap_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4493.7,
      "stop": 4503.628,
      "target": 4473.844,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 9.11,
        "bb_width_pct": 0.201
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-06T23-55-00Z_short_vwap_mean_reversion",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T23:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4493.73,
      "stop": 4503.24,
      "target": 4474.711,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.87,
        "bb_width_pct": 0.174
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T00-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4493.205,
      "stop": 4491.6,
      "target": 4496.416,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.16,
        "bb_width_pct": 0.173
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T00-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4493.205,
      "stop": 4492.235,
      "target": 4495.145,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.16,
        "bb_width_pct": 0.173
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T00-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T00:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4492.365,
      "stop": 4490.38,
      "target": 4496.334,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.63,
        "bb_width_pct": 0.184
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T00-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T00:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4490.35,
      "stop": 4488.366,
      "target": 4494.318,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.15,
        "bb_width_pct": 0.223
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T00-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T00:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4491.39,
      "stop": 4489.252,
      "target": 4495.666,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.58,
        "bb_width_pct": 0.239
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T00-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T00:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4489.875,
      "stop": 4487.28,
      "target": 4495.066,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.33,
        "bb_width_pct": 0.275
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T00-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T00:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4489.875,
      "stop": 4488.114,
      "target": 4493.398,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.33,
        "bb_width_pct": 0.275
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T00-40-00Z_long_rsi_range_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T00:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4489.805,
      "stop": 4487.393,
      "target": 4494.63,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.35,
        "bb_width_pct": 0.284
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T00-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T00:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4492.195,
      "stop": 4491.655,
      "target": 4493.276,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.88,
        "bb_width_pct": 0.31
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T01-15-00Z_long_rsi_range_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T01:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4472.93,
      "stop": 4465.013,
      "target": 4488.764,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.26,
        "bb_width_pct": 0.636
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T01-15-00Z_long_vwap_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T01:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4472.93,
      "stop": 4465.583,
      "target": 4487.624,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.26,
        "bb_width_pct": 0.636
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T01-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T01:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4472.93,
      "stop": 4467.005,
      "target": 4484.78,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 23.26,
        "bb_width_pct": 0.636
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T01-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T01:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4476.28,
      "stop": 4470.515,
      "target": 4487.81,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.19,
        "bb_width_pct": 0.665
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T01-20-00Z_long_vwap_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T01:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4476.28,
      "stop": 4470.975,
      "target": 4486.89,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.19,
        "bb_width_pct": 0.665
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T01-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T01:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4476.28,
      "stop": 4472.03,
      "target": 4484.78,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.19,
        "bb_width_pct": 0.665
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T01-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T01:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4476.28,
      "stop": 4471.62,
      "target": 4485.599,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.19,
        "bb_width_pct": 0.665
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T01-25-00Z_long_vwap_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T01:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4477.26,
      "stop": 4472.728,
      "target": 4486.324,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.04,
        "bb_width_pct": 0.684
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T01-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T01:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4477.26,
      "stop": 4473.488,
      "target": 4484.805,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.04,
        "bb_width_pct": 0.684
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T01-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T01:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4470.84,
      "stop": 4464.071,
      "target": 4484.378,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.46,
        "bb_width_pct": 0.791
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T01-35-00Z_long_vwap_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T01:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4470.84,
      "stop": 4463.931,
      "target": 4484.659,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.46,
        "bb_width_pct": 0.791
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T01-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T01:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4470.84,
      "stop": 4464.526,
      "target": 4483.468,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 21.46,
        "bb_width_pct": 0.791
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T01-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T01:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4470.84,
      "stop": 4465.294,
      "target": 4481.931,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.46,
        "bb_width_pct": 0.791
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T01-50-00Z_long_vwap_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T01:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4470.09,
      "stop": 4463.859,
      "target": 4482.552,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.15,
        "bb_width_pct": 0.868
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T01-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T01:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4470.09,
      "stop": 4463.77,
      "target": 4482.73,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 18.15,
        "bb_width_pct": 0.868
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T01-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T01:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4470.09,
      "stop": 4465.972,
      "target": 4478.326,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.15,
        "bb_width_pct": 0.868
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T01-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T01:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4465.58,
      "stop": 4459.814,
      "target": 4477.112,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.17,
        "bb_width_pct": 0.891
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T02-00-00Z_long_vwap_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T02:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4467.345,
      "stop": 4460.436,
      "target": 4481.164,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.63,
        "bb_width_pct": 0.885
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T02-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T02:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4467.345,
      "stop": 4460.631,
      "target": 4480.773,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 21.63,
        "bb_width_pct": 0.885
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T02-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T02:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4467.345,
      "stop": 4462.927,
      "target": 4476.182,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.63,
        "bb_width_pct": 0.885
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T02-05-00Z_long_vwap_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T02:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4470.795,
      "stop": 4465.837,
      "target": 4480.71,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.09,
        "bb_width_pct": 0.854
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T04-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T04:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4473.14,
      "stop": 4471.478,
      "target": 4476.464,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.98,
        "bb_width_pct": 0.156
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T04-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4471.52,
      "stop": 4469.428,
      "target": 4475.703,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.25,
        "bb_width_pct": 0.178
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T04-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T04:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4470.72,
      "stop": 4468.466,
      "target": 4475.229,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.92,
        "bb_width_pct": 0.208
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T04-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4469.255,
      "stop": 4466.189,
      "target": 4475.388,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.49,
        "bb_width_pct": 0.283
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T04-20-00Z_long_vwap_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4469.255,
      "stop": 4465.004,
      "target": 4477.758,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.49,
        "bb_width_pct": 0.283
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T04-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4469.255,
      "stop": 4466.836,
      "target": 4474.092,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.49,
        "bb_width_pct": 0.283
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T04-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T04:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4467.62,
      "stop": 4464.284,
      "target": 4474.291,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.86,
        "bb_width_pct": 0.349
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T04-30-00Z_long_rsi_range_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T04:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4467.62,
      "stop": 4464.284,
      "target": 4474.291,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.86,
        "bb_width_pct": 0.349
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T04-30-00Z_long_vwap_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T04:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4467.62,
      "stop": 4462.744,
      "target": 4477.372,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.86,
        "bb_width_pct": 0.349
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T04-40-00Z_long_rsi_range_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4465.165,
      "stop": 4461.139,
      "target": 4473.216,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.55,
        "bb_width_pct": 0.437
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T04-40-00Z_long_vwap_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4465.165,
      "stop": 4459.269,
      "target": 4476.956,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.55,
        "bb_width_pct": 0.437
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T04-45-00Z_long_rsi_range_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4466.525,
      "stop": 4463.419,
      "target": 4472.738,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.02,
        "bb_width_pct": 0.452
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T04-45-00Z_long_vwap_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4466.525,
      "stop": 4461.405,
      "target": 4476.766,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.02,
        "bb_width_pct": 0.452
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T04-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4466.525,
      "stop": 4464.373,
      "target": 4470.829,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.02,
        "bb_width_pct": 0.452
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T04-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T04:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4464.69,
      "stop": 4461.913,
      "target": 4470.244,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.39,
        "bb_width_pct": 0.475
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T04-55-00Z_long_rsi_range_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T04:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4464.96,
      "stop": 4461.703,
      "target": 4471.475,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.16,
        "bb_width_pct": 0.468
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T04-55-00Z_long_vwap_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T04:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4464.96,
      "stop": 4459.251,
      "target": 4476.378,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.16,
        "bb_width_pct": 0.468
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T04-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T04:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4464.96,
      "stop": 4462.57,
      "target": 4469.741,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.16,
        "bb_width_pct": 0.468
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T05-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4463.925,
      "stop": 4461.294,
      "target": 4469.187,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.27,
        "bb_width_pct": 0.46
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T05-05-00Z_long_rsi_range_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4466.345,
      "stop": 4464.422,
      "target": 4470.192,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.64,
        "bb_width_pct": 0.451
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T05-05-00Z_long_vwap_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4466.345,
      "stop": 4461.518,
      "target": 4476.0,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.64,
        "bb_width_pct": 0.451
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T05-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4466.345,
      "stop": 4464.46,
      "target": 4470.115,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.64,
        "bb_width_pct": 0.451
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T05-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4466.345,
      "stop": 4465.059,
      "target": 4468.916,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.64,
        "bb_width_pct": 0.451
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T05-15-00Z_long_vwap_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4468.285,
      "stop": 4464.57,
      "target": 4475.715,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.6,
        "bb_width_pct": 0.403
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T05-20-00Z_long_vwap_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4469.885,
      "stop": 4467.021,
      "target": 4475.613,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.38,
        "bb_width_pct": 0.356
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T05-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T05:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4454.38,
      "stop": 4450.544,
      "target": 4462.051,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.18,
        "bb_width_pct": 0.641
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T05-55-00Z_long_vwap_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T05:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4454.38,
      "stop": 4444.791,
      "target": 4473.558,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.18,
        "bb_width_pct": 0.641
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T05-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T05:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4454.38,
      "stop": 4450.63,
      "target": 4461.88,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.18,
        "bb_width_pct": 0.641
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T05-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T05:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4454.38,
      "stop": 4451.093,
      "target": 4460.954,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.18,
        "bb_width_pct": 0.641
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T06-00-00Z_long_vwap_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4456.695,
      "stop": 4448.387,
      "target": 4473.312,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.24,
        "bb_width_pct": 0.632
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T06-05-00Z_long_vwap_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4457.965,
      "stop": 4450.396,
      "target": 4473.104,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.99,
        "bb_width_pct": 0.627
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T06-15-00Z_long_vwap_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T06:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4458.97,
      "stop": 4452.107,
      "target": 4472.696,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.26,
        "bb_width_pct": 0.616
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T06-25-00Z_long_vwap_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T06:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4455.135,
      "stop": 4446.573,
      "target": 4472.259,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.6,
        "bb_width_pct": 0.604
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T06-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4451.28,
      "stop": 4447.802,
      "target": 4458.236,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.99,
        "bb_width_pct": 0.611
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T06-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4450.465,
      "stop": 4446.829,
      "target": 4457.737,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.77,
        "bb_width_pct": 0.615
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T06-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4450.465,
      "stop": 4446.949,
      "target": 4457.496,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.77,
        "bb_width_pct": 0.615
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T06-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T06:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4446.355,
      "stop": 4441.594,
      "target": 4455.876,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.62,
        "bb_width_pct": 0.637
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T06-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T06:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4446.16,
      "stop": 4441.932,
      "target": 4454.615,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.42,
        "bb_width_pct": 0.629
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T07-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T07:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4447.79,
      "stop": 4441.664,
      "target": 4460.042,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.61,
        "bb_width_pct": 0.507
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T07-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T07:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4447.79,
      "stop": 4445.154,
      "target": 4453.061,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.61,
        "bb_width_pct": 0.507
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T07-40-00Z_short_vwap_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T07:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4459.1,
      "stop": 4462.388,
      "target": 4452.524,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.7,
        "bb_width_pct": 0.417
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T07-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T07:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4462.015,
      "stop": 4466.715,
      "target": 4452.616,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 25.02,
        "bb_width_pct": 0.445
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T07-55-00Z_short_rsi_range_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T07:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4461.185,
      "stop": 4465.228,
      "target": 4453.099,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 27.44,
        "bb_width_pct": 0.503
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T07-55-00Z_short_vwap_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T07:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4461.185,
      "stop": 4464.299,
      "target": 4454.956,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 27.44,
        "bb_width_pct": 0.503
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T07-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T07:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4461.185,
      "stop": 4463.701,
      "target": 4456.153,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 27.44,
        "bb_width_pct": 0.503
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T08-25-00Z_short_rsi_range_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T08:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4465.245,
      "stop": 4469.113,
      "target": 4457.508,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 25.37,
        "bb_width_pct": 0.656
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T08-25-00Z_short_vwap_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T08:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4465.245,
      "stop": 4468.708,
      "target": 4458.318,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 25.37,
        "bb_width_pct": 0.656
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T08-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T08:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4465.245,
      "stop": 4469.869,
      "target": 4455.997,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 25.37,
        "bb_width_pct": 0.656
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T08-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T08:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4465.245,
      "stop": 4467.654,
      "target": 4460.426,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 25.37,
        "bb_width_pct": 0.656
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T08-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T08:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4466.77,
      "stop": 4469.711,
      "target": 4460.889,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.03,
        "bb_width_pct": 0.574
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T08-40-00Z_short_rsi_range_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T08:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4466.77,
      "stop": 4469.711,
      "target": 4460.889,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 12.03,
        "bb_width_pct": 0.574
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T08-40-00Z_short_vwap_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T08:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4466.77,
      "stop": 4470.256,
      "target": 4459.798,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.03,
        "bb_width_pct": 0.574
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T08-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T08:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4466.77,
      "stop": 4471.625,
      "target": 4457.06,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.03,
        "bb_width_pct": 0.574
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T08-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T08:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4466.77,
      "stop": 4468.889,
      "target": 4462.532,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.03,
        "bb_width_pct": 0.574
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T08-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T08:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4468.995,
      "stop": 4471.919,
      "target": 4463.147,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.74,
        "bb_width_pct": 0.542
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T08-50-00Z_short_vwap_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T08:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4468.495,
      "stop": 4472.456,
      "target": 4460.572,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.37,
        "bb_width_pct": 0.503
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T08-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T08:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4468.495,
      "stop": 4473.663,
      "target": 4458.16,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.37,
        "bb_width_pct": 0.503
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T08-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T08:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4468.495,
      "stop": 4470.914,
      "target": 4463.656,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.37,
        "bb_width_pct": 0.503
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T08-55-00Z_short_vwap_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T08:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4468.42,
      "stop": 4472.181,
      "target": 4460.897,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.16,
        "bb_width_pct": 0.454
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T09-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T09:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4464.165,
      "stop": 4463.435,
      "target": 4465.625,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.33,
        "bb_width_pct": 0.236
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T10-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T10:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4460.065,
      "stop": 4457.966,
      "target": 4464.263,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.57,
        "bb_width_pct": 0.193
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T10-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T10:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4463.74,
      "stop": 4463.597,
      "target": 4464.025,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.92,
        "bb_width_pct": 0.173
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T10-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T10:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4466.05,
      "stop": 4467.138,
      "target": 4463.874,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.5,
        "bb_width_pct": 0.152
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T10-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T10:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4466.405,
      "stop": 4467.542,
      "target": 4464.13,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.53,
        "bb_width_pct": 0.15
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T11-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T11:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4462.89,
      "stop": 4462.367,
      "target": 4463.936,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.64,
        "bb_width_pct": 0.137
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T11-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T11:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4462.89,
      "stop": 4460.892,
      "target": 4466.885,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.64,
        "bb_width_pct": 0.137
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T11-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T11:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4459.245,
      "stop": 4457.341,
      "target": 4463.054,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.69,
        "bb_width_pct": 0.177
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T11-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T11:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4453.895,
      "stop": 4450.542,
      "target": 4460.602,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.12,
        "bb_width_pct": 0.471
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T11-50-00Z_long_rsi_range_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T11:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4453.895,
      "stop": 4450.542,
      "target": 4460.602,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.12,
        "bb_width_pct": 0.471
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T11-50-00Z_long_vwap_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T11:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4453.895,
      "stop": 4450.245,
      "target": 4461.195,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.12,
        "bb_width_pct": 0.471
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T11-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T11:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4453.895,
      "stop": 4449.844,
      "target": 4461.997,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 25.12,
        "bb_width_pct": 0.471
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T11-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T11:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4453.895,
      "stop": 4451.448,
      "target": 4458.789,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.12,
        "bb_width_pct": 0.471
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T12-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T12:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4447.5,
      "stop": 4443.602,
      "target": 4455.295,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.83,
        "bb_width_pct": 0.676
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T12-20-00Z_long_rsi_range_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T12:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4447.5,
      "stop": 4443.602,
      "target": 4455.295,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.83,
        "bb_width_pct": 0.676
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T12-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T12:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4447.5,
      "stop": 4444.24,
      "target": 4454.02,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 21.83,
        "bb_width_pct": 0.676
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T12-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T12:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4447.5,
      "stop": 4444.694,
      "target": 4453.112,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.83,
        "bb_width_pct": 0.676
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T12-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T12:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4450.405,
      "stop": 4449.18,
      "target": 4452.854,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.82,
        "bb_width_pct": 0.642
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T13-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4445.83,
      "stop": 4441.946,
      "target": 4453.597,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 2.17,
        "bb_width_pct": 0.348
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T13-10-00Z_long_vwap_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T13:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4433.375,
      "stop": 4426.804,
      "target": 4446.517,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.42,
        "bb_width_pct": 0.539
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T13-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T13:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4433.375,
      "stop": 4425.825,
      "target": 4448.475,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.42,
        "bb_width_pct": 0.539
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T13-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T13:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4434.085,
      "stop": 4427.9,
      "target": 4446.455,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.29,
        "bb_width_pct": 0.59
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T13-15-00Z_long_vwap_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T13:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4434.085,
      "stop": 4428.247,
      "target": 4445.762,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.29,
        "bb_width_pct": 0.59
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T13-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T13:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4434.085,
      "stop": 4427.188,
      "target": 4447.88,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.29,
        "bb_width_pct": 0.59
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T13-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T13:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4442.34,
      "stop": 4440.487,
      "target": 4446.047,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.27,
        "bb_width_pct": 0.589
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T13-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T13:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4442.34,
      "stop": 4439.57,
      "target": 4447.88,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.27,
        "bb_width_pct": 0.589
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T13-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T13:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4442.34,
      "stop": 4440.572,
      "target": 4445.877,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.27,
        "bb_width_pct": 0.589
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T14-20-00Z_short_rsi_range_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T14:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4445.67,
      "stop": 4445.987,
      "target": 4445.036,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 12.19,
        "bb_width_pct": 0.556
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T14-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T14:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4441.3,
      "stop": 4438.606,
      "target": 4446.687,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.2,
        "bb_width_pct": 0.536
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T14-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T14:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4445.02,
      "stop": 4446.719,
      "target": 4441.622,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.92,
        "bb_width_pct": 0.296
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T15-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T15:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4441.56,
      "stop": 4439.246,
      "target": 4446.188,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.23,
        "bb_width_pct": 0.3
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T15-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T15:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4430.845,
      "stop": 4424.45,
      "target": 4443.635,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.4,
        "bb_width_pct": 0.685
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T15-20-00Z_long_vwap_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T15:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4430.845,
      "stop": 4423.967,
      "target": 4444.601,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.4,
        "bb_width_pct": 0.685
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T15-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T15:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4430.845,
      "stop": 4426.614,
      "target": 4439.307,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 16.4,
        "bb_width_pct": 0.685
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T15-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T15:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4430.845,
      "stop": 4425.944,
      "target": 4440.647,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.4,
        "bb_width_pct": 0.685
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T15-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T15:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4448.82,
      "stop": 4453.576,
      "target": 4439.307,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.51,
        "bb_width_pct": 0.663
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T16-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T16:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4447.13,
      "stop": 4451.219,
      "target": 4438.953,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.82,
        "bb_width_pct": 0.604
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T16-35-00Z_short_rsi_range_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4463.045,
      "stop": 4471.646,
      "target": 4445.843,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 15.99,
        "bb_width_pct": 0.922
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T16-35-00Z_short_vwap_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4463.045,
      "stop": 4471.628,
      "target": 4445.879,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.99,
        "bb_width_pct": 0.922
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T16-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4463.045,
      "stop": 4472.467,
      "target": 4444.2,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.99,
        "bb_width_pct": 0.922
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T16-50-00Z_short_rsi_range_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T16:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4464.84,
      "stop": 4472.08,
      "target": 4450.359,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 22.41,
        "bb_width_pct": 1.026
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T16-50-00Z_short_vwap_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T16:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4464.84,
      "stop": 4473.811,
      "target": 4446.898,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 22.41,
        "bb_width_pct": 1.026
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T16-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T16:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4464.84,
      "stop": 4474.321,
      "target": 4445.878,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 22.41,
        "bb_width_pct": 1.026
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T16-55-00Z_short_rsi_range_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4464.235,
      "stop": 4470.184,
      "target": 4452.337,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 26.88,
        "bb_width_pct": 0.912
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T16-55-00Z_short_vwap_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4464.235,
      "stop": 4472.763,
      "target": 4447.179,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 26.88,
        "bb_width_pct": 0.912
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T16-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4464.235,
      "stop": 4473.414,
      "target": 4445.878,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 26.88,
        "bb_width_pct": 0.912
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T17-00-00Z_short_rsi_range_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T17:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4462.98,
      "stop": 4467.498,
      "target": 4453.944,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 21.1,
        "bb_width_pct": 0.818
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T17-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T17:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4462.98,
      "stop": 4471.531,
      "target": 4445.878,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 21.1,
        "bb_width_pct": 0.818
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T17-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T17:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4462.98,
      "stop": 4466.467,
      "target": 4456.006,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.1,
        "bb_width_pct": 0.818
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T17-05-00Z_short_rsi_range_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T17:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4460.435,
      "stop": 4463.229,
      "target": 4454.847,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 17.71,
        "bb_width_pct": 0.791
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T17-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T17:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4460.435,
      "stop": 4467.714,
      "target": 4445.878,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.71,
        "bb_width_pct": 0.791
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T17-10-00Z_short_rsi_range_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T17:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4460.085,
      "stop": 4462.425,
      "target": 4455.405,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 16.18,
        "bb_width_pct": 0.787
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T17-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T17:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4459.94,
      "stop": 4466.971,
      "target": 4445.878,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 16.15,
        "bb_width_pct": 0.732
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T17-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T17:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4451.93,
      "stop": 4449.453,
      "target": 4456.884,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.06,
        "bb_width_pct": 0.358
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T18-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T18:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4450.75,
      "stop": 4447.975,
      "target": 4456.3,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.79,
        "bb_width_pct": 0.405
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T18-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T18:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4450.175,
      "stop": 4445.379,
      "target": 4459.766,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.87,
        "bb_width_pct": 0.448
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T18-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T18:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4450.175,
      "stop": 4447.404,
      "target": 4455.717,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.87,
        "bb_width_pct": 0.448
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T18-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T18:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4450.03,
      "stop": 4447.457,
      "target": 4455.175,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.09,
        "bb_width_pct": 0.474
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T18-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T18:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4450.165,
      "stop": 4446.056,
      "target": 4458.383,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.11,
        "bb_width_pct": 0.496
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T18-15-00Z_long_rsi_range_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T18:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4450.165,
      "stop": 4446.056,
      "target": 4458.383,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.11,
        "bb_width_pct": 0.496
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T18-15-00Z_long_vwap_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T18:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4450.165,
      "stop": 4446.962,
      "target": 4456.572,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.11,
        "bb_width_pct": 0.496
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T18-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T18:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4450.165,
      "stop": 4447.898,
      "target": 4454.698,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.11,
        "bb_width_pct": 0.496
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T18-20-00Z_long_rsi_range_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T18:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4452.385,
      "stop": 4449.774,
      "target": 4457.608,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.45,
        "bb_width_pct": 0.469
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T19-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T19:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4448.345,
      "stop": 4446.006,
      "target": 4453.023,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.96,
        "bb_width_pct": 0.259
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T19-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T19:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4448.345,
      "stop": 4445.904,
      "target": 4453.228,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.96,
        "bb_width_pct": 0.259
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T19-20-00Z_long_vwap_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T19:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4448.64,
      "stop": 4445.53,
      "target": 4454.861,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.8,
        "bb_width_pct": 0.26
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T19-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T19:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4448.64,
      "stop": 4444.876,
      "target": 4456.167,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 2.8,
        "bb_width_pct": 0.26
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T19-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T19:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4450.665,
      "stop": 4449.853,
      "target": 4452.289,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.12,
        "bb_width_pct": 0.245
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T19-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T19:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4450.665,
      "stop": 4447.757,
      "target": 4456.48,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 3.12,
        "bb_width_pct": 0.245
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T19-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T19:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4450.665,
      "stop": 4449.703,
      "target": 4452.588,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.12,
        "bb_width_pct": 0.245
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T20-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T20:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4459.845,
      "stop": 4462.674,
      "target": 4454.187,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.99,
        "bb_width_pct": 0.3
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T20-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T20:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4459.845,
      "stop": 4462.088,
      "target": 4455.359,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.99,
        "bb_width_pct": 0.3
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T20-20-00Z_short_rsi_range_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T20:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4459.195,
      "stop": 4461.63,
      "target": 4454.325,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 22.1,
        "bb_width_pct": 0.313
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T20-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T20:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4459.195,
      "stop": 4461.4,
      "target": 4454.785,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 22.1,
        "bb_width_pct": 0.313
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T20-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T20:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4459.195,
      "stop": 4460.93,
      "target": 4455.725,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.1,
        "bb_width_pct": 0.313
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T20-25-00Z_short_rsi_range_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T20:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4458.245,
      "stop": 4460.108,
      "target": 4454.519,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 20.03,
        "bb_width_pct": 0.322
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T20-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4456.91,
      "stop": 4458.573,
      "target": 4453.585,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.56,
        "bb_width_pct": 0.33
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T20-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T20:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4452.495,
      "stop": 4450.561,
      "target": 4456.363,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.83,
        "bb_width_pct": 0.271
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T21-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T21:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4453.545,
      "stop": 4452.093,
      "target": 4456.449,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.36,
        "bb_width_pct": 0.23
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T21-00-00Z_long_vwap_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T21:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4453.545,
      "stop": 4450.126,
      "target": 4460.382,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.36,
        "bb_width_pct": 0.23
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T21-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T21:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4453.545,
      "stop": 4452.27,
      "target": 4456.095,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.36,
        "bb_width_pct": 0.23
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T21-10-00Z_long_vwap_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T21:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4454.175,
      "stop": 4451.323,
      "target": 4459.879,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.66,
        "bb_width_pct": 0.214
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T21-30-00Z_long_rsi_range_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T21:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4453.09,
      "stop": 4451.519,
      "target": 4456.233,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.9,
        "bb_width_pct": 0.224
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T21-30-00Z_long_vwap_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T21:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4453.09,
      "stop": 4450.097,
      "target": 4459.075,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.9,
        "bb_width_pct": 0.224
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T21-35-00Z_long_vwap_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T21:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4454.155,
      "stop": 4451.778,
      "target": 4458.908,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.66,
        "bb_width_pct": 0.227
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T23-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4459.74,
      "stop": 4461.814,
      "target": 4455.592,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.46,
        "bb_width_pct": 0.243
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T23-05-00Z_short_rsi_range_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4459.74,
      "stop": 4461.814,
      "target": 4455.592,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 22.46,
        "bb_width_pct": 0.243
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T23-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4459.74,
      "stop": 4462.735,
      "target": 4453.75,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 22.46,
        "bb_width_pct": 0.243
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T23-10-00Z_short_rsi_range_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4459.69,
      "stop": 4461.713,
      "target": 4455.644,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 26.83,
        "bb_width_pct": 0.249
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T23-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4459.69,
      "stop": 4462.464,
      "target": 4454.142,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 26.83,
        "bb_width_pct": 0.249
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T23-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4461.715,
      "stop": 4463.202,
      "target": 4458.741,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 25.79,
        "bb_width_pct": 0.339
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T23-45-00Z_short_rsi_range_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4461.23,
      "stop": 4462.992,
      "target": 4457.707,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 26.04,
        "bb_width_pct": 0.336
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T23-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4461.23,
      "stop": 4463.402,
      "target": 4456.885,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 26.04,
        "bb_width_pct": 0.336
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T23-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4461.23,
      "stop": 4462.356,
      "target": 4458.978,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 26.04,
        "bb_width_pct": 0.336
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-07T23-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T23:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4463.52,
      "stop": 4465.452,
      "target": 4459.656,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 23.24,
        "bb_width_pct": 0.343
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T00-15-00Z_short_rsi_range_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T00:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4464.015,
      "stop": 4465.606,
      "target": 4460.833,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 12.71,
        "bb_width_pct": 0.311
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T00-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T00:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4464.015,
      "stop": 4467.054,
      "target": 4457.938,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.71,
        "bb_width_pct": 0.311
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T00-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T00:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4464.015,
      "stop": 4465.344,
      "target": 4461.358,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.71,
        "bb_width_pct": 0.311
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T00-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T00:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4458.49,
      "stop": 4458.684,
      "target": 4458.102,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.23,
        "bb_width_pct": 0.275
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T00-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T00:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4456.77,
      "stop": 4454.516,
      "target": 4461.279,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.14,
        "bb_width_pct": 0.239
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T00-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T00:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4456.77,
      "stop": 4454.818,
      "target": 4460.674,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.14,
        "bb_width_pct": 0.239
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T00-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4457.805,
      "stop": 4456.024,
      "target": 4461.368,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.39,
        "bb_width_pct": 0.225
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T00-30-00Z_long_vwap_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4457.805,
      "stop": 4455.753,
      "target": 4461.91,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.39,
        "bb_width_pct": 0.225
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T00-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4457.805,
      "stop": 4456.507,
      "target": 4460.4,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.39,
        "bb_width_pct": 0.225
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T00-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T00:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4451.045,
      "stop": 4446.741,
      "target": 4459.653,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.04,
        "bb_width_pct": 0.446
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T00-50-00Z_long_rsi_range_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T00:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4451.045,
      "stop": 4446.741,
      "target": 4459.653,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.04,
        "bb_width_pct": 0.446
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T00-50-00Z_long_vwap_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T00:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4451.045,
      "stop": 4447.55,
      "target": 4458.034,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.04,
        "bb_width_pct": 0.446
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T00-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T00:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4451.045,
      "stop": 4448.129,
      "target": 4456.878,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 20.04,
        "bb_width_pct": 0.446
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T01-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4451.875,
      "stop": 4448.53,
      "target": 4458.565,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.78,
        "bb_width_pct": 0.495
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T01-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4451.875,
      "stop": 4449.485,
      "target": 4456.655,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 19.78,
        "bb_width_pct": 0.495
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T01-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4451.875,
      "stop": 4449.753,
      "target": 4456.118,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.78,
        "bb_width_pct": 0.495
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T01-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T01:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4447.58,
      "stop": 4443.713,
      "target": 4455.315,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.73,
        "bb_width_pct": 0.466
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T01-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T01:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4447.72,
      "stop": 4444.094,
      "target": 4454.972,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.77,
        "bb_width_pct": 0.449
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T01-45-00Z_long_vwap_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T01:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4447.72,
      "stop": 4443.617,
      "target": 4455.926,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.77,
        "bb_width_pct": 0.449
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T01-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T01:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4447.72,
      "stop": 4443.904,
      "target": 4455.352,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.77,
        "bb_width_pct": 0.449
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T01-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T01:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4447.72,
      "stop": 4444.284,
      "target": 4454.592,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.77,
        "bb_width_pct": 0.449
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T01-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T01:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4448.4,
      "stop": 4446.037,
      "target": 4453.126,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.3,
        "bb_width_pct": 0.394
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T01-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T01:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4448.4,
      "stop": 4445.19,
      "target": 4454.82,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 3.3,
        "bb_width_pct": 0.394
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T01-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T01:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4448.4,
      "stop": 4446.033,
      "target": 4453.134,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.3,
        "bb_width_pct": 0.394
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T02-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T02:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4443.195,
      "stop": 4438.612,
      "target": 4452.361,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.51,
        "bb_width_pct": 0.423
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T02-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T02:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4447.705,
      "stop": 4445.604,
      "target": 4451.908,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.69,
        "bb_width_pct": 0.422
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T02-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T02:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4447.705,
      "stop": 4444.452,
      "target": 4454.21,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.69,
        "bb_width_pct": 0.422
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T02-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T02:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4447.705,
      "stop": 4445.677,
      "target": 4451.761,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.69,
        "bb_width_pct": 0.422
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T02-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T02:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4442.59,
      "stop": 4438.991,
      "target": 4449.789,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.1,
        "bb_width_pct": 0.467
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T02-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4437.145,
      "stop": 4431.018,
      "target": 4449.399,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.2,
        "bb_width_pct": 0.558
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T02-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T02:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4439.275,
      "stop": 4434.488,
      "target": 4448.85,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.18,
        "bb_width_pct": 0.591
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T02-35-00Z_long_vwap_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T02:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4439.275,
      "stop": 4432.897,
      "target": 4452.031,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.18,
        "bb_width_pct": 0.591
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T02-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T02:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4439.275,
      "stop": 4433.364,
      "target": 4451.097,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 16.18,
        "bb_width_pct": 0.591
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T02-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T02:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4439.275,
      "stop": 4435.394,
      "target": 4447.038,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.18,
        "bb_width_pct": 0.591
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T02-40-00Z_long_vwap_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T02:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4441.945,
      "stop": 4437.067,
      "target": 4451.7,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.27,
        "bb_width_pct": 0.603
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T02-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T02:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4441.945,
      "stop": 4437.862,
      "target": 4450.11,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 18.27,
        "bb_width_pct": 0.603
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T02-50-00Z_long_vwap_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T02:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4441.515,
      "stop": 4436.748,
      "target": 4451.05,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.51,
        "bb_width_pct": 0.564
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T02-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T02:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4441.515,
      "stop": 4437.218,
      "target": 4450.11,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.51,
        "bb_width_pct": 0.564
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T03-00-00Z_long_vwap_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4441.76,
      "stop": 4437.377,
      "target": 4450.525,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.08,
        "bb_width_pct": 0.458
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T03-05-00Z_long_vwap_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T03:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4442.7,
      "stop": 4438.899,
      "target": 4450.302,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.69,
        "bb_width_pct": 0.41
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T03-20-00Z_long_vwap_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T03:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4443.5,
      "stop": 4440.389,
      "target": 4449.723,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.02,
        "bb_width_pct": 0.269
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T03-40-00Z_long_vwap_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T03:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4442.07,
      "stop": 4438.541,
      "target": 4449.129,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.43,
        "bb_width_pct": 0.22
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T03-45-00Z_long_vwap_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T03:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4442.18,
      "stop": 4438.783,
      "target": 4448.975,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.4,
        "bb_width_pct": 0.188
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T03-55-00Z_long_vwap_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T03:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4440.28,
      "stop": 4436.112,
      "target": 4448.616,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.31,
        "bb_width_pct": 0.158
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T04-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T04:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4438.235,
      "stop": 4436.748,
      "target": 4441.209,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.17,
        "bb_width_pct": 0.168
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T04-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4438.71,
      "stop": 4437.526,
      "target": 4441.079,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.4,
        "bb_width_pct": 0.175
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T04-05-00Z_long_vwap_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4438.71,
      "stop": 4433.962,
      "target": 4448.206,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.4,
        "bb_width_pct": 0.175
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T04-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4438.71,
      "stop": 4434.526,
      "target": 4447.077,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.4,
        "bb_width_pct": 0.175
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T04-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4438.71,
      "stop": 4437.051,
      "target": 4442.029,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.4,
        "bb_width_pct": 0.175
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T04-10-00Z_long_vwap_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T04:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4440.42,
      "stop": 4436.61,
      "target": 4448.04,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.92,
        "bb_width_pct": 0.156
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T04-15-00Z_long_vwap_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T04:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4440.495,
      "stop": 4436.798,
      "target": 4447.889,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.36,
        "bb_width_pct": 0.152
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T04-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4437.315,
      "stop": 4435.436,
      "target": 4441.072,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.39,
        "bb_width_pct": 0.17
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T04-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T04:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4438.29,
      "stop": 4437.008,
      "target": 4440.854,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.55,
        "bb_width_pct": 0.187
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T04-30-00Z_long_vwap_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T04:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4438.29,
      "stop": 4433.766,
      "target": 4447.338,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.55,
        "bb_width_pct": 0.187
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T04-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T04:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4438.29,
      "stop": 4433.9,
      "target": 4447.07,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.55,
        "bb_width_pct": 0.187
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T04-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T04:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4438.29,
      "stop": 4437.12,
      "target": 4440.631,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.55,
        "bb_width_pct": 0.187
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T04-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T04:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4432.78,
      "stop": 4429.681,
      "target": 4438.977,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.82,
        "bb_width_pct": 0.335
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T04-50-00Z_long_rsi_range_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T04:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4432.78,
      "stop": 4429.681,
      "target": 4438.977,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.82,
        "bb_width_pct": 0.335
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T04-50-00Z_long_vwap_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T04:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4432.78,
      "stop": 4425.981,
      "target": 4446.378,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.82,
        "bb_width_pct": 0.335
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T04-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T04:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4432.78,
      "stop": 4427.451,
      "target": 4443.438,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 23.82,
        "bb_width_pct": 0.335
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T05-20-00Z_long_rsi_range_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4428.825,
      "stop": 4425.824,
      "target": 4434.827,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.42,
        "bb_width_pct": 0.444
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T05-20-00Z_long_vwap_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4428.825,
      "stop": 4420.86,
      "target": 4444.755,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.42,
        "bb_width_pct": 0.444
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T05-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4428.825,
      "stop": 4425.374,
      "target": 4435.727,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 26.42,
        "bb_width_pct": 0.444
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T05-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4426.19,
      "stop": 4422.271,
      "target": 4434.028,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.17,
        "bb_width_pct": 0.447
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T05-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4423.46,
      "stop": 4418.594,
      "target": 4433.193,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.33,
        "bb_width_pct": 0.474
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T05-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4424.745,
      "stop": 4420.91,
      "target": 4432.416,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.61,
        "bb_width_pct": 0.478
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T05-35-00Z_long_rsi_range_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4424.745,
      "stop": 4420.91,
      "target": 4432.416,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.61,
        "bb_width_pct": 0.478
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T05-35-00Z_long_vwap_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4424.745,
      "stop": 4415.186,
      "target": 4443.862,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.61,
        "bb_width_pct": 0.478
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T05-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4424.745,
      "stop": 4420.594,
      "target": 4433.047,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 24.61,
        "bb_width_pct": 0.478
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T05-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T05:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4421.17,
      "stop": 4416.472,
      "target": 4430.565,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.69,
        "bb_width_pct": 0.546
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T05-45-00Z_long_rsi_range_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T05:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4421.17,
      "stop": 4416.472,
      "target": 4430.565,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.69,
        "bb_width_pct": 0.546
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T05-45-00Z_long_vwap_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T05:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4421.17,
      "stop": 4410.162,
      "target": 4443.185,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.69,
        "bb_width_pct": 0.546
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T05-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T05:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4421.17,
      "stop": 4416.263,
      "target": 4430.985,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 16.69,
        "bb_width_pct": 0.546
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T05-55-00Z_long_vwap_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T05:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4425.815,
      "stop": 4417.423,
      "target": 4442.599,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.39,
        "bb_width_pct": 0.506
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T05-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T05:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4425.815,
      "stop": 4423.23,
      "target": 4430.985,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.39,
        "bb_width_pct": 0.506
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T05-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T05:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4425.815,
      "stop": 4424.663,
      "target": 4428.12,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.39,
        "bb_width_pct": 0.506
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T06-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4418.565,
      "stop": 4414.243,
      "target": 4427.21,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.92,
        "bb_width_pct": 0.512
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T06-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4419.63,
      "stop": 4415.96,
      "target": 4426.969,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.37,
        "bb_width_pct": 0.501
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T06-05-00Z_long_vwap_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4419.63,
      "stop": 4408.443,
      "target": 4442.003,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.37,
        "bb_width_pct": 0.501
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T06-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4419.63,
      "stop": 4413.953,
      "target": 4430.985,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.37,
        "bb_width_pct": 0.501
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T06-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4419.63,
      "stop": 4416.201,
      "target": 4426.488,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.37,
        "bb_width_pct": 0.501
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T06-10-00Z_long_vwap_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T06:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4421.0,
      "stop": 4410.639,
      "target": 4441.723,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.05,
        "bb_width_pct": 0.456
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T06-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T06:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4421.0,
      "stop": 4416.007,
      "target": 4430.985,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.05,
        "bb_width_pct": 0.456
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T06-15-00Z_long_vwap_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T06:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4421.615,
      "stop": 4411.694,
      "target": 4441.458,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.46,
        "bb_width_pct": 0.427
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T06-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T06:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4421.615,
      "stop": 4416.93,
      "target": 4430.985,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.46,
        "bb_width_pct": 0.427
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T06-20-00Z_long_vwap_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T06:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4425.3,
      "stop": 4417.338,
      "target": 4441.225,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.22,
        "bb_width_pct": 0.403
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T06-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T06:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4425.3,
      "stop": 4422.458,
      "target": 4430.985,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.22,
        "bb_width_pct": 0.403
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T06-25-00Z_long_vwap_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T06:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4426.34,
      "stop": 4418.991,
      "target": 4441.038,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.71,
        "bb_width_pct": 0.383
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T06-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4431.93,
      "stop": 4435.489,
      "target": 4424.812,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.95,
        "bb_width_pct": 0.376
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T06-30-00Z_long_vwap_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4431.93,
      "stop": 4427.438,
      "target": 4440.914,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.95,
        "bb_width_pct": 0.376
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T06-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4434.775,
      "stop": 4438.651,
      "target": 4427.023,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.62,
        "bb_width_pct": 0.403
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T06-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T06:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4433.725,
      "stop": 4437.824,
      "target": 4425.528,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.08,
        "bb_width_pct": 0.474
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T07-00-00Z_short_rsi_range_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T07:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4432.825,
      "stop": 4436.002,
      "target": 4426.47,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 8.72,
        "bb_width_pct": 0.545
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T07-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T07:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4437.655,
      "stop": 4441.204,
      "target": 4430.558,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 24.3,
        "bb_width_pct": 0.588
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T07-10-00Z_short_rsi_range_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T07:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4436.1,
      "stop": 4440.312,
      "target": 4427.676,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 23.16,
        "bb_width_pct": 0.608
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T07-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T07:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4436.1,
      "stop": 4440.003,
      "target": 4428.295,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 23.16,
        "bb_width_pct": 0.608
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T07-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T07:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4436.1,
      "stop": 4438.607,
      "target": 4431.086,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 23.16,
        "bb_width_pct": 0.608
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T07-15-00Z_short_rsi_range_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T07:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4434.685,
      "stop": 4437.941,
      "target": 4428.172,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 20.0,
        "bb_width_pct": 0.62
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T07-20-00Z_short_rsi_range_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T07:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4433.77,
      "stop": 4436.194,
      "target": 4428.922,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 17.76,
        "bb_width_pct": 0.597
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T07-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4434.015,
      "stop": 4437.005,
      "target": 4428.035,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.45,
        "bb_width_pct": 0.554
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T08-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T08:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4432.635,
      "stop": 4432.272,
      "target": 4433.361,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.29,
        "bb_width_pct": 0.234
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T08-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T08:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4429.225,
      "stop": 4427.446,
      "target": 4432.784,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.22,
        "bb_width_pct": 0.282
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T08-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4424.505,
      "stop": 4421.016,
      "target": 4431.483,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.74,
        "bb_width_pct": 0.335
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T08-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T08:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4421.34,
      "stop": 4416.864,
      "target": 4430.292,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.62,
        "bb_width_pct": 0.43
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T08-40-00Z_long_vwap_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T08:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4421.34,
      "stop": 4416.618,
      "target": 4430.784,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.62,
        "bb_width_pct": 0.43
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T08-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T08:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4421.34,
      "stop": 4417.957,
      "target": 4428.106,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.62,
        "bb_width_pct": 0.43
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T08-45-00Z_long_vwap_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T08:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4424.325,
      "stop": 4421.266,
      "target": 4430.442,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.8,
        "bb_width_pct": 0.417
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T10-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T10:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4424.455,
      "stop": 4421.815,
      "target": 4429.735,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.18,
        "bb_width_pct": 0.306
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T10-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T10:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4426.075,
      "stop": 4424.127,
      "target": 4429.972,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.03,
        "bb_width_pct": 0.264
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T10-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T10:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4426.075,
      "stop": 4424.419,
      "target": 4429.387,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.03,
        "bb_width_pct": 0.264
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T10-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T10:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4424.695,
      "stop": 4422.047,
      "target": 4429.99,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.19,
        "bb_width_pct": 0.261
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T10-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T10:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4424.695,
      "stop": 4422.573,
      "target": 4428.94,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.19,
        "bb_width_pct": 0.261
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T10-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T10:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4432.705,
      "stop": 4434.176,
      "target": 4429.764,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.01,
        "bb_width_pct": 0.263
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T11-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4432.175,
      "stop": 4434.405,
      "target": 4427.715,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.25,
        "bb_width_pct": 0.248
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T11-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T11:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4424.825,
      "stop": 4422.936,
      "target": 4428.604,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.93,
        "bb_width_pct": 0.263
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T11-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T11:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4424.825,
      "stop": 4423.103,
      "target": 4428.268,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.93,
        "bb_width_pct": 0.263
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T11-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T11:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4424.015,
      "stop": 4422.091,
      "target": 4427.863,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.92,
        "bb_width_pct": 0.278
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T11-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T11:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4422.985,
      "stop": 4420.778,
      "target": 4427.399,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.2,
        "bb_width_pct": 0.287
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T12-05-00Z_long_rsi_range_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T12:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4418.63,
      "stop": 4414.19,
      "target": 4427.509,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.48,
        "bb_width_pct": 0.398
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T12-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T12:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4418.63,
      "stop": 4415.238,
      "target": 4425.415,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 26.48,
        "bb_width_pct": 0.398
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T12-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T12:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4413.95,
      "stop": 4408.098,
      "target": 4425.654,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.64,
        "bb_width_pct": 0.533
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T12-15-00Z_long_rsi_range_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T12:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4413.95,
      "stop": 4408.098,
      "target": 4425.654,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.64,
        "bb_width_pct": 0.533
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T12-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T12:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4413.95,
      "stop": 4409.059,
      "target": 4423.733,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 24.64,
        "bb_width_pct": 0.533
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T12-20-00Z_long_rsi_range_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T12:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4415.57,
      "stop": 4410.956,
      "target": 4424.797,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.44,
        "bb_width_pct": 0.547
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T12-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T12:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4420.685,
      "stop": 4419.784,
      "target": 4422.487,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.94,
        "bb_width_pct": 0.535
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T12-45-00Z_short_vwap_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T12:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4428.71,
      "stop": 4432.863,
      "target": 4420.405,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.82,
        "bb_width_pct": 0.466
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T13-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T13:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4432.025,
      "stop": 4435.647,
      "target": 4424.78,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 23.54,
        "bb_width_pct": 0.481
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T13-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T13:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4434.605,
      "stop": 4440.246,
      "target": 4423.324,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 25.18,
        "bb_width_pct": 0.533
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T13-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4427.065,
      "stop": 4429.587,
      "target": 4422.02,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.86,
        "bb_width_pct": 0.538
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T13-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4427.065,
      "stop": 4427.675,
      "target": 4425.845,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.86,
        "bb_width_pct": 0.538
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T13-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T13:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4433.485,
      "stop": 4436.801,
      "target": 4426.854,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.53,
        "bb_width_pct": 0.563
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T13-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4429.915,
      "stop": 4433.862,
      "target": 4422.02,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.07,
        "bb_width_pct": 0.558
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T14-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T14:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4423.805,
      "stop": 4422.269,
      "target": 4426.877,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.05,
        "bb_width_pct": 0.354
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T14-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T14:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4429.55,
      "stop": 4430.818,
      "target": 4427.014,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.53,
        "bb_width_pct": 0.366
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T14-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T14:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4429.55,
      "stop": 4433.315,
      "target": 4422.02,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.53,
        "bb_width_pct": 0.366
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T14-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T14:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4426.07,
      "stop": 4428.095,
      "target": 4422.02,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.14,
        "bb_width_pct": 0.361
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T14-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T14:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4435.04,
      "stop": 4438.192,
      "target": 4428.737,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.01,
        "bb_width_pct": 0.353
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T14-50-00Z_short_vwap_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T14:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4435.04,
      "stop": 4439.763,
      "target": 4425.594,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.01,
        "bb_width_pct": 0.353
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T14-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T14:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4435.04,
      "stop": 4441.146,
      "target": 4422.827,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.01,
        "bb_width_pct": 0.353
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T14-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T14:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4433.175,
      "stop": 4435.212,
      "target": 4429.1,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.95,
        "bb_width_pct": 0.358
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T14-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T14:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4433.175,
      "stop": 4437.921,
      "target": 4423.682,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.95,
        "bb_width_pct": 0.358
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T15-15-00Z_short_rsi_range_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T15:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4447.315,
      "stop": 4455.124,
      "target": 4431.697,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 22.37,
        "bb_width_pct": 0.67
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T15-15-00Z_short_vwap_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T15:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4447.315,
      "stop": 4457.22,
      "target": 4427.505,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 22.37,
        "bb_width_pct": 0.67
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T15-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T15:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4447.315,
      "stop": 4456.702,
      "target": 4428.54,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 22.37,
        "bb_width_pct": 0.67
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T15-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T15:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4447.275,
      "stop": 4454.719,
      "target": 4432.386,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.21,
        "bb_width_pct": 0.736
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T15-20-00Z_short_rsi_range_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T15:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4447.275,
      "stop": 4454.719,
      "target": 4432.386,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 18.21,
        "bb_width_pct": 0.736
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T15-20-00Z_short_vwap_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T15:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4447.275,
      "stop": 4456.917,
      "target": 4427.99,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 18.21,
        "bb_width_pct": 0.736
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T15-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T15:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4447.275,
      "stop": 4455.43,
      "target": 4430.965,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.21,
        "bb_width_pct": 0.736
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T15-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T15:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4447.765,
      "stop": 4453.402,
      "target": 4436.492,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.76,
        "bb_width_pct": 0.793
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T15-35-00Z_short_rsi_range_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T15:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4450.275,
      "stop": 4457.463,
      "target": 4435.898,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 18.74,
        "bb_width_pct": 0.868
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T15-35-00Z_short_vwap_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T15:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4450.275,
      "stop": 4460.705,
      "target": 4429.414,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 18.74,
        "bb_width_pct": 0.868
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T15-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T15:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4450.275,
      "stop": 4458.604,
      "target": 4433.618,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.74,
        "bb_width_pct": 0.868
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T15-50-00Z_short_rsi_range_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T15:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4448.42,
      "stop": 4452.551,
      "target": 4440.158,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 11.94,
        "bb_width_pct": 0.872
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T15-50-00Z_short_vwap_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T15:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4448.42,
      "stop": 4457.184,
      "target": 4430.893,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.94,
        "bb_width_pct": 0.872
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T15-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T15:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4448.42,
      "stop": 4454.33,
      "target": 4436.6,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.94,
        "bb_width_pct": 0.872
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T15-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T15:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4448.42,
      "stop": 4451.418,
      "target": 4442.423,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.94,
        "bb_width_pct": 0.872
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T16-00-00Z_short_rsi_range_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4453.725,
      "stop": 4459.22,
      "target": 4442.736,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 22.08,
        "bb_width_pct": 0.864
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T16-00-00Z_short_vwap_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4453.725,
      "stop": 4464.676,
      "target": 4431.823,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 22.08,
        "bb_width_pct": 0.864
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T16-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4453.725,
      "stop": 4462.029,
      "target": 4437.118,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 22.08,
        "bb_width_pct": 0.864
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T16-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4453.725,
      "stop": 4458.323,
      "target": 4444.528,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.08,
        "bb_width_pct": 0.864
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T16-05-00Z_short_rsi_range_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T16:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4451.905,
      "stop": 4455.891,
      "target": 4443.933,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 18.86,
        "bb_width_pct": 0.825
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T16-05-00Z_short_vwap_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T16:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4451.905,
      "stop": 4461.737,
      "target": 4432.24,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 18.86,
        "bb_width_pct": 0.825
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T16-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T16:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4451.905,
      "stop": 4458.967,
      "target": 4437.78,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.86,
        "bb_width_pct": 0.825
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T16-10-00Z_short_vwap_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T16:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4447.39,
      "stop": 4454.797,
      "target": 4432.576,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.86,
        "bb_width_pct": 0.78
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T16-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T16:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4447.39,
      "stop": 4452.195,
      "target": 4437.78,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.86,
        "bb_width_pct": 0.78
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T16-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T16:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4460.985,
      "stop": 4465.417,
      "target": 4452.121,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.27,
        "bb_width_pct": 0.439
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T16-40-00Z_short_vwap_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T16:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4460.985,
      "stop": 4473.939,
      "target": 4435.076,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.27,
        "bb_width_pct": 0.439
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T16-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T16:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4460.985,
      "stop": 4470.629,
      "target": 4441.698,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.27,
        "bb_width_pct": 0.439
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T16-45-00Z_short_vwap_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4458.45,
      "stop": 4469.929,
      "target": 4435.492,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.38,
        "bb_width_pct": 0.428
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T16-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4458.45,
      "stop": 4466.767,
      "target": 4441.815,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.38,
        "bb_width_pct": 0.428
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T16-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4458.45,
      "stop": 4461.824,
      "target": 4451.702,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.38,
        "bb_width_pct": 0.428
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T17-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T17:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4462.075,
      "stop": 4465.603,
      "target": 4455.019,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.76,
        "bb_width_pct": 0.469
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T17-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T17:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4462.075,
      "stop": 4472.205,
      "target": 4441.815,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.76,
        "bb_width_pct": 0.469
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T17-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T17:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4462.075,
      "stop": 4465.886,
      "target": 4454.454,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.76,
        "bb_width_pct": 0.469
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T17-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T17:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4458.97,
      "stop": 4467.288,
      "target": 4442.335,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.77,
        "bb_width_pct": 0.45
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T17-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T17:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4460.155,
      "stop": 4468.938,
      "target": 4442.59,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.75,
        "bb_width_pct": 0.417
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T17-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T17:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4461.415,
      "stop": 4470.19,
      "target": 4443.865,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.18,
        "bb_width_pct": 0.41
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T17-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T17:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4459.84,
      "stop": 4467.828,
      "target": 4443.865,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.36,
        "bb_width_pct": 0.386
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T17-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T17:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4462.8,
      "stop": 4464.869,
      "target": 4458.663,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.14,
        "bb_width_pct": 0.308
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T17-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T17:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4463.565,
      "stop": 4465.783,
      "target": 4459.13,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.57,
        "bb_width_pct": 0.253
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T18-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T18:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4457.765,
      "stop": 4463.736,
      "target": 4445.823,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.33,
        "bb_width_pct": 0.2
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T18-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T18:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4453.955,
      "stop": 4451.828,
      "target": 4458.209,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.7,
        "bb_width_pct": 0.222
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T18-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T18:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4454.65,
      "stop": 4452.144,
      "target": 4459.661,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.79,
        "bb_width_pct": 0.278
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T18-20-00Z_long_vwap_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T18:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4454.65,
      "stop": 4452.217,
      "target": 4459.517,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.79,
        "bb_width_pct": 0.278
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T18-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T18:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4454.65,
      "stop": 4453.264,
      "target": 4457.422,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.79,
        "bb_width_pct": 0.278
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T18-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T18:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4452.125,
      "stop": 4449.729,
      "target": 4456.917,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.58,
        "bb_width_pct": 0.314
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T18-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T18:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4452.32,
      "stop": 4449.634,
      "target": 4457.692,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.66,
        "bb_width_pct": 0.382
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T18-40-00Z_long_vwap_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T18:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4452.32,
      "stop": 4449.48,
      "target": 4458.0,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.66,
        "bb_width_pct": 0.382
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T18-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T18:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4452.32,
      "stop": 4450.752,
      "target": 4455.457,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.66,
        "bb_width_pct": 0.382
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T19-10-00Z_long_rsi_range_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T19:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4447.395,
      "stop": 4443.86,
      "target": 4454.465,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.75,
        "bb_width_pct": 0.448
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T19-10-00Z_long_vwap_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T19:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4447.395,
      "stop": 4442.932,
      "target": 4456.32,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.75,
        "bb_width_pct": 0.448
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T19-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T19:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4447.395,
      "stop": 4442.913,
      "target": 4456.36,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 16.75,
        "bb_width_pct": 0.448
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T19-15-00Z_long_vwap_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T19:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4448.68,
      "stop": 4445.02,
      "target": 4456.001,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.99,
        "bb_width_pct": 0.435
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T19-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T19:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4448.68,
      "stop": 4444.84,
      "target": 4456.36,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.99,
        "bb_width_pct": 0.435
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T19-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T19:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4448.68,
      "stop": 4446.833,
      "target": 4452.374,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.99,
        "bb_width_pct": 0.435
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T19-20-00Z_long_vwap_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T19:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4449.275,
      "stop": 4446.034,
      "target": 4455.757,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.01,
        "bb_width_pct": 0.414
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T19-30-00Z_long_vwap_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T19:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4450.9,
      "stop": 4448.685,
      "target": 4455.329,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.72,
        "bb_width_pct": 0.344
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T19-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T19:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4450.9,
      "stop": 4448.735,
      "target": 4455.23,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 2.72,
        "bb_width_pct": 0.344
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T19-35-00Z_long_vwap_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T19:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4451.245,
      "stop": 4449.262,
      "target": 4455.211,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.99,
        "bb_width_pct": 0.248
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T20-05-00Z_short_rsi_range_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T20:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4457.095,
      "stop": 4460.053,
      "target": 4451.179,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 18.34,
        "bb_width_pct": 0.249
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T20-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T20:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4457.095,
      "stop": 4459.272,
      "target": 4452.741,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.34,
        "bb_width_pct": 0.249
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T21-15-00Z_short_rsi_range_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T21:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4474.17,
      "stop": 4477.839,
      "target": 4466.831,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 25.53,
        "bb_width_pct": 0.921
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T21-15-00Z_short_vwap_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T21:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4474.17,
      "stop": 4493.528,
      "target": 4435.454,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 25.53,
        "bb_width_pct": 0.921
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T21-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T21:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4474.17,
      "stop": 4480.149,
      "target": 4462.212,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 25.53,
        "bb_width_pct": 0.921
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T21-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T21:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4474.17,
      "stop": 4476.759,
      "target": 4468.992,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 25.53,
        "bb_width_pct": 0.921
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T21-30-00Z_short_vwap_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T21:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4473.75,
      "stop": 4491.016,
      "target": 4439.217,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.42,
        "bb_width_pct": 0.742
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T21-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T21:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4473.75,
      "stop": 4479.519,
      "target": 4462.212,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.42,
        "bb_width_pct": 0.742
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T21-35-00Z_short_vwap_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T21:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4473.3,
      "stop": 4489.803,
      "target": 4440.294,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.67,
        "bb_width_pct": 0.643
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T21-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T21:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4473.3,
      "stop": 4478.844,
      "target": 4462.212,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.67,
        "bb_width_pct": 0.643
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T21-55-00Z_short_vwap_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T21:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4477.565,
      "stop": 4494.209,
      "target": 4444.277,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.61,
        "bb_width_pct": 0.283
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T21-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T21:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4477.565,
      "stop": 4485.241,
      "target": 4462.212,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.61,
        "bb_width_pct": 0.283
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T23-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4477.91,
      "stop": 4478.868,
      "target": 4475.993,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.49,
        "bb_width_pct": 0.166
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T23-10-00Z_short_vwap_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4476.97,
      "stop": 4492.044,
      "target": 4446.821,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.19,
        "bb_width_pct": 0.167
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T23-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4476.97,
      "stop": 4484.343,
      "target": 4462.225,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.19,
        "bb_width_pct": 0.167
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T23-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4476.97,
      "stop": 4478.502,
      "target": 4473.907,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.19,
        "bb_width_pct": 0.167
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T23-15-00Z_short_vwap_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4475.495,
      "stop": 4489.465,
      "target": 4447.556,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.95,
        "bb_width_pct": 0.161
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T23-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4475.495,
      "stop": 4482.13,
      "target": 4462.225,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.95,
        "bb_width_pct": 0.161
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T23-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T23:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4477.165,
      "stop": 4478.493,
      "target": 4474.509,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.32,
        "bb_width_pct": 0.152
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T23-30-00Z_short_vwap_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4476.405,
      "stop": 4489.819,
      "target": 4449.576,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.91,
        "bb_width_pct": 0.147
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T23-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4476.405,
      "stop": 4483.495,
      "target": 4462.225,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.91,
        "bb_width_pct": 0.147
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T23-40-00Z_short_vwap_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4475.84,
      "stop": 4488.381,
      "target": 4450.757,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.46,
        "bb_width_pct": 0.141
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T23-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4475.84,
      "stop": 4482.048,
      "target": 4463.425,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.46,
        "bb_width_pct": 0.141
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T23-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4473.77,
      "stop": 4472.688,
      "target": 4475.933,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.5,
        "bb_width_pct": 0.133
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T23-45-00Z_short_vwap_mean_reversion",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4473.77,
      "stop": 4485.022,
      "target": 4451.265,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 1.5,
        "bb_width_pct": 0.133
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-08T23-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4473.77,
      "stop": 4478.761,
      "target": 4463.788,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.5,
        "bb_width_pct": 0.133
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T00-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4474.915,
      "stop": 4480.015,
      "target": 4464.715,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.85,
        "bb_width_pct": 0.125
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T00-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T00:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4471.73,
      "stop": 4475.234,
      "target": 4464.722,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 16.45,
        "bb_width_pct": 0.142
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T00-15-00Z_long_rsi_range_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T00:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4471.93,
      "stop": 4470.027,
      "target": 4475.735,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.17,
        "bb_width_pct": 0.154
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T00-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4468.42,
      "stop": 4465.407,
      "target": 4474.445,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.6,
        "bb_width_pct": 0.298
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T00-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4468.42,
      "stop": 4466.294,
      "target": 4472.673,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.6,
        "bb_width_pct": 0.298
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T00-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T00:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4467.365,
      "stop": 4464.08,
      "target": 4473.935,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.64,
        "bb_width_pct": 0.32
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T00-40-00Z_long_rsi_range_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T00:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4467.85,
      "stop": 4465.048,
      "target": 4473.453,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.27,
        "bb_width_pct": 0.333
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T00-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T00:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4467.85,
      "stop": 4465.897,
      "target": 4471.756,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.27,
        "bb_width_pct": 0.333
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T00-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T00:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4462.89,
      "stop": 4458.633,
      "target": 4471.404,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.11,
        "bb_width_pct": 0.438
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T00-55-00Z_long_rsi_range_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T00:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4462.89,
      "stop": 4458.633,
      "target": 4471.404,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.11,
        "bb_width_pct": 0.438
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T00-55-00Z_long_vwap_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T00:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4462.89,
      "stop": 4460.039,
      "target": 4468.593,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.11,
        "bb_width_pct": 0.438
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T00-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T00:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4462.89,
      "stop": 4459.38,
      "target": 4469.91,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 25.11,
        "bb_width_pct": 0.438
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T01-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T01:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4456.305,
      "stop": 4451.122,
      "target": 4466.671,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.06,
        "bb_width_pct": 0.603
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T01-20-00Z_long_rsi_range_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T01:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4456.305,
      "stop": 4451.122,
      "target": 4466.671,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.06,
        "bb_width_pct": 0.603
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T01-20-00Z_long_vwap_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T01:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4456.305,
      "stop": 4451.76,
      "target": 4465.395,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.06,
        "bb_width_pct": 0.603
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T01-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T01:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4456.305,
      "stop": 4451.294,
      "target": 4466.327,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 24.06,
        "bb_width_pct": 0.603
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T01-25-00Z_long_rsi_range_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T01:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4457.495,
      "stop": 4453.314,
      "target": 4465.858,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.68,
        "bb_width_pct": 0.61
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T01-25-00Z_long_vwap_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T01:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4457.495,
      "stop": 4453.759,
      "target": 4464.967,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.68,
        "bb_width_pct": 0.61
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T01-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T01:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4457.495,
      "stop": 4453.079,
      "target": 4466.327,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 16.68,
        "bb_width_pct": 0.61
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T01-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T01:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4457.495,
      "stop": 4454.252,
      "target": 4463.982,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.68,
        "bb_width_pct": 0.61
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T01-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4459.825,
      "stop": 4456.574,
      "target": 4466.327,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.06,
        "bb_width_pct": 0.593
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T01-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4459.825,
      "stop": 4457.945,
      "target": 4463.586,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.06,
        "bb_width_pct": 0.593
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T02-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T02:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4474.145,
      "stop": 4479.488,
      "target": 4463.459,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.8,
        "bb_width_pct": 0.512
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T02-05-00Z_short_vwap_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T02:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4474.145,
      "stop": 4478.624,
      "target": 4465.188,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 18.8,
        "bb_width_pct": 0.512
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T02-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T02:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4474.145,
      "stop": 4478.054,
      "target": 4466.327,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.8,
        "bb_width_pct": 0.512
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T02-10-00Z_short_vwap_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T02:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4472.03,
      "stop": 4475.31,
      "target": 4465.469,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 19.38,
        "bb_width_pct": 0.531
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T02-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T02:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4472.03,
      "stop": 4474.74,
      "target": 4466.611,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.38,
        "bb_width_pct": 0.531
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T02-25-00Z_short_rsi_range_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T02:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4472.32,
      "stop": 4476.252,
      "target": 4464.455,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 26.42,
        "bb_width_pct": 0.59
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T02-25-00Z_short_vwap_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T02:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4472.32,
      "stop": 4475.416,
      "target": 4466.128,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 26.42,
        "bb_width_pct": 0.59
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T02-30-00Z_short_rsi_range_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4471.605,
      "stop": 4474.942,
      "target": 4464.931,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 22.42,
        "bb_width_pct": 0.604
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T02-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4471.605,
      "stop": 4474.441,
      "target": 4465.932,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 22.42,
        "bb_width_pct": 0.604
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T02-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4471.605,
      "stop": 4473.228,
      "target": 4468.359,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.42,
        "bb_width_pct": 0.604
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T02-45-00Z_short_rsi_range_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4471.24,
      "stop": 4473.589,
      "target": 4466.541,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 13.19,
        "bb_width_pct": 0.604
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T03-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T03:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4463.42,
      "stop": 4460.523,
      "target": 4469.215,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.25,
        "bb_width_pct": 0.319
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T03-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4463.575,
      "stop": 4460.785,
      "target": 4469.155,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.68,
        "bb_width_pct": 0.326
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T03-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4463.075,
      "stop": 4460.139,
      "target": 4468.948,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.86,
        "bb_width_pct": 0.346
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T04-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T04:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4464.79,
      "stop": 4465.314,
      "target": 4463.742,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.24,
        "bb_width_pct": 0.101
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T05-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4465.145,
      "stop": 4465.803,
      "target": 4463.828,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.68,
        "bb_width_pct": 0.104
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T05-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4463.8,
      "stop": 4461.424,
      "target": 4468.552,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 3.15,
        "bb_width_pct": 0.1
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T05-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4463.8,
      "stop": 4463.661,
      "target": 4464.078,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.15,
        "bb_width_pct": 0.1
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T05-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4465.075,
      "stop": 4464.12,
      "target": 4466.985,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 2.82,
        "bb_width_pct": 0.135
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T05-35-00Z_short_vwap_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4470.515,
      "stop": 4472.982,
      "target": 4465.58,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.13,
        "bb_width_pct": 0.238
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T05-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4467.54,
      "stop": 4469.166,
      "target": 4464.287,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.85,
        "bb_width_pct": 0.247
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T05-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4467.54,
      "stop": 4468.688,
      "target": 4465.244,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.85,
        "bb_width_pct": 0.247
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T06-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4467.87,
      "stop": 4469.255,
      "target": 4465.1,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.9,
        "bb_width_pct": 0.274
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T06-50-00Z_short_rsi_range_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T06:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4474.36,
      "stop": 4476.784,
      "target": 4469.512,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 17.91,
        "bb_width_pct": 0.381
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T06-50-00Z_short_vwap_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T06:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4474.36,
      "stop": 4478.294,
      "target": 4466.493,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 17.91,
        "bb_width_pct": 0.381
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T06-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T06:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4474.36,
      "stop": 4477.58,
      "target": 4467.92,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.91,
        "bb_width_pct": 0.381
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T06-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T06:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4474.36,
      "stop": 4476.323,
      "target": 4470.435,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.91,
        "bb_width_pct": 0.381
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T06-55-00Z_short_rsi_range_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T06:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4474.175,
      "stop": 4476.247,
      "target": 4470.031,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 13.5,
        "bb_width_pct": 0.372
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T06-55-00Z_short_vwap_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T06:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4474.175,
      "stop": 4477.971,
      "target": 4466.583,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.5,
        "bb_width_pct": 0.372
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T06-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T06:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4474.175,
      "stop": 4477.302,
      "target": 4467.92,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.5,
        "bb_width_pct": 0.372
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T07-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T07:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4471.42,
      "stop": 4473.17,
      "target": 4467.92,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.05,
        "bb_width_pct": 0.289
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T08-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4469.29,
      "stop": 4467.576,
      "target": 4472.717,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.13,
        "bb_width_pct": 0.176
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T08-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4469.29,
      "stop": 4468.346,
      "target": 4471.177,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.13,
        "bb_width_pct": 0.176
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T08-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T08:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4474.24,
      "stop": 4474.985,
      "target": 4472.751,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.74,
        "bb_width_pct": 0.177
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T08-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T08:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4474.24,
      "stop": 4475.625,
      "target": 4471.469,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.74,
        "bb_width_pct": 0.177
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T08-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T08:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4474.325,
      "stop": 4475.122,
      "target": 4472.73,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.8,
        "bb_width_pct": 0.176
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T08-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T08:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4474.325,
      "stop": 4475.617,
      "target": 4471.741,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.8,
        "bb_width_pct": 0.176
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T08-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T08:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4473.835,
      "stop": 4476.792,
      "target": 4467.92,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.93,
        "bb_width_pct": 0.171
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T08-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T08:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4473.235,
      "stop": 4475.892,
      "target": 4467.92,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.57,
        "bb_width_pct": 0.155
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T08-40-00Z_long_vwap_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T08:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4466.785,
      "stop": 4464.281,
      "target": 4471.793,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.48,
        "bb_width_pct": 0.202
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T08-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T08:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4466.785,
      "stop": 4464.632,
      "target": 4471.09,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.48,
        "bb_width_pct": 0.202
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T08-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T08:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4466.995,
      "stop": 4464.923,
      "target": 4471.14,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.67,
        "bb_width_pct": 0.209
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T08-45-00Z_long_vwap_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T08:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4466.995,
      "stop": 4464.709,
      "target": 4471.566,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.67,
        "bb_width_pct": 0.209
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T08-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T08:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4466.995,
      "stop": 4464.999,
      "target": 4470.988,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.67,
        "bb_width_pct": 0.209
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T08-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T08:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4466.995,
      "stop": 4465.142,
      "target": 4470.7,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.67,
        "bb_width_pct": 0.209
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T08-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T08:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4467.345,
      "stop": 4465.55,
      "target": 4470.936,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.82,
        "bb_width_pct": 0.222
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T08-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T08:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4467.345,
      "stop": 4465.319,
      "target": 4471.398,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.82,
        "bb_width_pct": 0.222
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T08-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T08:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4467.345,
      "stop": 4465.827,
      "target": 4470.381,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.82,
        "bb_width_pct": 0.222
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T09-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T09:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4474.81,
      "stop": 4476.503,
      "target": 4471.423,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.41,
        "bb_width_pct": 0.264
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T09-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T09:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4474.81,
      "stop": 4476.779,
      "target": 4470.872,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.41,
        "bb_width_pct": 0.264
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T09-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T09:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4474.81,
      "stop": 4476.386,
      "target": 4471.658,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.41,
        "bb_width_pct": 0.264
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T09-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T09:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4473.95,
      "stop": 4475.45,
      "target": 4470.95,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.16,
        "bb_width_pct": 0.268
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T10-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T10:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4470.69,
      "stop": 4469.863,
      "target": 4472.343,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.01,
        "bb_width_pct": 0.169
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T10-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T10:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4468.78,
      "stop": 4467.058,
      "target": 4472.225,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.37,
        "bb_width_pct": 0.178
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T10-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T10:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4468.78,
      "stop": 4467.568,
      "target": 4471.203,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.37,
        "bb_width_pct": 0.178
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T10-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T10:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4471.835,
      "stop": 4471.715,
      "target": 4472.074,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.22,
        "bb_width_pct": 0.17
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T11-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T11:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4475.525,
      "stop": 4477.204,
      "target": 4472.167,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.32,
        "bb_width_pct": 0.145
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T12-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T12:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4474.185,
      "stop": 4475.036,
      "target": 4472.483,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.5,
        "bb_width_pct": 0.204
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T12-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T12:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4474.185,
      "stop": 4474.667,
      "target": 4473.221,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.5,
        "bb_width_pct": 0.204
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T12-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T12:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4465.925,
      "stop": 4462.902,
      "target": 4471.972,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.37,
        "bb_width_pct": 0.283
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T12-35-00Z_long_vwap_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T12:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4465.925,
      "stop": 4462.972,
      "target": 4471.832,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.37,
        "bb_width_pct": 0.283
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T12-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T12:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4465.925,
      "stop": 4463.472,
      "target": 4470.83,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.37,
        "bb_width_pct": 0.283
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T12-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T12:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4466.255,
      "stop": 4463.585,
      "target": 4471.595,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.52,
        "bb_width_pct": 0.301
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T12-40-00Z_long_vwap_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T12:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4466.255,
      "stop": 4463.793,
      "target": 4471.179,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.52,
        "bb_width_pct": 0.301
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T12-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T12:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4466.255,
      "stop": 4464.002,
      "target": 4470.761,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.52,
        "bb_width_pct": 0.301
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T12-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T12:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4466.005,
      "stop": 4463.593,
      "target": 4470.83,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.52,
        "bb_width_pct": 0.353
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T12-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T12:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4466.005,
      "stop": 4464.255,
      "target": 4469.506,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.52,
        "bb_width_pct": 0.353
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T13-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4469.61,
      "stop": 4469.0,
      "target": 4470.83,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.37,
        "bb_width_pct": 0.351
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T13-40-00Z_short_rsi_range_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T13:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4487.06,
      "stop": 4494.629,
      "target": 4471.922,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 20.26,
        "bb_width_pct": 0.673
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T13-40-00Z_short_vwap_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T13:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4487.06,
      "stop": 4494.741,
      "target": 4471.698,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 20.26,
        "bb_width_pct": 0.673
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T13-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T13:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4487.06,
      "stop": 4493.464,
      "target": 4474.253,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 20.26,
        "bb_width_pct": 0.673
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T13-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4483.41,
      "stop": 4489.01,
      "target": 4472.21,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.83,
        "bb_width_pct": 0.701
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T13-45-00Z_short_rsi_range_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4483.41,
      "stop": 4489.01,
      "target": 4472.21,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 15.83,
        "bb_width_pct": 0.701
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T13-45-00Z_short_vwap_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4483.41,
      "stop": 4488.97,
      "target": 4472.29,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.83,
        "bb_width_pct": 0.701
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T13-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4483.41,
      "stop": 4487.347,
      "target": 4475.535,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.83,
        "bb_width_pct": 0.701
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T13-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4483.41,
      "stop": 4487.554,
      "target": 4475.123,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.83,
        "bb_width_pct": 0.701
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T13-50-00Z_short_vwap_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T13:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4483.03,
      "stop": 4488.181,
      "target": 4472.727,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.74,
        "bb_width_pct": 0.731
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T14-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T14:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4489.41,
      "stop": 4496.089,
      "target": 4476.052,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.82,
        "bb_width_pct": 0.843
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T14-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T14:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4489.41,
      "stop": 4494.419,
      "target": 4479.391,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.82,
        "bb_width_pct": 0.843
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T14-15-00Z_short_rsi_range_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T14:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4487.035,
      "stop": 4491.999,
      "target": 4477.108,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 15.18,
        "bb_width_pct": 0.842
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T14-15-00Z_short_vwap_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T14:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4487.035,
      "stop": 4492.976,
      "target": 4475.152,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.18,
        "bb_width_pct": 0.842
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T14-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T14:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4487.035,
      "stop": 4491.641,
      "target": 4477.823,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.18,
        "bb_width_pct": 0.842
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T14-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T14:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4493.99,
      "stop": 4500.265,
      "target": 4481.44,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.92,
        "bb_width_pct": 0.872
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T14-30-00Z_short_rsi_range_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4489.765,
      "stop": 4494.094,
      "target": 4481.107,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 12.49,
        "bb_width_pct": 0.853
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T14-30-00Z_short_vwap_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4489.765,
      "stop": 4496.266,
      "target": 4476.764,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.49,
        "bb_width_pct": 0.853
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T14-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4489.765,
      "stop": 4495.736,
      "target": 4477.823,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.49,
        "bb_width_pct": 0.853
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T14-40-00Z_short_vwap_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T14:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4487.905,
      "stop": 4492.993,
      "target": 4477.729,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.7,
        "bb_width_pct": 0.803
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T14-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T14:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4487.905,
      "stop": 4492.517,
      "target": 4478.68,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.7,
        "bb_width_pct": 0.803
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T14-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T14:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4487.905,
      "stop": 4489.418,
      "target": 4484.88,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.7,
        "bb_width_pct": 0.803
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T15-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T15:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4493.79,
      "stop": 4496.64,
      "target": 4488.09,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.38,
        "bb_width_pct": 0.462
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T15-00-00Z_short_vwap_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T15:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4493.79,
      "stop": 4501.134,
      "target": 4479.102,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 9.38,
        "bb_width_pct": 0.462
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T15-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T15:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4493.79,
      "stop": 4501.345,
      "target": 4478.68,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.38,
        "bb_width_pct": 0.462
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T15-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T15:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4493.79,
      "stop": 4497.145,
      "target": 4487.08,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.38,
        "bb_width_pct": 0.462
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T15-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T15:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4496.605,
      "stop": 4499.967,
      "target": 4489.881,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.81,
        "bb_width_pct": 0.432
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T15-10-00Z_short_vwap_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T15:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4496.605,
      "stop": 4504.903,
      "target": 4480.009,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.81,
        "bb_width_pct": 0.432
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T15-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T15:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4496.605,
      "stop": 4505.069,
      "target": 4479.677,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.81,
        "bb_width_pct": 0.432
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T15-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T15:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4505.485,
      "stop": 4511.926,
      "target": 4492.602,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.4,
        "bb_width_pct": 0.618
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T15-25-00Z_short_vwap_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T15:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4505.485,
      "stop": 4517.396,
      "target": 4481.663,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 9.4,
        "bb_width_pct": 0.618
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T15-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T15:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4505.485,
      "stop": 4515.695,
      "target": 4485.065,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.4,
        "bb_width_pct": 0.618
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T15-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T15:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4505.485,
      "stop": 4511.655,
      "target": 4493.146,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.4,
        "bb_width_pct": 0.618
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T15-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T15:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4506.305,
      "stop": 4512.575,
      "target": 4493.766,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.93,
        "bb_width_pct": 0.639
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T15-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T15:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4506.305,
      "stop": 4512.258,
      "target": 4494.399,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.93,
        "bb_width_pct": 0.639
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T15-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T15:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4514.44,
      "stop": 4523.235,
      "target": 4496.849,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.62,
        "bb_width_pct": 0.786
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T15-40-00Z_short_rsi_range_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T15:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4514.44,
      "stop": 4523.235,
      "target": 4496.849,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 15.62,
        "bb_width_pct": 0.786
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T15-40-00Z_short_vwap_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T15:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4514.44,
      "stop": 4529.823,
      "target": 4483.674,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.62,
        "bb_width_pct": 0.786
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T15-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T15:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4514.44,
      "stop": 4527.99,
      "target": 4487.34,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.62,
        "bb_width_pct": 0.786
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T15-45-00Z_short_vwap_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T15:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4511.08,
      "stop": 4524.48,
      "target": 4484.279,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 20.18,
        "bb_width_pct": 0.806
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T15-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T15:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4511.08,
      "stop": 4522.574,
      "target": 4488.093,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 20.18,
        "bb_width_pct": 0.806
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T15-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T15:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4511.08,
      "stop": 4516.934,
      "target": 4499.371,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.18,
        "bb_width_pct": 0.806
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T15-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T15:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4511.74,
      "stop": 4517.335,
      "target": 4500.549,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 24.56,
        "bb_width_pct": 0.827
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T15-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T15:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4512.43,
      "stop": 4517.805,
      "target": 4501.681,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.31,
        "bb_width_pct": 0.826
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T16-00-00Z_short_rsi_range_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4511.755,
      "stop": 4516.974,
      "target": 4501.316,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 17.29,
        "bb_width_pct": 0.843
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T16-00-00Z_short_vwap_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4511.755,
      "stop": 4524.641,
      "target": 4485.984,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 17.29,
        "bb_width_pct": 0.843
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T16-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4511.755,
      "stop": 4523.586,
      "target": 4488.093,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.29,
        "bb_width_pct": 0.843
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T16-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4511.755,
      "stop": 4516.312,
      "target": 4502.64,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.29,
        "bb_width_pct": 0.843
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T16-05-00Z_short_vwap_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T16:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4507.67,
      "stop": 4518.288,
      "target": 4486.433,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.93,
        "bb_width_pct": 0.839
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T16-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T16:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4507.67,
      "stop": 4517.459,
      "target": 4488.093,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.93,
        "bb_width_pct": 0.839
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T16-10-00Z_short_vwap_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T16:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4503.225,
      "stop": 4511.45,
      "target": 4486.774,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.35,
        "bb_width_pct": 0.801
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T16-20-00Z_short_vwap_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T16:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4502.335,
      "stop": 4509.786,
      "target": 4487.434,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.13,
        "bb_width_pct": 0.73
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T16-30-00Z_short_vwap_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T16:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4503.51,
      "stop": 4511.26,
      "target": 4488.01,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.35,
        "bb_width_pct": 0.553
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T16-40-00Z_short_vwap_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T16:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4504.705,
      "stop": 4512.769,
      "target": 4488.577,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.72,
        "bb_width_pct": 0.448
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T16-45-00Z_long_rsi_range_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4505.38,
      "stop": 4504.671,
      "target": 4506.798,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.04,
        "bb_width_pct": 0.428
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T16-55-00Z_short_vwap_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4506.505,
      "stop": 4515.03,
      "target": 4489.455,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.49,
        "bb_width_pct": 0.337
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T17-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T17:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4502.09,
      "stop": 4500.282,
      "target": 4505.705,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.82,
        "bb_width_pct": 0.18
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T18-00-00Z_long_rsi_range_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T18:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4486.16,
      "stop": 4477.988,
      "target": 4502.503,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 27.01,
        "bb_width_pct": 0.653
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T18-00-00Z_long_vwap_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T18:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4486.16,
      "stop": 4478.502,
      "target": 4501.477,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 27.01,
        "bb_width_pct": 0.653
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T18-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T18:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4486.16,
      "stop": 4480.144,
      "target": 4498.193,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 27.01,
        "bb_width_pct": 0.653
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T18-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T18:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4489.11,
      "stop": 4482.78,
      "target": 4501.77,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.56,
        "bb_width_pct": 0.702
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T18-05-00Z_long_rsi_range_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T18:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4489.11,
      "stop": 4482.78,
      "target": 4501.77,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.56,
        "bb_width_pct": 0.702
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T18-05-00Z_long_vwap_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T18:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4489.11,
      "stop": 4483.356,
      "target": 4500.619,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.56,
        "bb_width_pct": 0.702
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T18-10-00Z_long_vwap_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T18:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4492.955,
      "stop": 4489.429,
      "target": 4500.008,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.99,
        "bb_width_pct": 0.721
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T18-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T18:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4492.955,
      "stop": 4490.312,
      "target": 4498.241,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.99,
        "bb_width_pct": 0.721
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T18-20-00Z_long_rsi_range_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T18:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4492.335,
      "stop": 4488.513,
      "target": 4499.979,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.25,
        "bb_width_pct": 0.75
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T20-20-00Z_short_vwap_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T20:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4507.755,
      "stop": 4511.944,
      "target": 4499.377,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 18.98,
        "bb_width_pct": 0.342
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T20-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T20:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4507.755,
      "stop": 4513.485,
      "target": 4496.295,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.98,
        "bb_width_pct": 0.342
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T20-25-00Z_short_vwap_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T20:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4505.575,
      "stop": 4508.599,
      "target": 4499.527,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.32,
        "bb_width_pct": 0.358
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T20-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T20:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4505.575,
      "stop": 4510.215,
      "target": 4496.295,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.32,
        "bb_width_pct": 0.358
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T20-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T20:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4505.575,
      "stop": 4507.512,
      "target": 4501.7,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.32,
        "bb_width_pct": 0.358
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T20-30-00Z_short_vwap_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T20:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4505.29,
      "stop": 4508.109,
      "target": 4499.651,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.36,
        "bb_width_pct": 0.363
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T20-35-00Z_short_vwap_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T20:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4504.46,
      "stop": 4506.807,
      "target": 4499.765,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.48,
        "bb_width_pct": 0.358
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T20-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T20:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4504.46,
      "stop": 4508.614,
      "target": 4496.153,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.48,
        "bb_width_pct": 0.358
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T20-40-00Z_short_vwap_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4504.115,
      "stop": 4506.245,
      "target": 4499.854,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.99,
        "bb_width_pct": 0.336
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T20-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T20:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4507.63,
      "stop": 4509.932,
      "target": 4503.026,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.88,
        "bb_width_pct": 0.305
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T20-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T20:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4507.63,
      "stop": 4509.708,
      "target": 4503.474,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.88,
        "bb_width_pct": 0.305
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T21-00-00Z_short_vwap_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T21:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4506.79,
      "stop": 4523.663,
      "target": 4473.045,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 16.12,
        "bb_width_pct": 0.312
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T21-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T21:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4506.79,
      "stop": 4512.122,
      "target": 4496.125,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 16.12,
        "bb_width_pct": 0.312
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T21-05-00Z_short_vwap_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T21:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4505.37,
      "stop": 4520.899,
      "target": 4474.312,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.3,
        "bb_width_pct": 0.302
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T21-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T21:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4505.37,
      "stop": 4509.993,
      "target": 4496.125,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.3,
        "bb_width_pct": 0.302
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T21-20-00Z_short_vwap_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T21:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4510.0,
      "stop": 4526.055,
      "target": 4477.89,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.03,
        "bb_width_pct": 0.276
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T21-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T21:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4510.0,
      "stop": 4515.983,
      "target": 4498.035,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.03,
        "bb_width_pct": 0.276
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T21-25-00Z_short_vwap_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T21:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4509.76,
      "stop": 4525.163,
      "target": 4478.954,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.2,
        "bb_width_pct": 0.274
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T21-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T21:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4509.76,
      "stop": 4514.97,
      "target": 4499.34,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.2,
        "bb_width_pct": 0.274
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T21-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T21:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4509.76,
      "stop": 4511.741,
      "target": 4505.798,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.2,
        "bb_width_pct": 0.274
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T21-30-00Z_short_vwap_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T21:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4508.05,
      "stop": 4522.12,
      "target": 4479.91,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.08,
        "bb_width_pct": 0.259
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T21-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T21:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4508.05,
      "stop": 4511.986,
      "target": 4500.177,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.08,
        "bb_width_pct": 0.259
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T21-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T21:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4508.05,
      "stop": 4509.069,
      "target": 4506.012,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.08,
        "bb_width_pct": 0.259
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T21-35-00Z_short_vwap_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T21:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4507.645,
      "stop": 4521.082,
      "target": 4480.771,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.28,
        "bb_width_pct": 0.222
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T21-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T21:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4507.645,
      "stop": 4511.379,
      "target": 4500.177,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.28,
        "bb_width_pct": 0.222
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T21-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T21:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4510.25,
      "stop": 4512.097,
      "target": 4506.557,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.43,
        "bb_width_pct": 0.209
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T21-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T21:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4510.445,
      "stop": 4512.204,
      "target": 4506.927,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.11,
        "bb_width_pct": 0.176
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T21-50-00Z_short_rsi_range_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T21:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4510.035,
      "stop": 4511.274,
      "target": 4507.558,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 15.08,
        "bb_width_pct": 0.183
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T21-50-00Z_short_vwap_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T21:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4510.035,
      "stop": 4523.431,
      "target": 4483.242,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.08,
        "bb_width_pct": 0.183
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T21-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T21:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4510.035,
      "stop": 4513.951,
      "target": 4502.203,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.08,
        "bb_width_pct": 0.183
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T21-55-00Z_short_vwap_mean_reversion",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T21:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4509.66,
      "stop": 4522.502,
      "target": 4483.975,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.89,
        "bb_width_pct": 0.187
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-09T21-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T21:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4509.66,
      "stop": 4513.389,
      "target": 4502.203,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.89,
        "bb_width_pct": 0.187
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T02-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T02:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4568.39,
      "stop": 4562.138,
      "target": 4580.895,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.09,
        "bb_width_pct": 0.764
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T02-05-00Z_long_rsi_range_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T02:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4568.39,
      "stop": 4562.138,
      "target": 4580.895,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.09,
        "bb_width_pct": 0.764
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T02-15-00Z_long_rsi_range_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T02:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4568.585,
      "stop": 4563.079,
      "target": 4579.597,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.36,
        "bb_width_pct": 0.821
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T02-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4578.215,
      "stop": 4581.192,
      "target": 4572.261,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.25,
        "bb_width_pct": 0.468
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T03-15-00Z_short_rsi_range_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4578.21,
      "stop": 4580.661,
      "target": 4573.309,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 16.97,
        "bb_width_pct": 0.401
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T03-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T03:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4570.935,
      "stop": 4568.835,
      "target": 4575.135,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.72,
        "bb_width_pct": 0.394
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T03-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T03:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4573.355,
      "stop": 4569.125,
      "target": 4581.815,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.21,
        "bb_width_pct": 0.364
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T03-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T03:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4573.355,
      "stop": 4572.55,
      "target": 4574.966,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.21,
        "bb_width_pct": 0.364
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T04-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T04:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4567.315,
      "stop": 4563.419,
      "target": 4575.106,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.29,
        "bb_width_pct": 0.354
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T04-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4568.35,
      "stop": 4564.922,
      "target": 4575.206,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.45,
        "bb_width_pct": 0.337
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T04-05-00Z_long_vwap_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4568.35,
      "stop": 4565.392,
      "target": 4574.265,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.45,
        "bb_width_pct": 0.337
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T04-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4568.35,
      "stop": 4561.618,
      "target": 4581.815,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.45,
        "bb_width_pct": 0.337
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T04-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4568.35,
      "stop": 4565.853,
      "target": 4573.344,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.45,
        "bb_width_pct": 0.337
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T04-10-00Z_long_vwap_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T04:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4568.825,
      "stop": 4566.163,
      "target": 4574.15,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.28,
        "bb_width_pct": 0.346
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T04-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T04:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4568.825,
      "stop": 4562.33,
      "target": 4581.815,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.28,
        "bb_width_pct": 0.346
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T04-35-00Z_long_rsi_range_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4566.175,
      "stop": 4562.851,
      "target": 4572.823,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.29,
        "bb_width_pct": 0.418
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T04-35-00Z_long_vwap_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4566.175,
      "stop": 4562.446,
      "target": 4573.634,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.29,
        "bb_width_pct": 0.418
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T04-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4566.175,
      "stop": 4562.628,
      "target": 4573.27,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 17.29,
        "bb_width_pct": 0.418
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T04-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4566.175,
      "stop": 4563.835,
      "target": 4570.854,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.29,
        "bb_width_pct": 0.418
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T04-40-00Z_long_vwap_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4567.985,
      "stop": 4565.215,
      "target": 4573.525,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.91,
        "bb_width_pct": 0.42
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T05-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4572.505,
      "stop": 4574.063,
      "target": 4569.389,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.8,
        "bb_width_pct": 0.203
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T05-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4580.195,
      "stop": 4584.271,
      "target": 4572.043,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.08,
        "bb_width_pct": 0.469
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T05-50-00Z_short_rsi_range_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4580.195,
      "stop": 4584.271,
      "target": 4572.043,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 19.08,
        "bb_width_pct": 0.469
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T05-50-00Z_short_vwap_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4580.195,
      "stop": 4583.546,
      "target": 4573.494,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 19.08,
        "bb_width_pct": 0.469
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T05-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4580.195,
      "stop": 4583.136,
      "target": 4574.312,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 19.08,
        "bb_width_pct": 0.469
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T05-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4580.195,
      "stop": 4583.04,
      "target": 4574.506,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.08,
        "bb_width_pct": 0.469
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T05-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T05:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4581.065,
      "stop": 4584.032,
      "target": 4575.131,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 25.48,
        "bb_width_pct": 0.499
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T06-55-00Z_short_vwap_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T06:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4578.56,
      "stop": 4580.927,
      "target": 4573.826,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.33,
        "bb_width_pct": 0.295
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T07-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T07:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4585.92,
      "stop": 4589.948,
      "target": 4577.863,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 25.1,
        "bb_width_pct": 0.353
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T07-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T07:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4584.0,
      "stop": 4587.015,
      "target": 4577.971,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.32,
        "bb_width_pct": 0.364
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T07-20-00Z_short_rsi_range_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T07:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4584.0,
      "stop": 4587.015,
      "target": 4577.971,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 22.32,
        "bb_width_pct": 0.364
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T07-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T07:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4584.0,
      "stop": 4588.616,
      "target": 4574.767,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 22.32,
        "bb_width_pct": 0.364
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T07-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T07:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4581.47,
      "stop": 4584.416,
      "target": 4575.577,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.66,
        "bb_width_pct": 0.35
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T07-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T07:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4581.47,
      "stop": 4582.905,
      "target": 4578.6,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.66,
        "bb_width_pct": 0.35
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T07-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T07:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4583.83,
      "stop": 4587.956,
      "target": 4575.577,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.8,
        "bb_width_pct": 0.384
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T07-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T07:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4586.17,
      "stop": 4588.828,
      "target": 4580.853,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.92,
        "bb_width_pct": 0.405
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T07-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T07:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4587.77,
      "stop": 4591.52,
      "target": 4580.271,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.72,
        "bb_width_pct": 0.41
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T07-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T07:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4587.77,
      "stop": 4590.899,
      "target": 4581.512,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.72,
        "bb_width_pct": 0.41
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T08-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4587.085,
      "stop": 4591.66,
      "target": 4577.935,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.73,
        "bb_width_pct": 0.413
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T08-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4587.085,
      "stop": 4589.606,
      "target": 4582.043,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.73,
        "bb_width_pct": 0.413
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T08-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T08:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4583.8,
      "stop": 4586.733,
      "target": 4577.935,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.03,
        "bb_width_pct": 0.391
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T08-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4586.975,
      "stop": 4588.542,
      "target": 4583.84,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.29,
        "bb_width_pct": 0.216
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T08-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4586.975,
      "stop": 4588.909,
      "target": 4583.106,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.29,
        "bb_width_pct": 0.216
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T08-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T08:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4585.695,
      "stop": 4586.392,
      "target": 4584.3,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.02,
        "bb_width_pct": 0.161
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T08-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T08:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4585.695,
      "stop": 4588.675,
      "target": 4579.735,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.02,
        "bb_width_pct": 0.161
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T09-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4594.535,
      "stop": 4598.489,
      "target": 4586.628,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.73,
        "bb_width_pct": 0.419
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T09-00-00Z_short_vwap_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4594.535,
      "stop": 4599.055,
      "target": 4585.495,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.73,
        "bb_width_pct": 0.419
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T09-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4594.535,
      "stop": 4599.72,
      "target": 4584.165,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.73,
        "bb_width_pct": 0.419
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T09-15-00Z_short_rsi_range_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T09:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4596.6,
      "stop": 4600.522,
      "target": 4588.757,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 23.22,
        "bb_width_pct": 0.474
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T09-15-00Z_short_vwap_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T09:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4596.6,
      "stop": 4601.579,
      "target": 4586.643,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 23.22,
        "bb_width_pct": 0.474
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T09-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T09:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4596.6,
      "stop": 4602.818,
      "target": 4584.165,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 23.22,
        "bb_width_pct": 0.474
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T09-25-00Z_short_rsi_range_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T09:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4596.635,
      "stop": 4599.923,
      "target": 4590.058,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 24.21,
        "bb_width_pct": 0.508
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T09-25-00Z_short_vwap_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T09:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4596.635,
      "stop": 4601.275,
      "target": 4587.355,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 24.21,
        "bb_width_pct": 0.508
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T09-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T09:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4596.635,
      "stop": 4602.641,
      "target": 4584.622,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 24.21,
        "bb_width_pct": 0.508
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T09-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T09:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4596.635,
      "stop": 4599.382,
      "target": 4591.141,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 24.21,
        "bb_width_pct": 0.508
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T09-30-00Z_short_rsi_range_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4596.135,
      "stop": 4598.924,
      "target": 4590.556,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 22.24,
        "bb_width_pct": 0.514
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T09-30-00Z_short_vwap_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4596.135,
      "stop": 4600.385,
      "target": 4587.635,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 22.24,
        "bb_width_pct": 0.514
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T09-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4596.135,
      "stop": 4601.864,
      "target": 4584.677,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 22.24,
        "bb_width_pct": 0.514
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T09-35-00Z_short_vwap_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4593.74,
      "stop": 4596.681,
      "target": 4587.858,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 18.0,
        "bb_width_pct": 0.514
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T09-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4593.74,
      "stop": 4597.765,
      "target": 4585.69,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.0,
        "bb_width_pct": 0.514
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T09-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T09:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4592.04,
      "stop": 4595.215,
      "target": 4585.69,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.67,
        "bb_width_pct": 0.494
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T11-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T11:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4588.22,
      "stop": 4586.851,
      "target": 4590.959,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.33,
        "bb_width_pct": 0.171
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T11-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T11:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4587.47,
      "stop": 4585.964,
      "target": 4590.482,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.09,
        "bb_width_pct": 0.21
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T11-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T11:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4587.47,
      "stop": 4586.03,
      "target": 4590.349,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.09,
        "bb_width_pct": 0.21
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T11-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T11:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4585.595,
      "stop": 4583.27,
      "target": 4590.245,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.21,
        "bb_width_pct": 0.231
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T11-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T11:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4585.595,
      "stop": 4583.553,
      "target": 4589.679,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.21,
        "bb_width_pct": 0.231
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T11-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T11:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4585.315,
      "stop": 4582.952,
      "target": 4590.042,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.68,
        "bb_width_pct": 0.249
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T11-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T11:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4585.315,
      "stop": 4583.341,
      "target": 4589.263,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.68,
        "bb_width_pct": 0.249
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T12-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4584.47,
      "stop": 4581.862,
      "target": 4589.685,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.31,
        "bb_width_pct": 0.268
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T12-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4584.47,
      "stop": 4582.302,
      "target": 4588.807,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.31,
        "bb_width_pct": 0.268
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T12-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T12:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4582.265,
      "stop": 4578.973,
      "target": 4588.85,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.27,
        "bb_width_pct": 0.332
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T12-10-00Z_long_rsi_range_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T12:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4582.265,
      "stop": 4578.973,
      "target": 4588.85,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.27,
        "bb_width_pct": 0.332
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T12-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T12:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4582.265,
      "stop": 4578.761,
      "target": 4589.273,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 19.27,
        "bb_width_pct": 0.332
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T12-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T12:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4582.265,
      "stop": 4579.633,
      "target": 4587.529,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.27,
        "bb_width_pct": 0.332
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T12-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T12:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4580.82,
      "stop": 4577.087,
      "target": 4588.287,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.1,
        "bb_width_pct": 0.358
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T12-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T12:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4582.37,
      "stop": 4579.599,
      "target": 4587.912,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.61,
        "bb_width_pct": 0.374
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T12-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T12:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4582.37,
      "stop": 4578.919,
      "target": 4589.273,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 13.61,
        "bb_width_pct": 0.374
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T12-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T12:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4582.37,
      "stop": 4580.325,
      "target": 4586.46,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.61,
        "bb_width_pct": 0.374
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T12-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T12:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4582.82,
      "stop": 4579.74,
      "target": 4588.98,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.24,
        "bb_width_pct": 0.374
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T14-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4600.28,
      "stop": 4600.704,
      "target": 4599.432,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.24,
        "bb_width_pct": 1.008
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T14-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T14:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4596.88,
      "stop": 4594.512,
      "target": 4601.617,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.11,
        "bb_width_pct": 0.834
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T14-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4598.23,
      "stop": 4595.578,
      "target": 4603.534,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.8,
        "bb_width_pct": 0.736
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T14-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4598.23,
      "stop": 4597.528,
      "target": 4599.634,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.8,
        "bb_width_pct": 0.736
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T15-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T15:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4617.6,
      "stop": 4624.033,
      "target": 4604.734,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.87,
        "bb_width_pct": 0.739
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T15-15-00Z_short_vwap_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T15:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4614.645,
      "stop": 4622.415,
      "target": 4599.105,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.38,
        "bb_width_pct": 0.754
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T15-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T15:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4614.645,
      "stop": 4622.251,
      "target": 4599.432,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.38,
        "bb_width_pct": 0.754
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T15-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T15:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4623.075,
      "stop": 4629.855,
      "target": 4609.515,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 27.16,
        "bb_width_pct": 0.838
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T15-40-00Z_short_rsi_range_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T15:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4623.535,
      "stop": 4631.2,
      "target": 4608.204,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 10.88,
        "bb_width_pct": 0.946
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T15-40-00Z_short_vwap_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T15:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4623.535,
      "stop": 4634.505,
      "target": 4601.595,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.88,
        "bb_width_pct": 0.946
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T15-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T15:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4623.535,
      "stop": 4633.195,
      "target": 4604.215,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.88,
        "bb_width_pct": 0.946
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T15-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T15:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4623.535,
      "stop": 4629.139,
      "target": 4612.328,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.88,
        "bb_width_pct": 0.946
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T15-45-00Z_short_vwap_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T15:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4622.175,
      "stop": 4632.243,
      "target": 4602.04,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 17.4,
        "bb_width_pct": 0.961
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T15-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T15:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4622.175,
      "stop": 4630.776,
      "target": 4604.972,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.4,
        "bb_width_pct": 0.961
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T15-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T15:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4622.175,
      "stop": 4626.63,
      "target": 4613.266,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.4,
        "bb_width_pct": 0.961
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T15-50-00Z_short_rsi_range_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T15:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4621.195,
      "stop": 4626.484,
      "target": 4610.617,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 19.62,
        "bb_width_pct": 0.949
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T15-50-00Z_short_vwap_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T15:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4621.195,
      "stop": 4630.571,
      "target": 4602.443,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 19.62,
        "bb_width_pct": 0.949
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T15-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T15:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4621.195,
      "stop": 4628.914,
      "target": 4605.757,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 19.62,
        "bb_width_pct": 0.949
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T16-15-00Z_short_rsi_range_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T16:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4628.375,
      "stop": 4633.808,
      "target": 4617.51,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 14.15,
        "bb_width_pct": 0.746
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T16-15-00Z_short_vwap_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T16:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4628.375,
      "stop": 4640.281,
      "target": 4604.563,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.15,
        "bb_width_pct": 0.746
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T16-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T16:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4628.375,
      "stop": 4638.816,
      "target": 4607.493,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.15,
        "bb_width_pct": 0.746
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T16-20-00Z_short_vwap_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T16:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4624.49,
      "stop": 4634.255,
      "target": 4604.96,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.47,
        "bb_width_pct": 0.708
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T16-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T16:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4624.49,
      "stop": 4632.92,
      "target": 4607.63,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.47,
        "bb_width_pct": 0.708
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T16-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T16:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4624.49,
      "stop": 4627.116,
      "target": 4619.238,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.47,
        "bb_width_pct": 0.708
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T16-25-00Z_short_vwap_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T16:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4620.025,
      "stop": 4627.404,
      "target": 4605.267,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.39,
        "bb_width_pct": 0.628
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T16-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T16:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4620.025,
      "stop": 4626.222,
      "target": 4607.63,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.39,
        "bb_width_pct": 0.628
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T16-35-00Z_short_vwap_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4613.35,
      "stop": 4617.146,
      "target": 4605.757,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.5,
        "bb_width_pct": 0.45
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T16-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T16:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4612.42,
      "stop": 4608.092,
      "target": 4621.076,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.38,
        "bb_width_pct": 0.399
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T16-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T16:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4612.42,
      "stop": 4609.475,
      "target": 4618.311,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.38,
        "bb_width_pct": 0.399
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T16-55-00Z_short_vwap_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4616.93,
      "stop": 4622.209,
      "target": 4606.373,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.93,
        "bb_width_pct": 0.388
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T17-20-00Z_long_rsi_range_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T17:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4616.305,
      "stop": 4614.706,
      "target": 4619.504,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.43,
        "bb_width_pct": 0.413
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T17-25-00Z_long_rsi_range_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T17:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4616.39,
      "stop": 4614.978,
      "target": 4619.215,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.6,
        "bb_width_pct": 0.414
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T18-20-00Z_long_rsi_range_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T18:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4604.875,
      "stop": 4600.277,
      "target": 4614.071,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.78,
        "bb_width_pct": 0.343
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T18-20-00Z_long_vwap_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T18:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4604.875,
      "stop": 4600.222,
      "target": 4614.182,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.78,
        "bb_width_pct": 0.343
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T18-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T18:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4604.875,
      "stop": 4599.292,
      "target": 4616.04,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 16.78,
        "bb_width_pct": 0.343
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T18-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T18:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4605.645,
      "stop": 4601.689,
      "target": 4613.558,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.92,
        "bb_width_pct": 0.375
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T18-25-00Z_long_rsi_range_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T18:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4605.645,
      "stop": 4601.689,
      "target": 4613.558,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.92,
        "bb_width_pct": 0.375
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T18-25-00Z_long_vwap_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T18:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4605.645,
      "stop": 4601.66,
      "target": 4613.616,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.92,
        "bb_width_pct": 0.375
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T18-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T18:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4605.645,
      "stop": 4600.489,
      "target": 4615.958,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.92,
        "bb_width_pct": 0.375
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T18-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T18:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4605.645,
      "stop": 4602.205,
      "target": 4612.526,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.92,
        "bb_width_pct": 0.375
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T18-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4610.25,
      "stop": 4608.764,
      "target": 4613.221,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.89,
        "bb_width_pct": 0.374
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T18-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4610.25,
      "stop": 4607.741,
      "target": 4615.267,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.89,
        "bb_width_pct": 0.374
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T18-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4610.25,
      "stop": 4609.22,
      "target": 4612.309,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.89,
        "bb_width_pct": 0.374
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T18-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T18:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4607.085,
      "stop": 4602.994,
      "target": 4615.267,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.54,
        "bb_width_pct": 0.404
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T19-30-00Z_short_rsi_range_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T19:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4616.235,
      "stop": 4618.917,
      "target": 4610.872,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 19.75,
        "bb_width_pct": 0.372
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T19-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T19:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4616.235,
      "stop": 4618.067,
      "target": 4612.571,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.75,
        "bb_width_pct": 0.372
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T19-50-00Z_short_rsi_range_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T19:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4612.895,
      "stop": 4613.817,
      "target": 4611.051,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 14.05,
        "bb_width_pct": 0.37
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T20-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T20:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4604.275,
      "stop": 4600.691,
      "target": 4611.443,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.69,
        "bb_width_pct": 0.336
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T20-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T20:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4603.125,
      "stop": 4599.267,
      "target": 4610.842,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.67,
        "bb_width_pct": 0.408
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T20-10-00Z_long_vwap_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T20:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4603.125,
      "stop": 4598.648,
      "target": 4612.079,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.67,
        "bb_width_pct": 0.408
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T20-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T20:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4603.125,
      "stop": 4599.528,
      "target": 4610.32,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 17.67,
        "bb_width_pct": 0.408
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T20-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T20:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4601.79,
      "stop": 4597.474,
      "target": 4610.422,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.37,
        "bb_width_pct": 0.443
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T20-20-00Z_long_rsi_range_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T20:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4602.63,
      "stop": 4598.817,
      "target": 4610.256,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.52,
        "bb_width_pct": 0.459
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T20-20-00Z_long_vwap_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T20:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4602.63,
      "stop": 4598.152,
      "target": 4611.587,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.52,
        "bb_width_pct": 0.459
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T20-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T20:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4602.63,
      "stop": 4598.849,
      "target": 4610.192,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 22.52,
        "bb_width_pct": 0.459
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T20-30-00Z_long_rsi_range_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T20:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4602.705,
      "stop": 4599.145,
      "target": 4609.824,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.09,
        "bb_width_pct": 0.495
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T20-30-00Z_long_vwap_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T20:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4602.705,
      "stop": 4598.466,
      "target": 4611.182,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.09,
        "bb_width_pct": 0.495
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T20-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T20:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4602.705,
      "stop": 4598.961,
      "target": 4610.192,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 26.09,
        "bb_width_pct": 0.495
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T20-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T20:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4602.705,
      "stop": 4600.191,
      "target": 4607.733,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.09,
        "bb_width_pct": 0.495
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T20-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T20:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4602.115,
      "stop": 4599.574,
      "target": 4607.198,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.87,
        "bb_width_pct": 0.516
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T20-50-00Z_long_rsi_range_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T20:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4598.335,
      "stop": 4594.076,
      "target": 4606.853,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.48,
        "bb_width_pct": 0.673
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T20-50-00Z_long_vwap_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T20:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4598.335,
      "stop": 4592.503,
      "target": 4610.0,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.48,
        "bb_width_pct": 0.673
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T20-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T20:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4598.335,
      "stop": 4594.368,
      "target": 4606.27,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 22.48,
        "bb_width_pct": 0.673
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T20-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T20:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4598.335,
      "stop": 4595.479,
      "target": 4604.048,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.48,
        "bb_width_pct": 0.673
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T21-05-00Z_long_rsi_range_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T21:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4595.98,
      "stop": 4592.142,
      "target": 4603.656,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.5,
        "bb_width_pct": 0.69
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T21-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T21:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4595.98,
      "stop": 4591.029,
      "target": 4605.882,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 11.5,
        "bb_width_pct": 0.69
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T21-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T21:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4595.98,
      "stop": 4593.223,
      "target": 4601.493,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.5,
        "bb_width_pct": 0.69
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T21-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T21:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4593.115,
      "stop": 4587.149,
      "target": 4605.047,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.24,
        "bb_width_pct": 0.634
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T21-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T21:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4593.115,
      "stop": 4589.703,
      "target": 4599.938,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.24,
        "bb_width_pct": 0.634
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T21-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T21:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4593.64,
      "stop": 4587.986,
      "target": 4604.948,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.85,
        "bb_width_pct": 0.573
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T21-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T21:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4593.91,
      "stop": 4588.391,
      "target": 4604.948,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.63,
        "bb_width_pct": 0.522
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T21-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T21:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4594.365,
      "stop": 4589.074,
      "target": 4604.948,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 13.96,
        "bb_width_pct": 0.452
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T21-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T21:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4594.06,
      "stop": 4588.81,
      "target": 4604.56,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 2.04,
        "bb_width_pct": 0.37
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T21-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T21:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4594.06,
      "stop": 4592.64,
      "target": 4596.9,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.04,
        "bb_width_pct": 0.37
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T21-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T21:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4597.65,
      "stop": 4594.375,
      "target": 4604.2,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.31,
        "bb_width_pct": 0.332
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T23-00-00Z_short_vwap_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4596.51,
      "stop": 4599.057,
      "target": 4591.416,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.41,
        "bb_width_pct": 0.302
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T23-15-00Z_long_vwap_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4583.64,
      "stop": 4579.913,
      "target": 4591.094,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.85,
        "bb_width_pct": 0.381
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T23-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4583.64,
      "stop": 4576.19,
      "target": 4598.54,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.85,
        "bb_width_pct": 0.381
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T23-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T23:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4587.895,
      "stop": 4585.576,
      "target": 4592.533,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.34,
        "bb_width_pct": 0.392
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T23-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T23:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4587.895,
      "stop": 4582.573,
      "target": 4598.54,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.34,
        "bb_width_pct": 0.392
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T23-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T23:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4587.895,
      "stop": 4585.307,
      "target": 4593.071,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.34,
        "bb_width_pct": 0.392
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T23-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4590.09,
      "stop": 4585.865,
      "target": 4598.54,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.59,
        "bb_width_pct": 0.402
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-12T23-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4590.09,
      "stop": 4589.109,
      "target": 4592.052,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.59,
        "bb_width_pct": 0.402
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T01-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4583.485,
      "stop": 4580.377,
      "target": 4589.701,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.55,
        "bb_width_pct": 0.338
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T01-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4583.485,
      "stop": 4580.482,
      "target": 4589.491,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.55,
        "bb_width_pct": 0.338
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T01-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T01:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4585.075,
      "stop": 4583.493,
      "target": 4588.24,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.47,
        "bb_width_pct": 0.376
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T01-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T01:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4585.075,
      "stop": 4583.716,
      "target": 4587.792,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 3.47,
        "bb_width_pct": 0.376
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T01-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T01:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4585.075,
      "stop": 4583.995,
      "target": 4587.236,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.47,
        "bb_width_pct": 0.376
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T02-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T02:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4584.925,
      "stop": 4584.746,
      "target": 4585.284,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.5,
        "bb_width_pct": 0.337
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T02-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T02:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4584.925,
      "stop": 4583.491,
      "target": 4587.792,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 2.5,
        "bb_width_pct": 0.337
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T02-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4592.155,
      "stop": 4595.559,
      "target": 4585.346,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.92,
        "bb_width_pct": 0.346
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T02-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4592.155,
      "stop": 4594.869,
      "target": 4586.726,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.92,
        "bb_width_pct": 0.346
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T02-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T02:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4593.52,
      "stop": 4596.593,
      "target": 4587.373,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.78,
        "bb_width_pct": 0.354
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T02-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T02:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4594.355,
      "stop": 4598.647,
      "target": 4585.772,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.96,
        "bb_width_pct": 0.393
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T02-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T02:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4594.355,
      "stop": 4597.513,
      "target": 4588.038,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.96,
        "bb_width_pct": 0.393
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T03-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4595.445,
      "stop": 4600.078,
      "target": 4586.179,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 27.58,
        "bb_width_pct": 0.433
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T03-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4595.445,
      "stop": 4598.796,
      "target": 4588.744,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 27.58,
        "bb_width_pct": 0.433
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T03-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T03:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4595.555,
      "stop": 4598.636,
      "target": 4589.392,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.43,
        "bb_width_pct": 0.458
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T03-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T03:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4597.945,
      "stop": 4602.971,
      "target": 4587.894,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.82,
        "bb_width_pct": 0.464
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T03-15-00Z_short_rsi_range_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4596.845,
      "stop": 4601.026,
      "target": 4588.482,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 19.75,
        "bb_width_pct": 0.49
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T03-15-00Z_short_vwap_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4596.845,
      "stop": 4600.958,
      "target": 4588.619,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 19.75,
        "bb_width_pct": 0.49
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T03-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4596.845,
      "stop": 4601.399,
      "target": 4587.738,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 19.75,
        "bb_width_pct": 0.49
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T03-20-00Z_short_rsi_range_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T03:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4596.08,
      "stop": 4599.56,
      "target": 4589.12,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 21.08,
        "bb_width_pct": 0.499
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T03-20-00Z_short_vwap_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T03:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4596.08,
      "stop": 4599.709,
      "target": 4588.822,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 21.08,
        "bb_width_pct": 0.499
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T03-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T03:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4596.08,
      "stop": 4600.262,
      "target": 4587.715,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 21.08,
        "bb_width_pct": 0.499
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T03-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T03:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4596.08,
      "stop": 4598.451,
      "target": 4591.338,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.08,
        "bb_width_pct": 0.499
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T03-25-00Z_short_rsi_range_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4595.775,
      "stop": 4598.752,
      "target": 4589.82,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 17.37,
        "bb_width_pct": 0.491
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T03-25-00Z_short_vwap_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4595.775,
      "stop": 4599.166,
      "target": 4588.992,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 17.37,
        "bb_width_pct": 0.491
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T03-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4595.775,
      "stop": 4599.805,
      "target": 4587.715,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.37,
        "bb_width_pct": 0.491
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T03-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4595.775,
      "stop": 4597.782,
      "target": 4591.761,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.37,
        "bb_width_pct": 0.491
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T03-30-00Z_short_rsi_range_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4595.305,
      "stop": 4597.675,
      "target": 4590.565,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 24.08,
        "bb_width_pct": 0.463
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T03-30-00Z_short_vwap_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4595.305,
      "stop": 4598.386,
      "target": 4589.144,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 24.08,
        "bb_width_pct": 0.463
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T03-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4595.305,
      "stop": 4599.1,
      "target": 4587.715,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 24.08,
        "bb_width_pct": 0.463
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T03-40-00Z_short_rsi_range_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T03:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4594.045,
      "stop": 4595.062,
      "target": 4592.01,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 13.23,
        "bb_width_pct": 0.388
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T03-40-00Z_short_vwap_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T03:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4594.045,
      "stop": 4596.341,
      "target": 4589.453,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.23,
        "bb_width_pct": 0.388
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T03-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T03:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4594.045,
      "stop": 4597.21,
      "target": 4587.715,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.23,
        "bb_width_pct": 0.388
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T03-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T03:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4594.045,
      "stop": 4594.683,
      "target": 4592.768,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.23,
        "bb_width_pct": 0.388
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T03-45-00Z_short_vwap_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T03:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4593.585,
      "stop": 4595.601,
      "target": 4589.552,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.09,
        "bb_width_pct": 0.38
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T04-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4597.855,
      "stop": 4598.979,
      "target": 4595.607,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.07,
        "bb_width_pct": 0.156
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T04-20-00Z_short_vwap_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4597.855,
      "stop": 4601.572,
      "target": 4590.421,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.07,
        "bb_width_pct": 0.156
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T04-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4597.855,
      "stop": 4602.925,
      "target": 4587.715,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.07,
        "bb_width_pct": 0.156
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T04-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4597.855,
      "stop": 4599.412,
      "target": 4594.74,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.07,
        "bb_width_pct": 0.156
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T04-25-00Z_short_vwap_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T04:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4597.585,
      "stop": 4601.1,
      "target": 4590.555,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.6,
        "bb_width_pct": 0.144
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T04-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T04:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4597.585,
      "stop": 4602.52,
      "target": 4587.715,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.6,
        "bb_width_pct": 0.144
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T04-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T04:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4597.585,
      "stop": 4598.872,
      "target": 4595.011,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.6,
        "bb_width_pct": 0.144
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T04-30-00Z_short_vwap_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T04:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4595.95,
      "stop": 4598.593,
      "target": 4590.665,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.54,
        "bb_width_pct": 0.136
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T04-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T04:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4595.95,
      "stop": 4600.067,
      "target": 4587.715,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.54,
        "bb_width_pct": 0.136
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T04-35-00Z_short_vwap_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4595.79,
      "stop": 4598.308,
      "target": 4590.753,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 1.54,
        "bb_width_pct": 0.132
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T04-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4595.79,
      "stop": 4599.827,
      "target": 4587.715,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.54,
        "bb_width_pct": 0.132
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T04-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4599.16,
      "stop": 4600.611,
      "target": 4596.258,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.21,
        "bb_width_pct": 0.143
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T04-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4599.16,
      "stop": 4600.967,
      "target": 4595.547,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.21,
        "bb_width_pct": 0.143
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T04-45-00Z_short_vwap_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4598.56,
      "stop": 4602.332,
      "target": 4591.017,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.75,
        "bb_width_pct": 0.149
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T04-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4598.56,
      "stop": 4603.972,
      "target": 4587.735,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.75,
        "bb_width_pct": 0.149
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T04-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4598.56,
      "stop": 4599.923,
      "target": 4595.834,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.75,
        "bb_width_pct": 0.149
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T04-50-00Z_short_vwap_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T04:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4597.44,
      "stop": 4600.598,
      "target": 4591.124,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.37,
        "bb_width_pct": 0.147
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T04-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T04:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4597.44,
      "stop": 4602.001,
      "target": 4588.318,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.37,
        "bb_width_pct": 0.147
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T04-55-00Z_short_vwap_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T04:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4596.49,
      "stop": 4599.124,
      "target": 4591.222,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.96,
        "bb_width_pct": 0.147
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T04-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T04:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4596.49,
      "stop": 4600.576,
      "target": 4588.318,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.96,
        "bb_width_pct": 0.147
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T05-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4594.295,
      "stop": 4593.268,
      "target": 4596.348,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.97,
        "bb_width_pct": 0.153
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T05-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4594.295,
      "stop": 4597.284,
      "target": 4588.318,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.97,
        "bb_width_pct": 0.153
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T05-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4594.295,
      "stop": 4593.457,
      "target": 4595.971,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.97,
        "bb_width_pct": 0.153
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T05-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4594.5,
      "stop": 4593.596,
      "target": 4596.308,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.46,
        "bb_width_pct": 0.156
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T05-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4591.005,
      "stop": 4588.511,
      "target": 4595.992,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.55,
        "bb_width_pct": 0.194
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T05-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4590.745,
      "stop": 4588.371,
      "target": 4595.492,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.27,
        "bb_width_pct": 0.22
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T05-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4594.305,
      "stop": 4593.241,
      "target": 4596.433,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.5,
        "bb_width_pct": 0.222
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T06-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4591.615,
      "stop": 4589.714,
      "target": 4595.417,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.8,
        "bb_width_pct": 0.246
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T06-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4588.88,
      "stop": 4585.829,
      "target": 4594.981,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.84,
        "bb_width_pct": 0.271
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T06-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T06:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4590.415,
      "stop": 4588.27,
      "target": 4594.705,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.88,
        "bb_width_pct": 0.283
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T06-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T06:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4590.415,
      "stop": 4588.632,
      "target": 4593.98,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.88,
        "bb_width_pct": 0.283
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T06-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T06:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4586.74,
      "stop": 4583.243,
      "target": 4593.735,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.72,
        "bb_width_pct": 0.32
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T06-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T06:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4586.74,
      "stop": 4583.851,
      "target": 4592.518,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.72,
        "bb_width_pct": 0.32
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T06-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T06:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4584.965,
      "stop": 4581.548,
      "target": 4591.798,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.15,
        "bb_width_pct": 0.345
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T06-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4583.92,
      "stop": 4579.691,
      "target": 4592.379,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.03,
        "bb_width_pct": 0.374
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T06-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4583.92,
      "stop": 4580.356,
      "target": 4591.048,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.03,
        "bb_width_pct": 0.374
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T06-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T06:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4579.9,
      "stop": 4575.012,
      "target": 4589.676,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.34,
        "bb_width_pct": 0.554
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T06-45-00Z_long_rsi_range_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T06:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4579.9,
      "stop": 4575.012,
      "target": 4589.676,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.34,
        "bb_width_pct": 0.554
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T06-45-00Z_long_vwap_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T06:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4579.9,
      "stop": 4574.38,
      "target": 4590.941,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.34,
        "bb_width_pct": 0.554
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T06-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T06:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4579.9,
      "stop": 4575.9,
      "target": 4587.9,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 22.34,
        "bb_width_pct": 0.554
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T06-50-00Z_long_rsi_range_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T06:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4580.385,
      "stop": 4576.092,
      "target": 4588.971,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.56,
        "bb_width_pct": 0.572
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T06-50-00Z_long_vwap_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T06:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4580.385,
      "stop": 4575.165,
      "target": 4590.824,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.56,
        "bb_width_pct": 0.572
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T06-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T06:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4580.385,
      "stop": 4577.086,
      "target": 4586.983,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.56,
        "bb_width_pct": 0.572
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T06-55-00Z_long_rsi_range_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T06:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4581.955,
      "stop": 4578.779,
      "target": 4588.308,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.49,
        "bb_width_pct": 0.573
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T06-55-00Z_long_vwap_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T06:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4581.955,
      "stop": 4577.579,
      "target": 4590.707,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.49,
        "bb_width_pct": 0.573
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T06-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T06:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4581.955,
      "stop": 4579.68,
      "target": 4586.504,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.49,
        "bb_width_pct": 0.573
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T07-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T07:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4581.755,
      "stop": 4579.607,
      "target": 4586.052,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.85,
        "bb_width_pct": 0.55
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T07-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T07:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4579.13,
      "stop": 4576.692,
      "target": 4584.006,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.87,
        "bb_width_pct": 0.306
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T07-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T07:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4580.795,
      "stop": 4577.243,
      "target": 4587.9,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.81,
        "bb_width_pct": 0.252
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T07-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T07:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4580.795,
      "stop": 4579.614,
      "target": 4583.158,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.81,
        "bb_width_pct": 0.252
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T08-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T08:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4587.315,
      "stop": 4589.997,
      "target": 4581.951,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.57,
        "bb_width_pct": 0.257
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T08-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T08:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4587.88,
      "stop": 4590.746,
      "target": 4582.149,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.8,
        "bb_width_pct": 0.279
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T08-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T08:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4587.88,
      "stop": 4589.759,
      "target": 4584.122,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.8,
        "bb_width_pct": 0.279
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T08-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T08:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4589.59,
      "stop": 4592.735,
      "target": 4583.299,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.32,
        "bb_width_pct": 0.281
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T08-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T08:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4590.2,
      "stop": 4593.393,
      "target": 4583.814,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.77,
        "bb_width_pct": 0.301
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T08-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T08:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4590.2,
      "stop": 4592.583,
      "target": 4585.434,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.77,
        "bb_width_pct": 0.301
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T08-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T08:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4593.575,
      "stop": 4597.492,
      "target": 4585.741,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.71,
        "bb_width_pct": 0.423
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T08-40-00Z_short_vwap_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T08:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4593.575,
      "stop": 4597.629,
      "target": 4585.468,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.71,
        "bb_width_pct": 0.423
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T08-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T08:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4593.88,
      "stop": 4596.671,
      "target": 4588.297,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 24.63,
        "bb_width_pct": 0.45
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T08-50-00Z_short_rsi_range_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T08:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4593.31,
      "stop": 4596.658,
      "target": 4586.614,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 27.91,
        "bb_width_pct": 0.468
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T08-50-00Z_short_vwap_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T08:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4593.31,
      "stop": 4596.871,
      "target": 4586.189,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 27.91,
        "bb_width_pct": 0.468
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T08-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T08:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4593.31,
      "stop": 4597.29,
      "target": 4585.35,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 27.91,
        "bb_width_pct": 0.468
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T08-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T08:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4593.31,
      "stop": 4595.578,
      "target": 4588.774,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 27.91,
        "bb_width_pct": 0.468
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T09-00-00Z_short_rsi_range_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4591.255,
      "stop": 4593.03,
      "target": 4587.705,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 20.24,
        "bb_width_pct": 0.46
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T09-00-00Z_short_vwap_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4591.255,
      "stop": 4593.543,
      "target": 4586.679,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 20.24,
        "bb_width_pct": 0.46
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T09-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4591.255,
      "stop": 4594.208,
      "target": 4585.35,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 20.24,
        "bb_width_pct": 0.46
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T09-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T09:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4594.945,
      "stop": 4597.466,
      "target": 4589.902,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.88,
        "bb_width_pct": 0.473
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T09-10-00Z_short_rsi_range_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T09:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4594.12,
      "stop": 4596.835,
      "target": 4588.69,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 14.37,
        "bb_width_pct": 0.482
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T09-10-00Z_short_vwap_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T09:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4594.12,
      "stop": 4597.566,
      "target": 4587.228,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.37,
        "bb_width_pct": 0.482
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T09-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T09:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4594.12,
      "stop": 4598.505,
      "target": 4585.35,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.37,
        "bb_width_pct": 0.482
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T09-15-00Z_short_vwap_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T09:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4592.77,
      "stop": 4595.434,
      "target": 4587.441,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.18,
        "bb_width_pct": 0.482
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T09-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T09:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4592.77,
      "stop": 4596.48,
      "target": 4585.35,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.18,
        "bb_width_pct": 0.482
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T09-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T09:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4586.155,
      "stop": 4583.601,
      "target": 4591.262,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.28,
        "bb_width_pct": 0.235
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T09-55-00Z_long_rsi_range_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T09:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4586.155,
      "stop": 4583.601,
      "target": 4591.262,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.28,
        "bb_width_pct": 0.235
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T10-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T10:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4583.685,
      "stop": 4580.224,
      "target": 4590.606,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.44,
        "bb_width_pct": 0.314
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T10-05-00Z_long_rsi_range_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T10:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4583.685,
      "stop": 4580.224,
      "target": 4590.606,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.44,
        "bb_width_pct": 0.314
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T10-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T10:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4583.685,
      "stop": 4581.393,
      "target": 4588.268,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.44,
        "bb_width_pct": 0.314
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T10-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T10:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4583.645,
      "stop": 4580.416,
      "target": 4590.104,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.62,
        "bb_width_pct": 0.333
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T10-10-00Z_long_rsi_range_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T10:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4583.645,
      "stop": 4580.416,
      "target": 4590.104,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.62,
        "bb_width_pct": 0.333
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T10-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T10:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4583.645,
      "stop": 4581.809,
      "target": 4587.318,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 26.62,
        "bb_width_pct": 0.333
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T10-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T10:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4583.645,
      "stop": 4581.553,
      "target": 4587.828,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.62,
        "bb_width_pct": 0.333
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T10-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T10:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4583.61,
      "stop": 4580.657,
      "target": 4589.516,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.26,
        "bb_width_pct": 0.338
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T10-15-00Z_long_rsi_range_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T10:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4583.61,
      "stop": 4580.657,
      "target": 4589.516,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.26,
        "bb_width_pct": 0.338
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T10-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T10:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4583.61,
      "stop": 4581.702,
      "target": 4587.426,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.26,
        "bb_width_pct": 0.338
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T10-20-00Z_long_rsi_range_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T10:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4583.935,
      "stop": 4581.386,
      "target": 4589.034,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.02,
        "bb_width_pct": 0.343
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T10-25-00Z_long_rsi_range_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T10:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4584.67,
      "stop": 4582.718,
      "target": 4588.574,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.92,
        "bb_width_pct": 0.339
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T10-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T10:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4583.27,
      "stop": 4581.645,
      "target": 4586.521,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.74,
        "bb_width_pct": 0.339
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T10-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T10:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4584.97,
      "stop": 4584.268,
      "target": 4586.373,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.2,
        "bb_width_pct": 0.329
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T11-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T11:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4586.87,
      "stop": 4587.738,
      "target": 4585.133,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.77,
        "bb_width_pct": 0.11
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T11-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T11:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4588.63,
      "stop": 4590.06,
      "target": 4585.77,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.63,
        "bb_width_pct": 0.144
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T11-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T11:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4588.63,
      "stop": 4589.593,
      "target": 4586.703,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.63,
        "bb_width_pct": 0.144
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T11-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T11:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4586.79,
      "stop": 4587.221,
      "target": 4585.927,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.74,
        "bb_width_pct": 0.138
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T11-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T11:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4586.79,
      "stop": 4586.829,
      "target": 4586.712,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.74,
        "bb_width_pct": 0.138
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T12-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T12:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4583.665,
      "stop": 4582.263,
      "target": 4586.469,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.74,
        "bb_width_pct": 0.129
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T12-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T12:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4583.925,
      "stop": 4582.679,
      "target": 4586.417,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.31,
        "bb_width_pct": 0.135
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T12-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T12:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4580.55,
      "stop": 4577.167,
      "target": 4587.315,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.98,
        "bb_width_pct": 0.209
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T12-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T12:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4580.55,
      "stop": 4578.207,
      "target": 4585.236,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.98,
        "bb_width_pct": 0.209
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T12-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T12:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4580.195,
      "stop": 4577.554,
      "target": 4585.477,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.43,
        "bb_width_pct": 0.235
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T12-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T12:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4580.195,
      "stop": 4577.914,
      "target": 4584.756,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.43,
        "bb_width_pct": 0.235
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T12-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T12:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4584.015,
      "stop": 4583.343,
      "target": 4585.358,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.67,
        "bb_width_pct": 0.235
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T12-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T12:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4584.015,
      "stop": 4583.279,
      "target": 4585.488,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.67,
        "bb_width_pct": 0.235
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T12-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T12:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4584.015,
      "stop": 4583.68,
      "target": 4584.686,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.67,
        "bb_width_pct": 0.235
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T12-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T12:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4591.275,
      "stop": 4593.984,
      "target": 4585.857,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.53,
        "bb_width_pct": 0.273
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T13-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4594.3,
      "stop": 4598.076,
      "target": 4586.748,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.46,
        "bb_width_pct": 0.341
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T13-50-00Z_short_rsi_range_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T13:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4613.415,
      "stop": 4621.36,
      "target": 4597.526,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 25.25,
        "bb_width_pct": 1.114
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T13-50-00Z_short_vwap_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T13:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4613.415,
      "stop": 4622.28,
      "target": 4595.685,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 25.25,
        "bb_width_pct": 1.114
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T13-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T13:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4613.415,
      "stop": 4620.384,
      "target": 4599.477,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 25.25,
        "bb_width_pct": 1.114
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T13-55-00Z_short_rsi_range_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T13:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4611.56,
      "stop": 4617.886,
      "target": 4598.907,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 21.5,
        "bb_width_pct": 1.11
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T13-55-00Z_short_vwap_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T13:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4611.56,
      "stop": 4619.184,
      "target": 4596.313,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 21.5,
        "bb_width_pct": 1.11
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T13-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T13:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4611.56,
      "stop": 4615.908,
      "target": 4602.864,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.5,
        "bb_width_pct": 1.11
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T14-00-00Z_short_rsi_range_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4611.435,
      "stop": 4616.911,
      "target": 4600.484,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 19.19,
        "bb_width_pct": 1.065
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T14-00-00Z_short_vwap_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4611.435,
      "stop": 4618.697,
      "target": 4596.91,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 19.19,
        "bb_width_pct": 1.065
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T14-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T14:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4614.64,
      "stop": 4619.598,
      "target": 4604.724,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.19,
        "bb_width_pct": 1.018
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T14-15-00Z_short_vwap_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T14:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4614.63,
      "stop": 4622.488,
      "target": 4598.914,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.42,
        "bb_width_pct": 0.895
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T14-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T14:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4614.63,
      "stop": 4622.206,
      "target": 4599.477,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.42,
        "bb_width_pct": 0.895
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T14-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T14:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4614.63,
      "stop": 4618.5,
      "target": 4606.889,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.42,
        "bb_width_pct": 0.895
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T14-25-00Z_short_vwap_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T14:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4618.235,
      "stop": 4627.192,
      "target": 4600.321,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.37,
        "bb_width_pct": 0.805
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T14-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T14:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4618.235,
      "stop": 4626.92,
      "target": 4600.865,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.37,
        "bb_width_pct": 0.805
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T14-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T14:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4618.235,
      "stop": 4622.701,
      "target": 4609.303,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.37,
        "bb_width_pct": 0.805
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T14-30-00Z_short_vwap_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4615.31,
      "stop": 4622.549,
      "target": 4600.832,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.63,
        "bb_width_pct": 0.732
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T14-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4615.31,
      "stop": 4622.533,
      "target": 4600.865,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.63,
        "bb_width_pct": 0.732
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T14-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4615.31,
      "stop": 4618.028,
      "target": 4609.875,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.63,
        "bb_width_pct": 0.732
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T14-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T14:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4624.295,
      "stop": 4628.605,
      "target": 4615.675,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.95,
        "bb_width_pct": 0.657
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T14-50-00Z_short_vwap_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T14:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4624.295,
      "stop": 4634.675,
      "target": 4603.534,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.95,
        "bb_width_pct": 0.657
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T14-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T14:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4624.295,
      "stop": 4633.399,
      "target": 4606.087,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.95,
        "bb_width_pct": 0.657
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T14-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T14:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4624.295,
      "stop": 4628.913,
      "target": 4615.059,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.95,
        "bb_width_pct": 0.657
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T14-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T14:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4629.8,
      "stop": 4636.156,
      "target": 4617.088,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.22,
        "bb_width_pct": 0.646
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T15-00-00Z_short_vwap_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T15:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4619.33,
      "stop": 4626.647,
      "target": 4604.696,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.64,
        "bb_width_pct": 0.604
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T15-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T15:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4619.33,
      "stop": 4625.791,
      "target": 4606.408,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.64,
        "bb_width_pct": 0.604
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T15-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T15:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4619.33,
      "stop": 4620.627,
      "target": 4616.736,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.64,
        "bb_width_pct": 0.604
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T15-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T15:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4607.055,
      "stop": 4601.207,
      "target": 4618.752,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.87,
        "bb_width_pct": 0.538
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T15-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T15:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4604.215,
      "stop": 4597.294,
      "target": 4618.057,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.64,
        "bb_width_pct": 0.605
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T16-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T16:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4605.815,
      "stop": 4602.45,
      "target": 4612.544,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.83,
        "bb_width_pct": 0.607
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T16-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T16:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4605.815,
      "stop": 4601.765,
      "target": 4613.915,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 2.83,
        "bb_width_pct": 0.607
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T16-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T16:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4605.815,
      "stop": 4603.298,
      "target": 4610.85,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.83,
        "bb_width_pct": 0.607
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T17-35-00Z_short_rsi_range_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T17:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4609.78,
      "stop": 4609.848,
      "target": 4609.644,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 5.75,
        "bb_width_pct": 0.296
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T17-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T17:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4600.515,
      "stop": 4596.591,
      "target": 4608.363,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.95,
        "bb_width_pct": 0.359
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T18-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T18:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4592.885,
      "stop": 4586.197,
      "target": 4606.26,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.32,
        "bb_width_pct": 0.641
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T18-05-00Z_long_rsi_range_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T18:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4592.885,
      "stop": 4586.197,
      "target": 4606.26,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.32,
        "bb_width_pct": 0.641
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T18-05-00Z_long_vwap_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T18:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4592.885,
      "stop": 4586.897,
      "target": 4604.86,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.32,
        "bb_width_pct": 0.641
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T18-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T18:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4592.885,
      "stop": 4584.154,
      "target": 4610.347,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 24.32,
        "bb_width_pct": 0.641
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T18-10-00Z_long_rsi_range_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T18:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4594.475,
      "stop": 4588.866,
      "target": 4605.694,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.91,
        "bb_width_pct": 0.679
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T18-10-00Z_long_vwap_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T18:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4594.475,
      "stop": 4589.666,
      "target": 4604.093,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.91,
        "bb_width_pct": 0.679
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T18-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T18:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4594.475,
      "stop": 4586.963,
      "target": 4609.5,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 19.91,
        "bb_width_pct": 0.679
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T18-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T18:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4594.475,
      "stop": 4590.186,
      "target": 4603.053,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.91,
        "bb_width_pct": 0.679
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T18-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T18:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4588.465,
      "stop": 4580.898,
      "target": 4603.599,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.03,
        "bb_width_pct": 0.824
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T18-20-00Z_long_rsi_range_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T18:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4588.465,
      "stop": 4580.898,
      "target": 4603.599,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.03,
        "bb_width_pct": 0.824
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T18-20-00Z_long_vwap_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T18:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4588.465,
      "stop": 4581.635,
      "target": 4602.126,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.03,
        "bb_width_pct": 0.824
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T18-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T18:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4588.465,
      "stop": 4580.528,
      "target": 4604.34,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 23.03,
        "bb_width_pct": 0.824
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T18-25-00Z_long_rsi_range_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T18:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4591.885,
      "stop": 4586.508,
      "target": 4602.639,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.43,
        "bb_width_pct": 0.839
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T18-25-00Z_long_vwap_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T18:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4591.885,
      "stop": 4587.073,
      "target": 4601.509,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.43,
        "bb_width_pct": 0.839
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T18-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T18:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4591.885,
      "stop": 4588.121,
      "target": 4599.413,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.43,
        "bb_width_pct": 0.839
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T18-30-00Z_long_rsi_range_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4593.555,
      "stop": 4589.494,
      "target": 4601.677,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.78,
        "bb_width_pct": 0.83
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T19-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T19:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4593.47,
      "stop": 4589.693,
      "target": 4601.025,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.45,
        "bb_width_pct": 0.592
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T19-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T19:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4593.47,
      "stop": 4591.586,
      "target": 4597.239,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.45,
        "bb_width_pct": 0.592
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T19-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T19:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4591.07,
      "stop": 4588.345,
      "target": 4596.52,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.89,
        "bb_width_pct": 0.451
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T20-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T20:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4589.0,
      "stop": 4586.539,
      "target": 4593.922,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.92,
        "bb_width_pct": 0.252
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T20-35-00Z_long_vwap_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T20:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4576.695,
      "stop": 4566.778,
      "target": 4596.53,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.82,
        "bb_width_pct": 0.55
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T20-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T20:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4576.695,
      "stop": 4569.097,
      "target": 4591.89,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 22.82,
        "bb_width_pct": 0.55
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T20-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4585.245,
      "stop": 4582.083,
      "target": 4591.569,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.15,
        "bb_width_pct": 0.558
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T20-40-00Z_long_vwap_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4585.245,
      "stop": 4579.758,
      "target": 4596.218,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.15,
        "bb_width_pct": 0.558
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T20-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4585.245,
      "stop": 4582.438,
      "target": 4590.86,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.15,
        "bb_width_pct": 0.558
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T20-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4585.245,
      "stop": 4582.766,
      "target": 4590.204,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.15,
        "bb_width_pct": 0.558
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T21-45-00Z_short_rsi_range_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T21:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4587.95,
      "stop": 4588.493,
      "target": 4586.864,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 4.56,
        "bb_width_pct": 0.429
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T23-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4593.005,
      "stop": 4596.361,
      "target": 4586.294,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.02,
        "bb_width_pct": 0.39
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T23-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4593.005,
      "stop": 4595.158,
      "target": 4588.699,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.02,
        "bb_width_pct": 0.39
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T23-30-00Z_short_rsi_range_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4595.83,
      "stop": 4598.837,
      "target": 4589.815,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 22.55,
        "bb_width_pct": 0.359
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T23-30-00Z_short_vwap_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4595.83,
      "stop": 4599.927,
      "target": 4587.636,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 22.55,
        "bb_width_pct": 0.359
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T23-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4595.83,
      "stop": 4601.63,
      "target": 4584.23,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 22.55,
        "bb_width_pct": 0.359
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T23-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4595.83,
      "stop": 4597.933,
      "target": 4591.625,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.55,
        "bb_width_pct": 0.359
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T23-40-00Z_short_vwap_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4594.315,
      "stop": 4597.481,
      "target": 4587.983,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 18.62,
        "bb_width_pct": 0.378
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T23-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4594.315,
      "stop": 4599.358,
      "target": 4584.23,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.62,
        "bb_width_pct": 0.378
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T23-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4594.315,
      "stop": 4595.31,
      "target": 4592.324,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.62,
        "bb_width_pct": 0.378
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-13T23-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T23:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4597.275,
      "stop": 4599.345,
      "target": 4593.135,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 27.63,
        "bb_width_pct": 0.368
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T00-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T00:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4605.255,
      "stop": 4610.36,
      "target": 4595.045,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 27.27,
        "bb_width_pct": 0.487
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T00-10-00Z_short_rsi_range_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T00:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4605.255,
      "stop": 4610.36,
      "target": 4595.045,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 27.27,
        "bb_width_pct": 0.487
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T00-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T00:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4605.255,
      "stop": 4613.575,
      "target": 4588.615,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 27.27,
        "bb_width_pct": 0.487
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T00-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T00:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4605.695,
      "stop": 4610.575,
      "target": 4595.936,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.17,
        "bb_width_pct": 0.505
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T00-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T00:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4603.675,
      "stop": 4611.205,
      "target": 4588.615,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 19.84,
        "bb_width_pct": 0.505
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T00-30-00Z_short_rsi_range_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4608.55,
      "stop": 4613.416,
      "target": 4598.818,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 23.6,
        "bb_width_pct": 0.527
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T00-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4608.55,
      "stop": 4617.781,
      "target": 4590.087,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 23.6,
        "bb_width_pct": 0.527
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T00-35-00Z_short_rsi_range_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T00:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4608.115,
      "stop": 4612.211,
      "target": 4599.924,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 25.37,
        "bb_width_pct": 0.489
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T00-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T00:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4608.115,
      "stop": 4617.129,
      "target": 4590.087,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 25.37,
        "bb_width_pct": 0.489
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T00-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T00:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4605.17,
      "stop": 4612.699,
      "target": 4590.113,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 21.42,
        "bb_width_pct": 0.469
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T00-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T00:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4605.17,
      "stop": 4606.804,
      "target": 4601.902,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.42,
        "bb_width_pct": 0.469
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T01-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T01:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4611.42,
      "stop": 4615.001,
      "target": 4604.259,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.73,
        "bb_width_pct": 0.512
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T01-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T01:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4611.42,
      "stop": 4617.525,
      "target": 4599.21,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.73,
        "bb_width_pct": 0.512
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T01-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T01:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4611.42,
      "stop": 4614.699,
      "target": 4604.861,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.73,
        "bb_width_pct": 0.512
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T01-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T01:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4612.455,
      "stop": 4618.356,
      "target": 4600.653,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.36,
        "bb_width_pct": 0.5
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T01-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T01:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4612.455,
      "stop": 4614.935,
      "target": 4607.495,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.36,
        "bb_width_pct": 0.5
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T01-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T01:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4614.665,
      "stop": 4617.908,
      "target": 4608.178,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.3,
        "bb_width_pct": 0.469
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T01-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4614.995,
      "stop": 4618.079,
      "target": 4608.827,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.65,
        "bb_width_pct": 0.433
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T01-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T01:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4614.935,
      "stop": 4621.331,
      "target": 4602.142,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.27,
        "bb_width_pct": 0.385
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T01-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T01:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4614.935,
      "stop": 4617.299,
      "target": 4610.207,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.27,
        "bb_width_pct": 0.385
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T01-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T01:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4613.9,
      "stop": 4619.704,
      "target": 4602.292,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.54,
        "bb_width_pct": 0.381
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T01-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T01:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4613.9,
      "stop": 4615.571,
      "target": 4610.559,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.54,
        "bb_width_pct": 0.381
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T01-55-00Z_short_vwap_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T01:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4619.385,
      "stop": 4623.588,
      "target": 4610.979,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 19.08,
        "bb_width_pct": 0.403
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T01-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T01:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4619.385,
      "stop": 4627.616,
      "target": 4602.922,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 19.08,
        "bb_width_pct": 0.403
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T01-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T01:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4619.385,
      "stop": 4622.989,
      "target": 4612.177,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.08,
        "bb_width_pct": 0.403
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T02-00-00Z_short_vwap_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T02:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4618.22,
      "stop": 4621.685,
      "target": 4611.29,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.71,
        "bb_width_pct": 0.378
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T02-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T02:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4618.22,
      "stop": 4625.838,
      "target": 4602.985,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.71,
        "bb_width_pct": 0.378
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T02-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T02:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4618.22,
      "stop": 4620.954,
      "target": 4612.753,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.71,
        "bb_width_pct": 0.378
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T02-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T02:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4614.75,
      "stop": 4620.403,
      "target": 4603.445,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.27,
        "bb_width_pct": 0.373
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T02-15-00Z_short_vwap_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T02:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4618.105,
      "stop": 4621.186,
      "target": 4611.944,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.97,
        "bb_width_pct": 0.362
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T02-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T02:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4618.105,
      "stop": 4624.046,
      "target": 4606.222,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.97,
        "bb_width_pct": 0.362
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T02-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T02:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4620.9,
      "stop": 4624.061,
      "target": 4614.577,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.61,
        "bb_width_pct": 0.364
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T02-25-00Z_short_vwap_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T02:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4620.15,
      "stop": 4623.976,
      "target": 4612.498,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.14,
        "bb_width_pct": 0.32
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T02-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T02:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4620.15,
      "stop": 4626.586,
      "target": 4607.278,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.14,
        "bb_width_pct": 0.32
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T02-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4619.11,
      "stop": 4620.491,
      "target": 4616.347,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.83,
        "bb_width_pct": 0.263
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T02-30-00Z_short_vwap_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4619.11,
      "stop": 4622.296,
      "target": 4612.738,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.83,
        "bb_width_pct": 0.263
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T02-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4619.11,
      "stop": 4624.986,
      "target": 4607.358,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.83,
        "bb_width_pct": 0.263
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T02-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4619.11,
      "stop": 4620.92,
      "target": 4615.489,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.83,
        "bb_width_pct": 0.263
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T02-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T02:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4621.105,
      "stop": 4623.646,
      "target": 4616.024,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.94,
        "bb_width_pct": 0.237
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T02-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T02:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4621.435,
      "stop": 4623.883,
      "target": 4616.539,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.18,
        "bb_width_pct": 0.25
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T02-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4621.55,
      "stop": 4623.457,
      "target": 4617.736,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.97,
        "bb_width_pct": 0.234
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T02-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4621.55,
      "stop": 4623.817,
      "target": 4617.017,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.97,
        "bb_width_pct": 0.234
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T02-50-00Z_short_vwap_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T02:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4620.04,
      "stop": 4623.22,
      "target": 4613.681,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.43,
        "bb_width_pct": 0.233
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T02-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T02:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4620.04,
      "stop": 4625.807,
      "target": 4608.505,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.43,
        "bb_width_pct": 0.233
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T03-05-00Z_short_vwap_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T03:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4619.18,
      "stop": 4621.639,
      "target": 4614.262,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 1.92,
        "bb_width_pct": 0.209
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T03-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T03:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4619.18,
      "stop": 4624.191,
      "target": 4609.157,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.92,
        "bb_width_pct": 0.209
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T03-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T03:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4618.23,
      "stop": 4622.186,
      "target": 4610.318,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.16,
        "bb_width_pct": 0.195
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T03-20-00Z_short_vwap_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T03:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4619.005,
      "stop": 4621.183,
      "target": 4614.65,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.05,
        "bb_width_pct": 0.179
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T03-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T03:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4619.005,
      "stop": 4622.023,
      "target": 4612.97,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.05,
        "bb_width_pct": 0.179
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T03-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T03:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4624.715,
      "stop": 4627.535,
      "target": 4619.074,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.39,
        "bb_width_pct": 0.195
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T03-40-00Z_short_vwap_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T03:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4624.175,
      "stop": 4628.669,
      "target": 4615.187,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.95,
        "bb_width_pct": 0.209
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T03-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T03:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4624.175,
      "stop": 4629.029,
      "target": 4614.467,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.95,
        "bb_width_pct": 0.209
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T03-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T03:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4624.185,
      "stop": 4626.006,
      "target": 4620.542,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.55,
        "bb_width_pct": 0.194
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T04-05-00Z_short_vwap_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4628.205,
      "stop": 4634.112,
      "target": 4616.392,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.8,
        "bb_width_pct": 0.315
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T04-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4628.205,
      "stop": 4633.511,
      "target": 4617.592,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.8,
        "bb_width_pct": 0.315
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T04-10-00Z_short_vwap_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T04:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4627.615,
      "stop": 4633.115,
      "target": 4616.615,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 17.15,
        "bb_width_pct": 0.324
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T04-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T04:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4627.615,
      "stop": 4632.375,
      "target": 4618.095,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.15,
        "bb_width_pct": 0.324
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T04-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T04:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4627.615,
      "stop": 4629.825,
      "target": 4623.195,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.15,
        "bb_width_pct": 0.324
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T04-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T04:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4628.825,
      "stop": 4631.372,
      "target": 4623.731,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.87,
        "bb_width_pct": 0.341
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T04-20-00Z_short_vwap_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4627.155,
      "stop": 4632.208,
      "target": 4617.049,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.53,
        "bb_width_pct": 0.348
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T04-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4627.155,
      "stop": 4630.48,
      "target": 4620.505,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.53,
        "bb_width_pct": 0.348
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T04-25-00Z_short_vwap_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T04:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4626.655,
      "stop": 4631.37,
      "target": 4617.225,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 16.36,
        "bb_width_pct": 0.351
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T04-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T04:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4626.655,
      "stop": 4629.73,
      "target": 4620.505,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 16.36,
        "bb_width_pct": 0.351
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T04-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4629.03,
      "stop": 4630.987,
      "target": 4625.116,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.33,
        "bb_width_pct": 0.359
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T04-40-00Z_short_rsi_range_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4628.14,
      "stop": 4629.814,
      "target": 4624.791,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 8.99,
        "bb_width_pct": 0.363
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T04-40-00Z_short_vwap_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4628.14,
      "stop": 4633.305,
      "target": 4617.81,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.99,
        "bb_width_pct": 0.363
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T04-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4628.14,
      "stop": 4631.599,
      "target": 4621.222,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.99,
        "bb_width_pct": 0.363
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T04-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4629.315,
      "stop": 4631.084,
      "target": 4625.776,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.37,
        "bb_width_pct": 0.354
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T04-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T04:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4629.935,
      "stop": 4631.816,
      "target": 4626.173,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.1,
        "bb_width_pct": 0.335
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T04-55-00Z_short_vwap_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T04:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4629.42,
      "stop": 4634.94,
      "target": 4618.38,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.15,
        "bb_width_pct": 0.327
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T04-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T04:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4629.42,
      "stop": 4633.135,
      "target": 4621.99,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.15,
        "bb_width_pct": 0.327
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T04-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T04:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4629.42,
      "stop": 4630.889,
      "target": 4626.482,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.15,
        "bb_width_pct": 0.327
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T05-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4635.23,
      "stop": 4638.701,
      "target": 4628.287,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.72,
        "bb_width_pct": 0.315
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T05-05-00Z_short_vwap_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4635.23,
      "stop": 4643.37,
      "target": 4618.951,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.72,
        "bb_width_pct": 0.315
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T05-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4635.23,
      "stop": 4639.537,
      "target": 4626.615,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.72,
        "bb_width_pct": 0.315
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T05-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4633.955,
      "stop": 4636.469,
      "target": 4628.927,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.29,
        "bb_width_pct": 0.299
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T05-10-00Z_short_vwap_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4633.955,
      "stop": 4641.334,
      "target": 4619.197,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.29,
        "bb_width_pct": 0.299
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T05-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4633.955,
      "stop": 4637.625,
      "target": 4626.615,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.29,
        "bb_width_pct": 0.299
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T05-15-00Z_short_vwap_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4632.845,
      "stop": 4639.558,
      "target": 4619.419,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.57,
        "bb_width_pct": 0.295
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T05-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4632.845,
      "stop": 4634.629,
      "target": 4629.277,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.57,
        "bb_width_pct": 0.295
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T05-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4634.2,
      "stop": 4636.234,
      "target": 4630.133,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.12,
        "bb_width_pct": 0.276
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T05-35-00Z_short_rsi_range_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4636.97,
      "stop": 4639.809,
      "target": 4631.292,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 16.03,
        "bb_width_pct": 0.325
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T05-35-00Z_short_vwap_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4636.97,
      "stop": 4645.281,
      "target": 4620.347,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 16.03,
        "bb_width_pct": 0.325
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T05-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4636.97,
      "stop": 4642.105,
      "target": 4626.7,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 16.03,
        "bb_width_pct": 0.325
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T05-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4636.97,
      "stop": 4639.705,
      "target": 4631.499,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.03,
        "bb_width_pct": 0.325
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T05-40-00Z_short_vwap_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4636.5,
      "stop": 4644.456,
      "target": 4620.589,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.95,
        "bb_width_pct": 0.336
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T05-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4636.5,
      "stop": 4641.4,
      "target": 4626.7,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.95,
        "bb_width_pct": 0.336
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T05-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4636.5,
      "stop": 4638.762,
      "target": 4631.976,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.95,
        "bb_width_pct": 0.336
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T05-50-00Z_short_vwap_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4634.08,
      "stop": 4640.596,
      "target": 4621.049,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.84,
        "bb_width_pct": 0.349
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T05-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4634.08,
      "stop": 4637.77,
      "target": 4626.7,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.84,
        "bb_width_pct": 0.349
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T05-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4634.08,
      "stop": 4634.705,
      "target": 4632.83,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.84,
        "bb_width_pct": 0.349
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T06-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4626.81,
      "stop": 4624.166,
      "target": 4632.099,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.24,
        "bb_width_pct": 0.42
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T06-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4626.81,
      "stop": 4624.644,
      "target": 4631.142,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.24,
        "bb_width_pct": 0.42
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T06-15-00Z_short_vwap_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T06:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4633.175,
      "stop": 4639.017,
      "target": 4621.492,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.95,
        "bb_width_pct": 0.412
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T06-25-00Z_short_vwap_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T06:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4633.1,
      "stop": 4638.748,
      "target": 4621.803,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.81,
        "bb_width_pct": 0.398
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T07-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T07:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4634.63,
      "stop": 4637.486,
      "target": 4628.917,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.76,
        "bb_width_pct": 0.406
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T07-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T07:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4637.195,
      "stop": 4641.334,
      "target": 4628.917,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.2,
        "bb_width_pct": 0.373
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T07-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T07:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4637.195,
      "stop": 4639.081,
      "target": 4633.424,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.2,
        "bb_width_pct": 0.373
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T07-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4636.285,
      "stop": 4639.969,
      "target": 4628.917,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.58,
        "bb_width_pct": 0.379
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T07-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T07:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4636.335,
      "stop": 4640.044,
      "target": 4628.917,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.96,
        "bb_width_pct": 0.245
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T07-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T07:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4634.045,
      "stop": 4636.609,
      "target": 4628.917,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.94,
        "bb_width_pct": 0.245
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T08-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T08:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4627.445,
      "stop": 4624.443,
      "target": 4633.448,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.41,
        "bb_width_pct": 0.301
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T08-10-00Z_long_vwap_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T08:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4627.445,
      "stop": 4624.191,
      "target": 4633.953,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.41,
        "bb_width_pct": 0.301
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T08-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T08:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4627.445,
      "stop": 4624.917,
      "target": 4632.502,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.41,
        "bb_width_pct": 0.301
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T08-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T08:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4627.965,
      "stop": 4625.404,
      "target": 4633.086,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.48,
        "bb_width_pct": 0.345
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T08-20-00Z_long_vwap_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T08:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4627.965,
      "stop": 4625.431,
      "target": 4633.033,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.48,
        "bb_width_pct": 0.345
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T08-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T08:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4627.965,
      "stop": 4626.239,
      "target": 4631.417,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.48,
        "bb_width_pct": 0.345
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T08-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T08:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4625.26,
      "stop": 4621.516,
      "target": 4632.748,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.16,
        "bb_width_pct": 0.375
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T08-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T08:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4625.26,
      "stop": 4622.475,
      "target": 4630.83,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.16,
        "bb_width_pct": 0.375
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T08-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T08:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4635.515,
      "stop": 4637.594,
      "target": 4631.356,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.08,
        "bb_width_pct": 0.37
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T08-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T08:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4634.835,
      "stop": 4637.843,
      "target": 4628.82,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.51,
        "bb_width_pct": 0.373
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T09-20-00Z_short_rsi_range_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T09:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4637.385,
      "stop": 4639.818,
      "target": 4632.52,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 23.37,
        "bb_width_pct": 0.391
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T09-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T09:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4637.385,
      "stop": 4640.741,
      "target": 4630.672,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 23.37,
        "bb_width_pct": 0.391
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T09-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4633.855,
      "stop": 4635.446,
      "target": 4630.672,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.46,
        "bb_width_pct": 0.396
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T09-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T09:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4629.76,
      "stop": 4628.083,
      "target": 4633.115,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.91,
        "bb_width_pct": 0.381
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T09-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T09:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4630.535,
      "stop": 4629.522,
      "target": 4632.562,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.11,
        "bb_width_pct": 0.343
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T10-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T10:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4630.975,
      "stop": 4630.257,
      "target": 4632.411,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.49,
        "bb_width_pct": 0.331
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T10-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T10:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4635.81,
      "stop": 4638.379,
      "target": 4630.672,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.65,
        "bb_width_pct": 0.296
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T11-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T11:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4634.94,
      "stop": 4637.09,
      "target": 4630.64,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.09,
        "bb_width_pct": 0.217
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T11-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T11:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4630.035,
      "stop": 4628.361,
      "target": 4633.382,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.53,
        "bb_width_pct": 0.206
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T11-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T11:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4630.035,
      "stop": 4628.584,
      "target": 4632.936,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.53,
        "bb_width_pct": 0.206
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T11-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T11:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4629.55,
      "stop": 4627.648,
      "target": 4633.355,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.31,
        "bb_width_pct": 0.209
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T11-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T11:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4629.27,
      "stop": 4627.288,
      "target": 4633.233,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.08,
        "bb_width_pct": 0.221
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T11-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T11:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4629.27,
      "stop": 4627.84,
      "target": 4632.131,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.08,
        "bb_width_pct": 0.221
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T11-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T11:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4630.415,
      "stop": 4629.118,
      "target": 4633.01,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.18,
        "bb_width_pct": 0.224
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T11-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T11:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4630.415,
      "stop": 4629.171,
      "target": 4632.903,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.18,
        "bb_width_pct": 0.224
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T12-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T12:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4635.755,
      "stop": 4637.181,
      "target": 4632.903,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.96,
        "bb_width_pct": 0.24
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T12-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T12:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4636.28,
      "stop": 4637.969,
      "target": 4632.903,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.88,
        "bb_width_pct": 0.261
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T12-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T12:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4635.935,
      "stop": 4637.451,
      "target": 4632.903,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.95,
        "bb_width_pct": 0.265
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T12-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T12:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4638.785,
      "stop": 4641.177,
      "target": 4634.002,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.95,
        "bb_width_pct": 0.286
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T12-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T12:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4638.785,
      "stop": 4640.618,
      "target": 4635.118,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.95,
        "bb_width_pct": 0.286
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T13-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4635.3,
      "stop": 4635.947,
      "target": 4634.006,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.5,
        "bb_width_pct": 0.286
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T13-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4635.3,
      "stop": 4635.91,
      "target": 4634.08,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.5,
        "bb_width_pct": 0.286
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T13-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4635.3,
      "stop": 4635.382,
      "target": 4635.136,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.5,
        "bb_width_pct": 0.286
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T13-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T13:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4628.69,
      "stop": 4626.024,
      "target": 4634.021,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.82,
        "bb_width_pct": 0.283
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T13-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T13:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4628.69,
      "stop": 4626.005,
      "target": 4634.061,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.82,
        "bb_width_pct": 0.283
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T13-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4630.135,
      "stop": 4628.041,
      "target": 4634.323,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.49,
        "bb_width_pct": 0.268
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T13-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4630.135,
      "stop": 4628.603,
      "target": 4633.198,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.49,
        "bb_width_pct": 0.268
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T13-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4633.205,
      "stop": 4632.576,
      "target": 4634.463,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.54,
        "bb_width_pct": 0.258
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T14-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4629.595,
      "stop": 4627.536,
      "target": 4633.714,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.25,
        "bb_width_pct": 0.249
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T14-40-00Z_long_vwap_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T14:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4618.99,
      "stop": 4611.725,
      "target": 4633.52,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.25,
        "bb_width_pct": 0.437
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T14-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T14:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4618.99,
      "stop": 4613.654,
      "target": 4629.663,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 16.25,
        "bb_width_pct": 0.437
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T14-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T14:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4615.63,
      "stop": 4608.372,
      "target": 4630.146,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.09,
        "bb_width_pct": 0.691
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T14-50-00Z_long_rsi_range_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T14:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4615.63,
      "stop": 4608.372,
      "target": 4630.146,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.09,
        "bb_width_pct": 0.691
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T14-50-00Z_long_vwap_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T14:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4615.63,
      "stop": 4607.279,
      "target": 4632.332,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.09,
        "bb_width_pct": 0.691
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T14-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T14:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4615.63,
      "stop": 4611.079,
      "target": 4624.733,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 19.09,
        "bb_width_pct": 0.691
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T14-55-00Z_long_vwap_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T14:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4617.52,
      "stop": 4610.33,
      "target": 4631.901,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.28,
        "bb_width_pct": 0.731
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T14-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T14:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4617.52,
      "stop": 4612.877,
      "target": 4626.807,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.28,
        "bb_width_pct": 0.731
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T15-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T15:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4605.28,
      "stop": 4594.525,
      "target": 4626.791,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.48,
        "bb_width_pct": 0.948
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T15-10-00Z_long_vwap_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T15:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4616.16,
      "stop": 4609.178,
      "target": 4630.123,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.75,
        "bb_width_pct": 0.966
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T15-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T15:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4616.16,
      "stop": 4613.869,
      "target": 4620.743,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 13.75,
        "bb_width_pct": 0.966
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T15-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T15:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4616.16,
      "stop": 4613.095,
      "target": 4622.291,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.75,
        "bb_width_pct": 0.966
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T15-45-00Z_long_vwap_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T15:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4613.37,
      "stop": 4605.964,
      "target": 4628.182,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.99,
        "bb_width_pct": 0.834
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T15-50-00Z_long_vwap_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T15:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4615.26,
      "stop": 4608.952,
      "target": 4627.875,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.46,
        "bb_width_pct": 0.786
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T16-50-00Z_long_vwap_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T16:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4612.86,
      "stop": 4606.364,
      "target": 4625.852,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.69,
        "bb_width_pct": 0.328
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T16-55-00Z_long_vwap_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4617.14,
      "stop": 4612.879,
      "target": 4625.663,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.44,
        "bb_width_pct": 0.314
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T16-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4617.14,
      "stop": 4616.94,
      "target": 4617.539,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.44,
        "bb_width_pct": 0.314
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T17-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T17:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4614.795,
      "stop": 4613.869,
      "target": 4616.647,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.95,
        "bb_width_pct": 0.288
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T17-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T17:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4607.475,
      "stop": 4603.311,
      "target": 4615.803,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.7,
        "bb_width_pct": 0.307
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T17-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T17:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4611.515,
      "stop": 4609.177,
      "target": 4616.191,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.84,
        "bb_width_pct": 0.316
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T17-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T17:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4611.515,
      "stop": 4609.575,
      "target": 4615.395,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.84,
        "bb_width_pct": 0.316
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T17-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T17:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4608.67,
      "stop": 4605.074,
      "target": 4615.861,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.71,
        "bb_width_pct": 0.346
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T17-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T17:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4608.67,
      "stop": 4605.628,
      "target": 4614.754,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.71,
        "bb_width_pct": 0.346
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T17-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T17:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4604.365,
      "stop": 4599.93,
      "target": 4613.235,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.61,
        "bb_width_pct": 0.417
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T17-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T17:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4611.385,
      "stop": 4609.862,
      "target": 4614.431,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.96,
        "bb_width_pct": 0.42
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T17-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T17:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4611.385,
      "stop": 4608.361,
      "target": 4617.432,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.96,
        "bb_width_pct": 0.42
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T18-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T18:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4621.12,
      "stop": 4624.817,
      "target": 4613.727,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.09,
        "bb_width_pct": 0.377
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T18-05-00Z_short_vwap_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T18:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4621.12,
      "stop": 4625.367,
      "target": 4612.626,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.09,
        "bb_width_pct": 0.377
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T18-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T18:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4621.12,
      "stop": 4625.153,
      "target": 4613.055,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.09,
        "bb_width_pct": 0.377
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T18-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T18:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4626.88,
      "stop": 4632.817,
      "target": 4615.007,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.52,
        "bb_width_pct": 0.531
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T18-20-00Z_short_vwap_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T18:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4626.88,
      "stop": 4632.895,
      "target": 4614.849,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 17.52,
        "bb_width_pct": 0.531
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T18-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T18:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4626.88,
      "stop": 4633.095,
      "target": 4614.45,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.52,
        "bb_width_pct": 0.531
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T18-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T18:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4628.38,
      "stop": 4634.633,
      "target": 4615.873,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 26.87,
        "bb_width_pct": 0.581
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T18-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4629.845,
      "stop": 4636.406,
      "target": 4616.723,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 24.5,
        "bb_width_pct": 0.634
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T19-05-00Z_short_rsi_range_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T19:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4634.835,
      "stop": 4640.432,
      "target": 4623.641,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 21.24,
        "bb_width_pct": 0.867
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T19-05-00Z_short_vwap_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T19:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4634.835,
      "stop": 4641.721,
      "target": 4621.062,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 21.24,
        "bb_width_pct": 0.867
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T19-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T19:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4634.835,
      "stop": 4641.205,
      "target": 4622.095,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 21.24,
        "bb_width_pct": 0.867
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T19-25-00Z_short_vwap_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T19:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4634.915,
      "stop": 4640.779,
      "target": 4623.187,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.1,
        "bb_width_pct": 0.65
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T19-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T19:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4634.915,
      "stop": 4641.325,
      "target": 4622.095,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.1,
        "bb_width_pct": 0.65
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T19-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T19:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4634.915,
      "stop": 4637.197,
      "target": 4630.352,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.1,
        "bb_width_pct": 0.65
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T19-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T19:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4636.97,
      "stop": 4639.964,
      "target": 4630.982,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.0,
        "bb_width_pct": 0.57
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T19-45-00Z_short_rsi_range_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T19:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4639.42,
      "stop": 4642.224,
      "target": 4633.811,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 13.38,
        "bb_width_pct": 0.415
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T19-45-00Z_short_vwap_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T19:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4639.42,
      "stop": 4646.635,
      "target": 4624.99,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.38,
        "bb_width_pct": 0.415
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T19-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T19:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4639.42,
      "stop": 4648.083,
      "target": 4622.095,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.38,
        "bb_width_pct": 0.415
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T19-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T19:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4639.42,
      "stop": 4642.532,
      "target": 4633.197,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.38,
        "bb_width_pct": 0.415
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T19-50-00Z_short_vwap_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T19:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4638.935,
      "stop": 4645.699,
      "target": 4625.408,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.68,
        "bb_width_pct": 0.374
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T19-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T19:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4638.935,
      "stop": 4647.355,
      "target": 4622.095,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.68,
        "bb_width_pct": 0.374
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T19-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T19:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4638.935,
      "stop": 4641.531,
      "target": 4633.743,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.68,
        "bb_width_pct": 0.374
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T20-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T20:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4631.96,
      "stop": 4630.225,
      "target": 4635.43,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.73,
        "bb_width_pct": 0.32
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T20-00-00Z_short_vwap_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T20:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4631.96,
      "stop": 4634.953,
      "target": 4625.974,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.73,
        "bb_width_pct": 0.32
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T20-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T20:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4631.96,
      "stop": 4636.892,
      "target": 4622.095,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.73,
        "bb_width_pct": 0.32
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T20-10-00Z_short_vwap_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T20:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4636.38,
      "stop": 4641.331,
      "target": 4626.478,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.03,
        "bb_width_pct": 0.263
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T20-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T20:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4636.38,
      "stop": 4643.523,
      "target": 4622.095,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.03,
        "bb_width_pct": 0.263
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T20-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T20:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4635.61,
      "stop": 4635.011,
      "target": 4636.807,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.56,
        "bb_width_pct": 0.196
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T20-20-00Z_short_vwap_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T20:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4635.61,
      "stop": 4639.967,
      "target": 4626.896,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.56,
        "bb_width_pct": 0.196
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T20-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T20:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4635.61,
      "stop": 4642.367,
      "target": 4622.095,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.56,
        "bb_width_pct": 0.196
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T20-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T20:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4634.34,
      "stop": 4633.051,
      "target": 4636.918,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.47,
        "bb_width_pct": 0.181
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T20-25-00Z_short_vwap_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T20:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4634.34,
      "stop": 4637.976,
      "target": 4627.068,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.47,
        "bb_width_pct": 0.181
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T20-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T20:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4633.79,
      "stop": 4632.375,
      "target": 4636.621,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.8,
        "bb_width_pct": 0.221
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T20-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T20:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4630.505,
      "stop": 4627.839,
      "target": 4635.836,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.71,
        "bb_width_pct": 0.316
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T21-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T21:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4625.77,
      "stop": 4621.987,
      "target": 4633.337,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.47,
        "bb_width_pct": 0.396
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T21-15-00Z_long_vwap_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T21:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4625.77,
      "stop": 4622.587,
      "target": 4632.136,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.47,
        "bb_width_pct": 0.396
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T21-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T21:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4625.77,
      "stop": 4623.023,
      "target": 4631.265,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.47,
        "bb_width_pct": 0.396
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T21-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T21:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4622.385,
      "stop": 4617.725,
      "target": 4631.705,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.16,
        "bb_width_pct": 0.426
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T21-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T21:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4620.955,
      "stop": 4616.03,
      "target": 4630.806,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.31,
        "bb_width_pct": 0.446
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T21-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T21:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4621.135,
      "stop": 4617.032,
      "target": 4629.341,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.47,
        "bb_width_pct": 0.478
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T21-40-00Z_long_vwap_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T21:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4621.135,
      "stop": 4616.405,
      "target": 4630.596,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.47,
        "bb_width_pct": 0.478
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T21-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T21:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4621.135,
      "stop": 4616.048,
      "target": 4631.31,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 21.47,
        "bb_width_pct": 0.478
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T21-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T21:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4627.11,
      "stop": 4625.45,
      "target": 4630.43,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.49,
        "bb_width_pct": 0.452
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T23-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4616.58,
      "stop": 4612.314,
      "target": 4625.112,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.08,
        "bb_width_pct": 0.469
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T23-10-00Z_long_rsi_range_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4616.58,
      "stop": 4612.314,
      "target": 4625.112,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.08,
        "bb_width_pct": 0.469
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T23-10-00Z_long_vwap_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4616.58,
      "stop": 4610.287,
      "target": 4629.167,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.08,
        "bb_width_pct": 0.469
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T23-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4616.58,
      "stop": 4610.926,
      "target": 4627.888,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 22.08,
        "bb_width_pct": 0.469
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T23-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T23:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4609.115,
      "stop": 4602.635,
      "target": 4622.076,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.86,
        "bb_width_pct": 0.615
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T23-25-00Z_long_rsi_range_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T23:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4609.115,
      "stop": 4602.635,
      "target": 4622.076,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.86,
        "bb_width_pct": 0.615
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T23-25-00Z_long_vwap_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T23:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4609.115,
      "stop": 4599.76,
      "target": 4627.825,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.86,
        "bb_width_pct": 0.615
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T23-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T23:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4609.115,
      "stop": 4601.395,
      "target": 4624.555,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 23.86,
        "bb_width_pct": 0.615
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T23-30-00Z_long_rsi_range_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4609.3,
      "stop": 4603.489,
      "target": 4620.922,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.99,
        "bb_width_pct": 0.625
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T23-30-00Z_long_vwap_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4609.3,
      "stop": 4600.247,
      "target": 4627.406,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.99,
        "bb_width_pct": 0.625
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T23-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4609.3,
      "stop": 4602.175,
      "target": 4623.55,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 19.99,
        "bb_width_pct": 0.625
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T23-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4606.505,
      "stop": 4600.547,
      "target": 4618.421,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.44,
        "bb_width_pct": 0.632
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T23-45-00Z_long_vwap_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4613.875,
      "stop": 4607.718,
      "target": 4626.189,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.54,
        "bb_width_pct": 0.595
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T23-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4613.875,
      "stop": 4609.684,
      "target": 4622.257,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.54,
        "bb_width_pct": 0.595
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T23-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4613.875,
      "stop": 4612.376,
      "target": 4616.873,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.54,
        "bb_width_pct": 0.595
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-14T23-55-00Z_long_vwap_mean_reversion",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T23:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4615.325,
      "stop": 4610.174,
      "target": 4625.627,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.86,
        "bb_width_pct": 0.568
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T01-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4610.08,
      "stop": 4607.63,
      "target": 4614.981,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.16,
        "bb_width_pct": 0.306
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T01-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T01:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4616.565,
      "stop": 4615.847,
      "target": 4618.0,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.39,
        "bb_width_pct": 0.298
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T01-25-00Z_long_vwap_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T01:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4600.78,
      "stop": 4594.812,
      "target": 4612.715,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.64,
        "bb_width_pct": 0.487
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T01-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T01:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4600.78,
      "stop": 4594.097,
      "target": 4614.145,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 21.64,
        "bb_width_pct": 0.487
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T01-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T01:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4596.46,
      "stop": 4589.327,
      "target": 4610.727,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.46,
        "bb_width_pct": 0.685
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T01-35-00Z_long_vwap_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T01:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4596.46,
      "stop": 4589.279,
      "target": 4610.822,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.46,
        "bb_width_pct": 0.685
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T01-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T01:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4602.72,
      "stop": 4600.355,
      "target": 4607.45,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.92,
        "bb_width_pct": 0.691
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T02-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4610.025,
      "stop": 4614.474,
      "target": 4601.127,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.13,
        "bb_width_pct": 0.576
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T02-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T02:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4598.82,
      "stop": 4594.792,
      "target": 4606.876,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.2,
        "bb_width_pct": 0.504
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T03-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4591.27,
      "stop": 4584.881,
      "target": 4604.048,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.31,
        "bb_width_pct": 0.56
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T03-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4590.5,
      "stop": 4584.925,
      "target": 4601.649,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.35,
        "bb_width_pct": 0.76
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T03-30-00Z_long_rsi_range_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4590.5,
      "stop": 4584.925,
      "target": 4601.649,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.35,
        "bb_width_pct": 0.76
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T03-30-00Z_long_vwap_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4590.5,
      "stop": 4582.762,
      "target": 4605.976,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.35,
        "bb_width_pct": 0.76
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T03-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4590.5,
      "stop": 4585.878,
      "target": 4599.745,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 21.35,
        "bb_width_pct": 0.76
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T03-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4590.5,
      "stop": 4586.449,
      "target": 4598.602,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.35,
        "bb_width_pct": 0.76
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T03-35-00Z_long_vwap_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T03:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4595.9,
      "stop": 4590.999,
      "target": 4605.703,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.92,
        "bb_width_pct": 0.768
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T03-40-00Z_long_vwap_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T03:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4596.7,
      "stop": 4592.305,
      "target": 4605.49,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.31,
        "bb_width_pct": 0.771
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T04-10-00Z_long_vwap_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T04:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4593.965,
      "stop": 4589.014,
      "target": 4603.867,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.22,
        "bb_width_pct": 0.537
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T04-20-00Z_long_vwap_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4596.06,
      "stop": 4592.341,
      "target": 4603.498,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.81,
        "bb_width_pct": 0.421
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T04-30-00Z_long_vwap_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T04:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4594.69,
      "stop": 4590.446,
      "target": 4603.177,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.5,
        "bb_width_pct": 0.353
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T04-35-00Z_long_vwap_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4594.91,
      "stop": 4590.851,
      "target": 4603.028,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.24,
        "bb_width_pct": 0.297
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T04-45-00Z_long_vwap_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4592.81,
      "stop": 4587.891,
      "target": 4602.649,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.24,
        "bb_width_pct": 0.263
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T04-50-00Z_long_vwap_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T04:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4594.8,
      "stop": 4590.946,
      "target": 4602.508,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.73,
        "bb_width_pct": 0.267
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T05-05-00Z_long_vwap_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4589.805,
      "stop": 4583.725,
      "target": 4601.964,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.73,
        "bb_width_pct": 0.211
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T05-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4587.1,
      "stop": 4584.545,
      "target": 4592.211,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.48,
        "bb_width_pct": 0.242
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T05-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4587.1,
      "stop": 4584.488,
      "target": 4592.324,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.48,
        "bb_width_pct": 0.242
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T05-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4586.56,
      "stop": 4583.988,
      "target": 4591.704,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.46,
        "bb_width_pct": 0.247
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T05-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4586.56,
      "stop": 4583.952,
      "target": 4591.775,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.46,
        "bb_width_pct": 0.247
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T05-25-00Z_long_vwap_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4593.105,
      "stop": 4589.098,
      "target": 4601.12,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.89,
        "bb_width_pct": 0.245
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T05-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4593.105,
      "stop": 4590.676,
      "target": 4597.962,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.89,
        "bb_width_pct": 0.245
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T05-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4585.66,
      "stop": 4582.831,
      "target": 4591.319,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.81,
        "bb_width_pct": 0.269
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T05-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4585.66,
      "stop": 4582.836,
      "target": 4591.307,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.81,
        "bb_width_pct": 0.269
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T05-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4583.49,
      "stop": 4579.954,
      "target": 4590.563,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.94,
        "bb_width_pct": 0.306
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T05-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4589.695,
      "stop": 4589.095,
      "target": 4590.896,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.19,
        "bb_width_pct": 0.306
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T05-40-00Z_long_vwap_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4589.695,
      "stop": 4584.306,
      "target": 4600.473,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.19,
        "bb_width_pct": 0.306
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T05-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4589.695,
      "stop": 4585.561,
      "target": 4597.962,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.19,
        "bb_width_pct": 0.306
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T05-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4589.695,
      "stop": 4589.302,
      "target": 4590.48,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.19,
        "bb_width_pct": 0.306
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T05-45-00Z_long_vwap_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T05:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4591.93,
      "stop": 4587.73,
      "target": 4600.33,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.33,
        "bb_width_pct": 0.299
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T05-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4596.81,
      "stop": 4599.588,
      "target": 4591.254,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.32,
        "bb_width_pct": 0.314
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T05-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T05:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4595.35,
      "stop": 4597.338,
      "target": 4591.374,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.71,
        "bb_width_pct": 0.322
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T06-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4599.165,
      "stop": 4602.983,
      "target": 4591.529,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.39,
        "bb_width_pct": 0.344
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T06-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T06:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4608.165,
      "stop": 4615.164,
      "target": 4594.166,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 24.11,
        "bb_width_pct": 0.643
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T06-20-00Z_short_rsi_range_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T06:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4608.165,
      "stop": 4615.164,
      "target": 4594.166,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 24.11,
        "bb_width_pct": 0.643
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T06-20-00Z_short_vwap_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T06:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4608.165,
      "stop": 4612.008,
      "target": 4600.478,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 24.11,
        "bb_width_pct": 0.643
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T06-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T06:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4608.165,
      "stop": 4614.63,
      "target": 4595.235,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 24.11,
        "bb_width_pct": 0.643
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T06-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T06:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4604.105,
      "stop": 4608.356,
      "target": 4595.602,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 20.58,
        "bb_width_pct": 0.669
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T06-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T06:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4604.105,
      "stop": 4607.247,
      "target": 4597.821,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.58,
        "bb_width_pct": 0.669
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T07-00-00Z_short_rsi_range_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T07:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4608.875,
      "stop": 4612.847,
      "target": 4600.932,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 19.37,
        "bb_width_pct": 0.719
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T07-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T07:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4608.875,
      "stop": 4615.004,
      "target": 4596.618,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 19.37,
        "bb_width_pct": 0.719
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T07-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T07:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4608.875,
      "stop": 4611.864,
      "target": 4602.897,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.37,
        "bb_width_pct": 0.719
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T07-05-00Z_short_rsi_range_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T07:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4608.845,
      "stop": 4612.408,
      "target": 4601.719,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 14.26,
        "bb_width_pct": 0.716
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T07-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T07:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4608.845,
      "stop": 4614.959,
      "target": 4596.618,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.26,
        "bb_width_pct": 0.716
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T07-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T07:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4609.865,
      "stop": 4616.112,
      "target": 4597.37,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.42,
        "bb_width_pct": 0.477
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T07-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T07:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4609.865,
      "stop": 4612.124,
      "target": 4605.346,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.42,
        "bb_width_pct": 0.477
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T07-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4609.115,
      "stop": 4614.987,
      "target": 4597.37,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.94,
        "bb_width_pct": 0.358
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T07-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T07:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4603.61,
      "stop": 4606.73,
      "target": 4597.37,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.31,
        "bb_width_pct": 0.284
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T07-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T07:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4604.105,
      "stop": 4602.368,
      "target": 4607.578,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.59,
        "bb_width_pct": 0.242
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T07-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T07:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4603.155,
      "stop": 4600.979,
      "target": 4607.506,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.86,
        "bb_width_pct": 0.25
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T07-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T07:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4601.98,
      "stop": 4599.304,
      "target": 4607.332,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.57,
        "bb_width_pct": 0.269
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T07-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T07:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4601.8,
      "stop": 4599.214,
      "target": 4606.971,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.54,
        "bb_width_pct": 0.286
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T07-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T07:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4601.8,
      "stop": 4600.287,
      "target": 4604.826,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.54,
        "bb_width_pct": 0.286
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T08-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4600.16,
      "stop": 4596.954,
      "target": 4606.571,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.05,
        "bb_width_pct": 0.313
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T08-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4600.16,
      "stop": 4598.049,
      "target": 4604.381,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.05,
        "bb_width_pct": 0.313
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T08-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T08:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4601.745,
      "stop": 4599.391,
      "target": 4606.453,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.85,
        "bb_width_pct": 0.323
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T08-05-00Z_long_rsi_range_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T08:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4601.745,
      "stop": 4599.391,
      "target": 4606.453,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.85,
        "bb_width_pct": 0.323
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T09-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4609.19,
      "stop": 4611.546,
      "target": 4604.479,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.6,
        "bb_width_pct": 0.168
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T09-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T09:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4609.645,
      "stop": 4611.982,
      "target": 4604.971,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.51,
        "bb_width_pct": 0.183
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T09-50-00Z_short_vwap_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T09:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4611.695,
      "stop": 4614.845,
      "target": 4605.395,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 17.85,
        "bb_width_pct": 0.259
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T09-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T09:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4611.695,
      "stop": 4614.665,
      "target": 4605.755,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.85,
        "bb_width_pct": 0.259
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T10-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T10:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4609.855,
      "stop": 4611.905,
      "target": 4605.755,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.83,
        "bb_width_pct": 0.301
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T10-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T10:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4609.855,
      "stop": 4611.22,
      "target": 4607.126,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.83,
        "bb_width_pct": 0.301
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T10-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T10:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4611.54,
      "stop": 4614.099,
      "target": 4606.423,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.92,
        "bb_width_pct": 0.309
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T10-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T10:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4611.54,
      "stop": 4613.537,
      "target": 4607.546,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.92,
        "bb_width_pct": 0.309
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T10-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T10:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4612.515,
      "stop": 4614.763,
      "target": 4608.019,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 24.01,
        "bb_width_pct": 0.322
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T10-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T10:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4612.905,
      "stop": 4615.115,
      "target": 4608.485,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.82,
        "bb_width_pct": 0.34
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T10-25-00Z_short_rsi_range_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T10:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4612.26,
      "stop": 4614.322,
      "target": 4608.135,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 20.56,
        "bb_width_pct": 0.368
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T10-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T10:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4612.26,
      "stop": 4614.956,
      "target": 4606.868,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 20.56,
        "bb_width_pct": 0.368
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T10-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T10:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4612.26,
      "stop": 4613.69,
      "target": 4609.401,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.56,
        "bb_width_pct": 0.368
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T11-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T11:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4618.875,
      "stop": 4623.455,
      "target": 4609.715,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 20.42,
        "bb_width_pct": 0.359
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T11-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T11:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4618.875,
      "stop": 4621.038,
      "target": 4614.55,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.42,
        "bb_width_pct": 0.359
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T11-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T11:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4619.085,
      "stop": 4621.137,
      "target": 4614.982,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.79,
        "bb_width_pct": 0.328
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T11-15-00Z_short_rsi_range_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T11:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4617.66,
      "stop": 4618.881,
      "target": 4615.217,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 12.86,
        "bb_width_pct": 0.312
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T11-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T11:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4617.66,
      "stop": 4621.622,
      "target": 4609.735,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.86,
        "bb_width_pct": 0.312
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T11-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T11:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4619.23,
      "stop": 4621.036,
      "target": 4615.617,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.66,
        "bb_width_pct": 0.3
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T11-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T11:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4618.17,
      "stop": 4621.668,
      "target": 4611.175,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.33,
        "bb_width_pct": 0.275
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T11-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T11:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4618.17,
      "stop": 4618.688,
      "target": 4617.134,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.33,
        "bb_width_pct": 0.275
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T12-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4618.34,
      "stop": 4621.543,
      "target": 4611.935,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.47,
        "bb_width_pct": 0.194
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T12-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T12:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4616.135,
      "stop": 4614.956,
      "target": 4618.494,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.92,
        "bb_width_pct": 0.162
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T12-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T12:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4614.425,
      "stop": 4612.804,
      "target": 4617.667,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.54,
        "bb_width_pct": 0.173
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T12-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T12:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4614.035,
      "stop": 4612.468,
      "target": 4617.17,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.06,
        "bb_width_pct": 0.203
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T12-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T12:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4614.035,
      "stop": 4613.036,
      "target": 4616.033,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.06,
        "bb_width_pct": 0.203
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T13-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T13:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4612.65,
      "stop": 4610.762,
      "target": 4616.425,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.04,
        "bb_width_pct": 0.236
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T13-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T13:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4612.65,
      "stop": 4610.836,
      "target": 4616.278,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 13.04,
        "bb_width_pct": 0.236
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T13-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T13:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4612.65,
      "stop": 4611.336,
      "target": 4615.278,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.04,
        "bb_width_pct": 0.236
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T13-20-00Z_long_vwap_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T13:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4607.36,
      "stop": 4603.81,
      "target": 4614.459,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.52,
        "bb_width_pct": 0.304
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T13-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T13:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4607.36,
      "stop": 4604.04,
      "target": 4614.0,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 13.52,
        "bb_width_pct": 0.304
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T13-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T13:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4590.915,
      "stop": 4582.591,
      "target": 4607.564,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.48,
        "bb_width_pct": 0.853
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T13-50-00Z_long_rsi_range_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T13:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4590.915,
      "stop": 4582.591,
      "target": 4607.564,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.48,
        "bb_width_pct": 0.853
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T13-50-00Z_long_vwap_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T13:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4590.915,
      "stop": 4581.726,
      "target": 4609.294,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.48,
        "bb_width_pct": 0.853
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T13-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T13:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4590.915,
      "stop": 4585.189,
      "target": 4602.368,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 26.48,
        "bb_width_pct": 0.853
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T13-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T13:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4588.325,
      "stop": 4579.36,
      "target": 4606.254,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.45,
        "bb_width_pct": 0.915
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T14-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4591.855,
      "stop": 4585.262,
      "target": 4605.04,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.99,
        "bb_width_pct": 0.932
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T14-00-00Z_long_rsi_range_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4591.855,
      "stop": 4585.262,
      "target": 4605.04,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.99,
        "bb_width_pct": 0.932
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T14-00-00Z_long_vwap_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4591.855,
      "stop": 4583.944,
      "target": 4607.676,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.99,
        "bb_width_pct": 0.932
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T14-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4591.855,
      "stop": 4586.599,
      "target": 4602.368,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 21.99,
        "bb_width_pct": 0.932
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T14-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4591.855,
      "stop": 4586.911,
      "target": 4601.743,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.99,
        "bb_width_pct": 0.932
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T14-05-00Z_long_rsi_range_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T14:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4596.01,
      "stop": 4592.011,
      "target": 4604.007,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.14,
        "bb_width_pct": 0.916
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T14-05-00Z_long_vwap_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T14:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4596.01,
      "stop": 4590.445,
      "target": 4607.14,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.14,
        "bb_width_pct": 0.916
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T14-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T14:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4596.01,
      "stop": 4593.416,
      "target": 4601.197,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.14,
        "bb_width_pct": 0.916
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T14-55-00Z_short_rsi_range_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T14:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4611.205,
      "stop": 4616.607,
      "target": 4600.401,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 19.66,
        "bb_width_pct": 0.686
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T15-00-00Z_short_rsi_range_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T15:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4609.07,
      "stop": 4613.362,
      "target": 4600.487,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 20.06,
        "bb_width_pct": 0.694
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T15-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T15:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4609.07,
      "stop": 4612.976,
      "target": 4601.257,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 20.06,
        "bb_width_pct": 0.694
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T15-05-00Z_short_rsi_range_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T15:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4608.69,
      "stop": 4612.725,
      "target": 4600.621,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 16.2,
        "bb_width_pct": 0.703
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T15-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T15:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4615.56,
      "stop": 4619.714,
      "target": 4607.251,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.09,
        "bb_width_pct": 0.763
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T15-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T15:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4614.29,
      "stop": 4621.312,
      "target": 4600.245,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.26,
        "bb_width_pct": 0.687
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T15-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T15:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4613.66,
      "stop": 4620.368,
      "target": 4600.245,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.67,
        "bb_width_pct": 0.596
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T15-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T15:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4611.69,
      "stop": 4617.412,
      "target": 4600.245,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.26,
        "bb_width_pct": 0.508
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T15-55-00Z_short_vwap_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T15:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4615.545,
      "stop": 4619.103,
      "target": 4608.429,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.0,
        "bb_width_pct": 0.378
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T15-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T15:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4615.545,
      "stop": 4623.249,
      "target": 4600.137,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.0,
        "bb_width_pct": 0.378
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T16-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4610.32,
      "stop": 4615.511,
      "target": 4599.938,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.11,
        "bb_width_pct": 0.346
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T16-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T16:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4620.995,
      "stop": 4624.71,
      "target": 4613.566,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.85,
        "bb_width_pct": 0.368
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T16-15-00Z_short_vwap_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T16:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4620.995,
      "stop": 4626.946,
      "target": 4609.092,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 9.85,
        "bb_width_pct": 0.368
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T16-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T16:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4620.995,
      "stop": 4630.249,
      "target": 4602.488,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.85,
        "bb_width_pct": 0.368
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T16-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T16:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4620.995,
      "stop": 4624.735,
      "target": 4613.515,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.85,
        "bb_width_pct": 0.368
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T16-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T16:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4616.8,
      "stop": 4618.071,
      "target": 4614.258,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.62,
        "bb_width_pct": 0.305
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T16-20-00Z_short_vwap_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T16:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4616.8,
      "stop": 4620.568,
      "target": 4609.265,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 1.62,
        "bb_width_pct": 0.305
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T16-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T16:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4616.8,
      "stop": 4623.54,
      "target": 4603.32,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.62,
        "bb_width_pct": 0.305
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T16-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T16:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4607.385,
      "stop": 4604.135,
      "target": 4613.884,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.18,
        "bb_width_pct": 0.346
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T16-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T16:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4602.33,
      "stop": 4598.272,
      "target": 4610.446,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.07,
        "bb_width_pct": 0.441
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T16-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4605.68,
      "stop": 4602.227,
      "target": 4612.587,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.72,
        "bb_width_pct": 0.459
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T16-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4605.68,
      "stop": 4603.524,
      "target": 4609.992,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.72,
        "bb_width_pct": 0.459
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T18-05-00Z_short_rsi_range_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T18:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4618.42,
      "stop": 4621.983,
      "target": 4611.295,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 22.37,
        "bb_width_pct": 0.399
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T18-05-00Z_short_vwap_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T18:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4618.42,
      "stop": 4620.916,
      "target": 4613.428,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 22.37,
        "bb_width_pct": 0.399
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T18-10-00Z_short_rsi_range_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T18:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4617.935,
      "stop": 4621.05,
      "target": 4611.704,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 20.29,
        "bb_width_pct": 0.417
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T18-10-00Z_short_vwap_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T18:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4617.935,
      "stop": 4620.018,
      "target": 4613.769,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 20.29,
        "bb_width_pct": 0.417
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T18-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T18:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4617.935,
      "stop": 4619.897,
      "target": 4614.011,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.29,
        "bb_width_pct": 0.417
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T18-25-00Z_short_rsi_range_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T18:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4619.56,
      "stop": 4622.462,
      "target": 4613.756,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 16.17,
        "bb_width_pct": 0.411
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T18-25-00Z_short_vwap_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T18:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4619.56,
      "stop": 4621.982,
      "target": 4614.716,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 16.17,
        "bb_width_pct": 0.411
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T18-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T18:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4619.56,
      "stop": 4621.62,
      "target": 4615.439,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.17,
        "bb_width_pct": 0.411
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T19-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T19:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4619.165,
      "stop": 4619.937,
      "target": 4617.62,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.67,
        "bb_width_pct": 0.171
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T19-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T19:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4619.165,
      "stop": 4622.191,
      "target": 4613.113,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.67,
        "bb_width_pct": 0.171
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T19-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T19:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4616.245,
      "stop": 4615.139,
      "target": 4618.456,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.45,
        "bb_width_pct": 0.12
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T19-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T19:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4616.245,
      "stop": 4618.564,
      "target": 4611.608,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.45,
        "bb_width_pct": 0.12
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T19-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T19:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4615.935,
      "stop": 4614.919,
      "target": 4617.968,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.58,
        "bb_width_pct": 0.141
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T19-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T19:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4615.935,
      "stop": 4615.328,
      "target": 4617.149,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.58,
        "bb_width_pct": 0.141
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T20-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T20:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4614.155,
      "stop": 4612.388,
      "target": 4617.689,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.39,
        "bb_width_pct": 0.154
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T20-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T20:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4614.155,
      "stop": 4612.801,
      "target": 4616.863,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.39,
        "bb_width_pct": 0.154
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T20-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T20:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4605.05,
      "stop": 4600.397,
      "target": 4614.357,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 27.88,
        "bb_width_pct": 0.523
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T20-25-00Z_long_rsi_range_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T20:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4605.05,
      "stop": 4600.397,
      "target": 4614.357,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 27.88,
        "bb_width_pct": 0.523
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T20-25-00Z_long_vwap_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T20:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4605.05,
      "stop": 4600.145,
      "target": 4614.86,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 27.88,
        "bb_width_pct": 0.523
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T20-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T20:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4605.05,
      "stop": 4601.968,
      "target": 4611.215,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 27.88,
        "bb_width_pct": 0.523
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T20-30-00Z_long_rsi_range_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T20:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4607.51,
      "stop": 4604.31,
      "target": 4613.909,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.56,
        "bb_width_pct": 0.536
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T20-30-00Z_long_vwap_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T20:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4607.51,
      "stop": 4603.933,
      "target": 4614.665,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.56,
        "bb_width_pct": 0.536
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T20-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T20:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4607.51,
      "stop": 4605.658,
      "target": 4611.215,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 19.56,
        "bb_width_pct": 0.536
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T20-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T20:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4607.51,
      "stop": 4605.514,
      "target": 4611.502,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.56,
        "bb_width_pct": 0.536
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T20-40-00Z_long_rsi_range_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4608.195,
      "stop": 4605.886,
      "target": 4612.813,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.73,
        "bb_width_pct": 0.541
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T20-40-00Z_long_vwap_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4608.195,
      "stop": 4605.123,
      "target": 4614.338,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.73,
        "bb_width_pct": 0.541
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T20-55-00Z_long_rsi_range_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T20:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4605.92,
      "stop": 4603.538,
      "target": 4610.684,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.25,
        "bb_width_pct": 0.504
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T20-55-00Z_long_vwap_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T20:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4605.92,
      "stop": 4601.974,
      "target": 4613.812,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.25,
        "bb_width_pct": 0.504
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T20-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T20:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4605.92,
      "stop": 4603.273,
      "target": 4611.215,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 16.25,
        "bb_width_pct": 0.504
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T21-00-00Z_long_vwap_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T21:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4608.39,
      "stop": 4604.195,
      "target": 4616.78,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.24,
        "bb_width_pct": 0.472
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T21-05-00Z_long_vwap_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T21:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4610.555,
      "stop": 4607.565,
      "target": 4616.534,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.35,
        "bb_width_pct": 0.443
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T21-35-00Z_short_rsi_range_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T21:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4613.905,
      "stop": 4616.38,
      "target": 4608.954,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 14.73,
        "bb_width_pct": 0.358
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T21-45-00Z_short_rsi_range_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T21:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4614.985,
      "stop": 4617.732,
      "target": 4609.492,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 17.47,
        "bb_width_pct": 0.379
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T21-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T21:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4614.985,
      "stop": 4616.343,
      "target": 4612.269,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.47,
        "bb_width_pct": 0.379
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T23-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4614.335,
      "stop": 4615.895,
      "target": 4611.215,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.68,
        "bb_width_pct": 0.362
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T23-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4614.335,
      "stop": 4614.482,
      "target": 4614.042,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.68,
        "bb_width_pct": 0.362
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T23-35-00Z_long_vwap_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4608.93,
      "stop": 4605.637,
      "target": 4615.516,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.09,
        "bb_width_pct": 0.272
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T23-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4608.93,
      "stop": 4607.158,
      "target": 4612.475,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.09,
        "bb_width_pct": 0.272
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T23-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4608.19,
      "stop": 4605.563,
      "target": 4613.445,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.34,
        "bb_width_pct": 0.273
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T23-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4608.19,
      "stop": 4606.252,
      "target": 4612.067,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.34,
        "bb_width_pct": 0.273
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T23-50-00Z_long_rsi_range_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T23:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4608.12,
      "stop": 4605.655,
      "target": 4613.049,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.16,
        "bb_width_pct": 0.312
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T23-50-00Z_long_vwap_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T23:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4608.12,
      "stop": 4604.67,
      "target": 4615.021,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.16,
        "bb_width_pct": 0.312
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T23-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T23:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4608.12,
      "stop": 4606.565,
      "target": 4611.229,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.16,
        "bb_width_pct": 0.312
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-15T23-55-00Z_long_vwap_mean_reversion",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T23:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4610.365,
      "stop": 4608.094,
      "target": 4614.906,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.86,
        "bb_width_pct": 0.316
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T00-10-00Z_long_rsi_range_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T00:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4605.86,
      "stop": 4603.005,
      "target": 4611.57,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.9,
        "bb_width_pct": 0.371
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T00-15-00Z_long_rsi_range_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T00:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4608.23,
      "stop": 4606.702,
      "target": 4611.287,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.19,
        "bb_width_pct": 0.374
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T00-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4603.97,
      "stop": 4601.605,
      "target": 4608.7,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.77,
        "bb_width_pct": 0.373
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T00-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T00:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4603.01,
      "stop": 4600.436,
      "target": 4608.158,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.72,
        "bb_width_pct": 0.373
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T00-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T00:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4601.015,
      "stop": 4597.791,
      "target": 4607.463,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.41,
        "bb_width_pct": 0.302
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T00-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T00:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4599.945,
      "stop": 4596.546,
      "target": 4606.744,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.68,
        "bb_width_pct": 0.301
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T00-55-00Z_long_vwap_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T00:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4600.025,
      "stop": 4597.781,
      "target": 4604.512,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.49,
        "bb_width_pct": 0.295
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T00-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T00:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4600.025,
      "stop": 4595.164,
      "target": 4609.748,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 17.49,
        "bb_width_pct": 0.295
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T01-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4599.085,
      "stop": 4595.925,
      "target": 4605.404,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.19,
        "bb_width_pct": 0.295
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T01-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T01:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4604.24,
      "stop": 4603.777,
      "target": 4605.167,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.8,
        "bb_width_pct": 0.287
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T01-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T01:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4604.24,
      "stop": 4602.671,
      "target": 4607.378,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.8,
        "bb_width_pct": 0.287
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T01-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T01:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4604.24,
      "stop": 4603.885,
      "target": 4604.949,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.8,
        "bb_width_pct": 0.287
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T02-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T02:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4598.36,
      "stop": 4596.339,
      "target": 4602.402,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.93,
        "bb_width_pct": 0.191
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T02-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T02:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4601.51,
      "stop": 4601.102,
      "target": 4602.327,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.66,
        "bb_width_pct": 0.191
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T02-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T02:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4601.51,
      "stop": 4598.576,
      "target": 4607.378,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 3.66,
        "bb_width_pct": 0.191
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T02-35-00Z_long_vwap_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T02:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4594.66,
      "stop": 4590.597,
      "target": 4602.787,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.32,
        "bb_width_pct": 0.276
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T02-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T02:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4594.66,
      "stop": 4589.819,
      "target": 4604.342,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 11.32,
        "bb_width_pct": 0.276
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T02-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T02:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4594.66,
      "stop": 4591.353,
      "target": 4601.274,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.32,
        "bb_width_pct": 0.276
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T02-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T02:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4595.935,
      "stop": 4593.06,
      "target": 4601.686,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.61,
        "bb_width_pct": 0.294
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T02-40-00Z_long_vwap_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T02:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4595.935,
      "stop": 4592.621,
      "target": 4602.562,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.61,
        "bb_width_pct": 0.294
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T02-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T02:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4595.935,
      "stop": 4592.8,
      "target": 4602.205,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.61,
        "bb_width_pct": 0.294
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T02-45-00Z_long_vwap_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4596.38,
      "stop": 4593.376,
      "target": 4602.388,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.72,
        "bb_width_pct": 0.306
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T02-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T02:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4595.075,
      "stop": 4592.457,
      "target": 4600.311,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.13,
        "bb_width_pct": 0.356
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T02-55-00Z_long_vwap_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T02:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4595.075,
      "stop": 4591.645,
      "target": 4601.934,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.13,
        "bb_width_pct": 0.356
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T02-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T02:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4595.075,
      "stop": 4591.94,
      "target": 4601.345,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.13,
        "bb_width_pct": 0.356
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T02-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T02:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4595.075,
      "stop": 4593.033,
      "target": 4599.16,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.13,
        "bb_width_pct": 0.356
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T03-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T03:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4596.95,
      "stop": 4594.753,
      "target": 4601.345,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.63,
        "bb_width_pct": 0.262
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T03-50-00Z_long_vwap_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T03:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4596.79,
      "stop": 4594.82,
      "target": 4600.731,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.96,
        "bb_width_pct": 0.224
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T04-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4598.845,
      "stop": 4599.764,
      "target": 4597.007,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.43,
        "bb_width_pct": 0.166
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T04-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T04:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4601.265,
      "stop": 4602.851,
      "target": 4598.094,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.29,
        "bb_width_pct": 0.17
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T04-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T04:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4601.265,
      "stop": 4602.4,
      "target": 4598.995,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.29,
        "bb_width_pct": 0.17
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T05-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4596.6,
      "stop": 4595.604,
      "target": 4598.593,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.96,
        "bb_width_pct": 0.138
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T05-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4596.6,
      "stop": 4595.452,
      "target": 4598.895,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.96,
        "bb_width_pct": 0.138
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T05-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4597.825,
      "stop": 4597.419,
      "target": 4598.636,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.31,
        "bb_width_pct": 0.135
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T05-15-00Z_long_vwap_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4597.825,
      "stop": 4596.598,
      "target": 4600.279,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.31,
        "bb_width_pct": 0.135
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T05-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4597.825,
      "stop": 4597.341,
      "target": 4598.794,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.31,
        "bb_width_pct": 0.135
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T05-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4598.79,
      "stop": 4599.235,
      "target": 4597.9,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.6,
        "bb_width_pct": 0.116
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T05-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4603.445,
      "stop": 4605.392,
      "target": 4599.551,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.65,
        "bb_width_pct": 0.128
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T05-55-00Z_short_rsi_range_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T05:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4611.58,
      "stop": 4616.421,
      "target": 4601.898,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 22.49,
        "bb_width_pct": 0.408
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T05-55-00Z_short_vwap_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T05:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4611.58,
      "stop": 4616.94,
      "target": 4600.86,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 22.49,
        "bb_width_pct": 0.408
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T05-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T05:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4611.58,
      "stop": 4615.955,
      "target": 4602.83,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 22.49,
        "bb_width_pct": 0.408
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T06-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4607.315,
      "stop": 4609.812,
      "target": 4602.322,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.38,
        "bb_width_pct": 0.415
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T06-00-00Z_short_vwap_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4607.315,
      "stop": 4610.487,
      "target": 4600.97,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.38,
        "bb_width_pct": 0.415
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T06-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4607.315,
      "stop": 4609.144,
      "target": 4603.658,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.38,
        "bb_width_pct": 0.415
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T06-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T06:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4596.885,
      "stop": 4593.214,
      "target": 4604.227,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.75,
        "bb_width_pct": 0.437
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T06-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T06:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4596.885,
      "stop": 4593.015,
      "target": 4604.625,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.75,
        "bb_width_pct": 0.437
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T06-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T06:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4596.885,
      "stop": 4593.65,
      "target": 4603.354,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.75,
        "bb_width_pct": 0.437
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T06-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T06:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4596.865,
      "stop": 4593.929,
      "target": 4602.736,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.88,
        "bb_width_pct": 0.435
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T06-55-00Z_long_rsi_range_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T06:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4598.245,
      "stop": 4595.237,
      "target": 4604.261,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.28,
        "bb_width_pct": 0.433
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T06-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T06:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4598.245,
      "stop": 4594.765,
      "target": 4605.205,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 23.28,
        "bb_width_pct": 0.433
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T07-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T07:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4601.185,
      "stop": 4599.175,
      "target": 4605.205,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 16.63,
        "bb_width_pct": 0.431
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T07-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T07:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4607.455,
      "stop": 4608.783,
      "target": 4604.799,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.86,
        "bb_width_pct": 0.366
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T07-50-00Z_short_rsi_range_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T07:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4607.58,
      "stop": 4609.107,
      "target": 4604.526,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 16.91,
        "bb_width_pct": 0.369
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T08-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T08:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4602.93,
      "stop": 4601.077,
      "target": 4606.635,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.22,
        "bb_width_pct": 0.185
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T08-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T08:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4606.395,
      "stop": 4606.37,
      "target": 4606.445,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.43,
        "bb_width_pct": 0.171
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T09-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T09:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4601.68,
      "stop": 4599.65,
      "target": 4605.74,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.97,
        "bb_width_pct": 0.186
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T09-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T09:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4601.215,
      "stop": 4599.127,
      "target": 4605.39,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.25,
        "bb_width_pct": 0.198
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T09-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4599.925,
      "stop": 4597.839,
      "target": 4604.097,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.83,
        "bb_width_pct": 0.218
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T09-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4600.635,
      "stop": 4598.624,
      "target": 4604.657,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.37,
        "bb_width_pct": 0.226
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T09-35-00Z_long_vwap_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4600.635,
      "stop": 4598.247,
      "target": 4605.411,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.37,
        "bb_width_pct": 0.226
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T10-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T10:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4607.06,
      "stop": 4608.912,
      "target": 4603.356,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.67,
        "bb_width_pct": 0.179
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T10-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T10:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4607.06,
      "stop": 4608.72,
      "target": 4603.741,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.67,
        "bb_width_pct": 0.179
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T10-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T10:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4607.545,
      "stop": 4609.216,
      "target": 4604.202,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.4,
        "bb_width_pct": 0.254
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T10-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T10:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4607.545,
      "stop": 4608.525,
      "target": 4605.585,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.4,
        "bb_width_pct": 0.254
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T10-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T10:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4607.545,
      "stop": 4608.753,
      "target": 4605.128,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.4,
        "bb_width_pct": 0.254
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T11-00-00Z_long_vwap_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4601.38,
      "stop": 4598.925,
      "target": 4606.289,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.2,
        "bb_width_pct": 0.299
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T11-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4601.38,
      "stop": 4599.535,
      "target": 4605.07,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.2,
        "bb_width_pct": 0.299
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T11-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4601.38,
      "stop": 4599.589,
      "target": 4604.963,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.2,
        "bb_width_pct": 0.299
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T11-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T11:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4601.98,
      "stop": 4600.516,
      "target": 4604.908,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.7,
        "bb_width_pct": 0.296
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T11-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T11:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4601.98,
      "stop": 4600.631,
      "target": 4604.679,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.7,
        "bb_width_pct": 0.296
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T11-35-00Z_short_vwap_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T11:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4612.805,
      "stop": 4615.681,
      "target": 4607.053,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.97,
        "bb_width_pct": 0.307
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T11-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T11:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4612.805,
      "stop": 4616.196,
      "target": 4606.023,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.97,
        "bb_width_pct": 0.307
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T11-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T11:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4615.58,
      "stop": 4619.436,
      "target": 4607.868,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.44,
        "bb_width_pct": 0.341
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T11-45-00Z_short_vwap_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T11:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4613.625,
      "stop": 4616.573,
      "target": 4607.729,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.68,
        "bb_width_pct": 0.35
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T11-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T11:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4613.625,
      "stop": 4616.786,
      "target": 4607.302,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.68,
        "bb_width_pct": 0.35
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T11-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T11:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4613.625,
      "stop": 4616.057,
      "target": 4608.762,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.68,
        "bb_width_pct": 0.35
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T11-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T11:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4613.825,
      "stop": 4616.115,
      "target": 4609.244,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.03,
        "bb_width_pct": 0.364
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T11-55-00Z_short_vwap_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T11:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4612.605,
      "stop": 4614.8,
      "target": 4608.215,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 17.87,
        "bb_width_pct": 0.371
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T11-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T11:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4612.605,
      "stop": 4615.175,
      "target": 4607.465,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.87,
        "bb_width_pct": 0.371
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T12-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T12:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4606.395,
      "stop": 4604.934,
      "target": 4609.317,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.45,
        "bb_width_pct": 0.383
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T12-35-00Z_long_vwap_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T12:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4603.665,
      "stop": 4601.356,
      "target": 4608.282,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.51,
        "bb_width_pct": 0.361
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T12-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T12:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4603.665,
      "stop": 4601.365,
      "target": 4608.264,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.51,
        "bb_width_pct": 0.361
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T12-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T12:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4603.345,
      "stop": 4601.12,
      "target": 4607.796,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.78,
        "bb_width_pct": 0.346
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T12-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T12:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4605.025,
      "stop": 4603.771,
      "target": 4607.532,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.68,
        "bb_width_pct": 0.326
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T12-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T12:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4602.01,
      "stop": 4598.607,
      "target": 4608.816,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.58,
        "bb_width_pct": 0.391
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T12-55-00Z_long_rsi_range_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T12:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4602.01,
      "stop": 4598.607,
      "target": 4608.816,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.58,
        "bb_width_pct": 0.391
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T12-55-00Z_long_vwap_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T12:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4602.01,
      "stop": 4599.831,
      "target": 4606.369,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.58,
        "bb_width_pct": 0.391
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T12-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T12:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4602.01,
      "stop": 4599.58,
      "target": 4606.87,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 23.58,
        "bb_width_pct": 0.391
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T12-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T12:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4602.01,
      "stop": 4599.827,
      "target": 4606.376,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.58,
        "bb_width_pct": 0.391
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T13-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4598.665,
      "stop": 4593.873,
      "target": 4608.249,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.89,
        "bb_width_pct": 0.435
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T13-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T13:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4596.19,
      "stop": 4590.938,
      "target": 4606.693,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.99,
        "bb_width_pct": 0.509
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T13-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T13:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4590.835,
      "stop": 4584.155,
      "target": 4604.195,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.07,
        "bb_width_pct": 0.633
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T13-20-00Z_long_rsi_range_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T13:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4590.835,
      "stop": 4584.155,
      "target": 4604.195,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.07,
        "bb_width_pct": 0.633
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T13-20-00Z_long_vwap_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T13:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4590.835,
      "stop": 4584.738,
      "target": 4603.028,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.07,
        "bb_width_pct": 0.633
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T13-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T13:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4590.835,
      "stop": 4586.324,
      "target": 4599.858,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 26.07,
        "bb_width_pct": 0.633
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T13-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4595.02,
      "stop": 4591.568,
      "target": 4601.925,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.1,
        "bb_width_pct": 0.661
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T13-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4595.02,
      "stop": 4592.78,
      "target": 4599.5,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.1,
        "bb_width_pct": 0.661
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T13-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4595.02,
      "stop": 4592.776,
      "target": 4599.507,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.1,
        "bb_width_pct": 0.661
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T14-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T14:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4605.0,
      "stop": 4607.999,
      "target": 4599.001,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.48,
        "bb_width_pct": 0.512
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T14-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T14:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4605.0,
      "stop": 4607.75,
      "target": 4599.5,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.48,
        "bb_width_pct": 0.512
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T14-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T14:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4614.075,
      "stop": 4620.933,
      "target": 4600.359,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.13,
        "bb_width_pct": 0.609
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T14-50-00Z_short_vwap_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T14:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4613.725,
      "stop": 4619.279,
      "target": 4602.618,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.1,
        "bb_width_pct": 0.652
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T14-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T14:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4613.725,
      "stop": 4620.838,
      "target": 4599.5,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.1,
        "bb_width_pct": 0.652
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T14-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T14:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4607.725,
      "stop": 4611.838,
      "target": 4599.5,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.77,
        "bb_width_pct": 0.603
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T15-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T15:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4615.13,
      "stop": 4619.717,
      "target": 4605.957,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.97,
        "bb_width_pct": 0.604
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T15-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T15:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4617.275,
      "stop": 4623.428,
      "target": 4604.97,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.34,
        "bb_width_pct": 0.564
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T15-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T15:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4616.115,
      "stop": 4621.16,
      "target": 4606.024,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.09,
        "bb_width_pct": 0.565
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T15-10-00Z_short_vwap_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T15:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4616.115,
      "stop": 4622.27,
      "target": 4603.805,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.09,
        "bb_width_pct": 0.565
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T15-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T15:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4616.115,
      "stop": 4623.407,
      "target": 4601.53,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.09,
        "bb_width_pct": 0.565
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T15-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T15:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4616.115,
      "stop": 4620.223,
      "target": 4607.9,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.09,
        "bb_width_pct": 0.565
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T15-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T15:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4601.945,
      "stop": 4602.152,
      "target": 4601.53,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.44,
        "bb_width_pct": 0.499
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T18-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4594.06,
      "stop": 4597.778,
      "target": 4586.625,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.21,
        "bb_width_pct": 0.351
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T18-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T18:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4593.065,
      "stop": 4596.617,
      "target": 4585.961,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.21,
        "bb_width_pct": 0.362
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T18-35-00Z_short_rsi_range_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T18:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4593.065,
      "stop": 4596.617,
      "target": 4585.961,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 13.21,
        "bb_width_pct": 0.362
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T18-35-00Z_short_vwap_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T18:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4593.065,
      "stop": 4596.675,
      "target": 4585.844,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.21,
        "bb_width_pct": 0.362
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T18-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T18:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4595.425,
      "stop": 4599.983,
      "target": 4586.309,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.28,
        "bb_width_pct": 0.402
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T18-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T18:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4589.365,
      "stop": 4590.906,
      "target": 4586.283,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.9,
        "bb_width_pct": 0.4
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T18-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T18:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4589.365,
      "stop": 4600.125,
      "target": 4567.845,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.9,
        "bb_width_pct": 0.4
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T18-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T18:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4589.365,
      "stop": 4589.975,
      "target": 4588.146,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.9,
        "bb_width_pct": 0.4
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T18-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T18:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4587.885,
      "stop": 4597.406,
      "target": 4568.842,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.95,
        "bb_width_pct": 0.391
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T20-10-00Z_short_rsi_range_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T20:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4593.015,
      "stop": 4595.132,
      "target": 4588.781,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 16.88,
        "bb_width_pct": 0.342
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T20-10-00Z_short_vwap_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T20:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4593.015,
      "stop": 4595.953,
      "target": 4587.139,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 16.88,
        "bb_width_pct": 0.342
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T20-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T20:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4593.015,
      "stop": 4596.296,
      "target": 4586.452,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 16.88,
        "bb_width_pct": 0.342
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T20-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T20:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4584.005,
      "stop": 4581.976,
      "target": 4588.062,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.06,
        "bb_width_pct": 0.314
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T20-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T20:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4584.005,
      "stop": 4581.593,
      "target": 4588.828,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.06,
        "bb_width_pct": 0.314
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T21-00-00Z_long_vwap_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T21:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4582.735,
      "stop": 4570.493,
      "target": 4607.218,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.38,
        "bb_width_pct": 0.314
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T21-05-00Z_long_vwap_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T21:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4583.52,
      "stop": 4572.131,
      "target": 4606.299,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.81,
        "bb_width_pct": 0.317
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T21-10-00Z_long_vwap_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T21:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4586.51,
      "stop": 4577.0,
      "target": 4605.53,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.18,
        "bb_width_pct": 0.318
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T21-15-00Z_long_vwap_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T21:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4598.165,
      "stop": 4594.682,
      "target": 4605.131,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.6,
        "bb_width_pct": 0.371
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T21-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T21:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4593.33,
      "stop": 4595.598,
      "target": 4588.794,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.07,
        "bb_width_pct": 0.382
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T21-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T21:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4593.33,
      "stop": 4595.14,
      "target": 4589.71,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.07,
        "bb_width_pct": 0.382
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T21-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T21:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4593.33,
      "stop": 4595.863,
      "target": 4588.265,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.07,
        "bb_width_pct": 0.382
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T21-35-00Z_long_vwap_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T21:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4595.09,
      "stop": 4590.796,
      "target": 4603.679,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.27,
        "bb_width_pct": 0.407
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T21-45-00Z_long_vwap_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T21:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4595.05,
      "stop": 4590.991,
      "target": 4603.167,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.14,
        "bb_width_pct": 0.409
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T21-50-00Z_long_vwap_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T21:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4595.545,
      "stop": 4591.847,
      "target": 4602.941,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.06,
        "bb_width_pct": 0.42
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-16T21-55-00Z_long_vwap_mean_reversion",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T21:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4596.32,
      "stop": 4593.105,
      "target": 4602.749,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.47,
        "bb_width_pct": 0.441
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T00-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T00:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4677.755,
      "stop": 4698.703,
      "target": 4635.86,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.25,
        "bb_width_pct": 0.622
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T00-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T00:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4677.675,
      "stop": 4698.583,
      "target": 4635.86,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.17,
        "bb_width_pct": 0.55
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T00-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T00:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4672.755,
      "stop": 4690.99,
      "target": 4636.285,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.29,
        "bb_width_pct": 0.43
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T00-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T00:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4672.755,
      "stop": 4676.774,
      "target": 4664.716,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.29,
        "bb_width_pct": 0.43
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T00-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T00:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4675.52,
      "stop": 4680.407,
      "target": 4665.745,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.18,
        "bb_width_pct": 0.395
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T01-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4669.805,
      "stop": 4686.565,
      "target": 4636.285,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.35,
        "bb_width_pct": 0.4
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T01-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4669.805,
      "stop": 4671.642,
      "target": 4666.132,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.35,
        "bb_width_pct": 0.4
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T01-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T01:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4663.14,
      "stop": 4658.676,
      "target": 4672.068,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.34,
        "bb_width_pct": 0.416
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T01-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T01:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4664.875,
      "stop": 4661.512,
      "target": 4671.6,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.75,
        "bb_width_pct": 0.434
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T01-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T01:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4662.26,
      "stop": 4658.024,
      "target": 4670.732,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.05,
        "bb_width_pct": 0.512
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T02-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T02:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4660.115,
      "stop": 4654.131,
      "target": 4672.083,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.09,
        "bb_width_pct": 0.45
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T02-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4658.425,
      "stop": 4657.327,
      "target": 4660.622,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.55,
        "bb_width_pct": 0.205
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T02-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T02:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4660.545,
      "stop": 4656.975,
      "target": 4667.685,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.36,
        "bb_width_pct": 0.199
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T02-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T02:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4662.59,
      "stop": 4663.696,
      "target": 4660.378,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.9,
        "bb_width_pct": 0.185
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T03-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4665.01,
      "stop": 4667.181,
      "target": 4660.669,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.64,
        "bb_width_pct": 0.202
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T03-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4667.13,
      "stop": 4669.801,
      "target": 4661.788,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.0,
        "bb_width_pct": 0.293
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T03-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4667.13,
      "stop": 4669.12,
      "target": 4663.149,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.0,
        "bb_width_pct": 0.293
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T04-00-00Z_long_vwap_mean_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T04:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4660.845,
      "stop": 4658.68,
      "target": 4665.176,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.67,
        "bb_width_pct": 0.26
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T04-05-00Z_long_vwap_mean_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4661.21,
      "stop": 4659.27,
      "target": 4665.089,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.53,
        "bb_width_pct": 0.257
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T05-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4669.865,
      "stop": 4673.092,
      "target": 4663.412,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.34,
        "bb_width_pct": 0.285
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T05-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4669.245,
      "stop": 4671.718,
      "target": 4664.3,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.27,
        "bb_width_pct": 0.332
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T05-25-00Z_short_rsi_range_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4669.245,
      "stop": 4671.718,
      "target": 4664.3,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 17.27,
        "bb_width_pct": 0.332
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T05-25-00Z_short_vwap_mean_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4669.245,
      "stop": 4671.318,
      "target": 4665.1,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 17.27,
        "bb_width_pct": 0.332
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T05-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4669.245,
      "stop": 4671.985,
      "target": 4663.765,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.27,
        "bb_width_pct": 0.332
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T05-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4669.245,
      "stop": 4670.928,
      "target": 4665.879,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.27,
        "bb_width_pct": 0.332
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T05-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4670.615,
      "stop": 4673.517,
      "target": 4664.81,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.1,
        "bb_width_pct": 0.343
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T05-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4670.615,
      "stop": 4672.757,
      "target": 4666.33,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.1,
        "bb_width_pct": 0.343
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T05-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4667.55,
      "stop": 4668.102,
      "target": 4666.446,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.59,
        "bb_width_pct": 0.322
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T06-35-00Z_short_vwap_mean_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4674.55,
      "stop": 4678.854,
      "target": 4665.942,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.63,
        "bb_width_pct": 0.189
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T06-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4674.55,
      "stop": 4678.448,
      "target": 4666.755,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.63,
        "bb_width_pct": 0.189
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T06-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4674.55,
      "stop": 4677.078,
      "target": 4669.494,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.63,
        "bb_width_pct": 0.189
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T06-40-00Z_short_vwap_mean_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T06:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4672.46,
      "stop": 4675.676,
      "target": 4666.027,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 9.98,
        "bb_width_pct": 0.194
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T06-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T06:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4672.46,
      "stop": 4674.962,
      "target": 4667.455,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.98,
        "bb_width_pct": 0.194
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T06-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T06:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4674.79,
      "stop": 4677.027,
      "target": 4670.315,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.51,
        "bb_width_pct": 0.213
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T06-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T06:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4674.79,
      "stop": 4677.058,
      "target": 4670.254,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.51,
        "bb_width_pct": 0.213
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T07-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T07:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4676.605,
      "stop": 4679.251,
      "target": 4671.312,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.16,
        "bb_width_pct": 0.296
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T07-00-00Z_short_rsi_range_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T07:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4676.605,
      "stop": 4679.251,
      "target": 4671.312,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 15.16,
        "bb_width_pct": 0.296
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T07-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T07:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4676.605,
      "stop": 4680.579,
      "target": 4668.657,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.16,
        "bb_width_pct": 0.296
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T07-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T07:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4676.605,
      "stop": 4678.895,
      "target": 4672.025,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.16,
        "bb_width_pct": 0.296
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T07-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T07:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4675.335,
      "stop": 4677.194,
      "target": 4671.617,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.25,
        "bb_width_pct": 0.302
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T07-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T07:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4675.335,
      "stop": 4678.674,
      "target": 4668.657,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.25,
        "bb_width_pct": 0.302
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T07-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T07:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4675.335,
      "stop": 4676.832,
      "target": 4672.341,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.25,
        "bb_width_pct": 0.302
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T07-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T07:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4664.58,
      "stop": 4661.156,
      "target": 4671.428,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.3,
        "bb_width_pct": 0.323
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T07-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T07:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4665.31,
      "stop": 4662.229,
      "target": 4671.471,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.85,
        "bb_width_pct": 0.316
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T07-20-00Z_long_vwap_mean_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T07:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4665.31,
      "stop": 4662.429,
      "target": 4671.071,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.85,
        "bb_width_pct": 0.316
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T07-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T07:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4665.58,
      "stop": 4663.853,
      "target": 4669.035,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.57,
        "bb_width_pct": 0.365
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T07-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T07:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4664.17,
      "stop": 4661.969,
      "target": 4668.572,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.08,
        "bb_width_pct": 0.385
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T07-55-00Z_long_rsi_range_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T07:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4665.155,
      "stop": 4662.584,
      "target": 4670.297,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.37,
        "bb_width_pct": 0.398
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T07-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T07:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4665.155,
      "stop": 4663.015,
      "target": 4669.435,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 22.37,
        "bb_width_pct": 0.398
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T07-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T07:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4665.155,
      "stop": 4663.609,
      "target": 4668.246,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.37,
        "bb_width_pct": 0.398
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T08-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4669.49,
      "stop": 4669.154,
      "target": 4670.163,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.61,
        "bb_width_pct": 0.397
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T08-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T08:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4663.57,
      "stop": 4661.768,
      "target": 4667.174,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.21,
        "bb_width_pct": 0.185
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T08-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T08:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4663.57,
      "stop": 4661.527,
      "target": 4667.656,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.21,
        "bb_width_pct": 0.185
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T09-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4664.59,
      "stop": 4663.316,
      "target": 4667.138,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.1,
        "bb_width_pct": 0.188
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T09-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4664.59,
      "stop": 4661.676,
      "target": 4670.417,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.1,
        "bb_width_pct": 0.188
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T09-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T09:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4671.625,
      "stop": 4673.622,
      "target": 4667.632,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.71,
        "bb_width_pct": 0.218
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T10-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T10:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4666.705,
      "stop": 4665.964,
      "target": 4668.187,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.23,
        "bb_width_pct": 0.17
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T10-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T10:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4665.445,
      "stop": 4664.207,
      "target": 4667.922,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.9,
        "bb_width_pct": 0.195
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T10-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T10:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4665.445,
      "stop": 4664.325,
      "target": 4667.685,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.9,
        "bb_width_pct": 0.195
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T10-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T10:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4665.445,
      "stop": 4664.654,
      "target": 4667.028,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.9,
        "bb_width_pct": 0.195
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T11-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4663.76,
      "stop": 4662.081,
      "target": 4667.117,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.17,
        "bb_width_pct": 0.195
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T11-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T11:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4664.46,
      "stop": 4662.847,
      "target": 4667.685,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.03,
        "bb_width_pct": 0.202
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T11-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T11:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4663.725,
      "stop": 4661.745,
      "target": 4667.685,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.18,
        "bb_width_pct": 0.209
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T11-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T11:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4664.935,
      "stop": 4664.679,
      "target": 4665.447,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.3,
        "bb_width_pct": 0.18
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T11-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T11:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4664.935,
      "stop": 4663.82,
      "target": 4667.165,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.3,
        "bb_width_pct": 0.18
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T11-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T11:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4664.935,
      "stop": 4664.712,
      "target": 4665.381,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.3,
        "bb_width_pct": 0.18
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T11-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T11:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4663.265,
      "stop": 4662.489,
      "target": 4664.817,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.01,
        "bb_width_pct": 0.149
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T11-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T11:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4663.265,
      "stop": 4661.625,
      "target": 4666.545,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.01,
        "bb_width_pct": 0.149
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T11-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T11:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4660.695,
      "stop": 4658.773,
      "target": 4664.539,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.67,
        "bb_width_pct": 0.158
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T12-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4662.835,
      "stop": 4662.153,
      "target": 4664.199,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.19,
        "bb_width_pct": 0.141
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T12-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4662.835,
      "stop": 4661.073,
      "target": 4666.36,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 2.19,
        "bb_width_pct": 0.141
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T12-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T12:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4671.675,
      "stop": 4674.185,
      "target": 4666.655,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.83,
        "bb_width_pct": 0.294
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T12-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T12:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4671.675,
      "stop": 4673.911,
      "target": 4667.202,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.83,
        "bb_width_pct": 0.294
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T12-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T12:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4671.69,
      "stop": 4674.448,
      "target": 4666.173,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.05,
        "bb_width_pct": 0.311
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T12-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T12:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4671.69,
      "stop": 4674.207,
      "target": 4666.655,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.05,
        "bb_width_pct": 0.311
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T12-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T12:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4671.69,
      "stop": 4673.72,
      "target": 4667.63,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.05,
        "bb_width_pct": 0.311
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T12-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T12:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4670.035,
      "stop": 4671.671,
      "target": 4666.762,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.63,
        "bb_width_pct": 0.317
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T13-00-00Z_short_rsi_range_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4670.7,
      "stop": 4672.251,
      "target": 4667.599,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 21.65,
        "bb_width_pct": 0.326
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T13-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4670.7,
      "stop": 4672.669,
      "target": 4666.762,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 21.65,
        "bb_width_pct": 0.326
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T13-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4670.7,
      "stop": 4671.687,
      "target": 4668.727,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.65,
        "bb_width_pct": 0.326
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T13-10-00Z_short_rsi_range_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T13:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4670.37,
      "stop": 4671.533,
      "target": 4668.043,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 13.44,
        "bb_width_pct": 0.33
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T13-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T13:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4670.37,
      "stop": 4672.174,
      "target": 4666.762,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.44,
        "bb_width_pct": 0.33
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T13-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4671.205,
      "stop": 4673.426,
      "target": 4666.762,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.19,
        "bb_width_pct": 0.277
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T13-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4670.51,
      "stop": 4672.37,
      "target": 4666.79,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.44,
        "bb_width_pct": 0.216
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T13-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4668.525,
      "stop": 4667.521,
      "target": 4670.534,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.98,
        "bb_width_pct": 0.123
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T14-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T14:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4665.025,
      "stop": 4662.916,
      "target": 4669.242,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.71,
        "bb_width_pct": 0.234
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T14-10-00Z_long_rsi_range_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T14:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4665.025,
      "stop": 4662.916,
      "target": 4669.242,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.71,
        "bb_width_pct": 0.234
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T14-10-00Z_long_vwap_mean_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T14:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4665.025,
      "stop": 4663.094,
      "target": 4668.887,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.71,
        "bb_width_pct": 0.234
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T14-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T14:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4665.025,
      "stop": 4664.142,
      "target": 4666.79,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.71,
        "bb_width_pct": 0.234
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T14-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T14:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4665.025,
      "stop": 4663.684,
      "target": 4667.706,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.71,
        "bb_width_pct": 0.234
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T14-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T14:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4667.305,
      "stop": 4666.446,
      "target": 4669.024,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.81,
        "bb_width_pct": 0.231
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T15-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T15:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4670.475,
      "stop": 4672.15,
      "target": 4667.124,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.75,
        "bb_width_pct": 0.157
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T15-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T15:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4672.635,
      "stop": 4674.86,
      "target": 4668.185,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.5,
        "bb_width_pct": 0.163
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T15-55-00Z_short_vwap_mean_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T15:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4674.47,
      "stop": 4677.411,
      "target": 4668.588,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.7,
        "bb_width_pct": 0.236
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T15-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T15:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4674.47,
      "stop": 4677.564,
      "target": 4668.283,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.7,
        "bb_width_pct": 0.236
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T16-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4673.295,
      "stop": 4675.565,
      "target": 4668.756,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.63,
        "bb_width_pct": 0.252
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T16-00-00Z_short_vwap_mean_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4673.295,
      "stop": 4675.597,
      "target": 4668.691,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.63,
        "bb_width_pct": 0.252
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T16-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4673.295,
      "stop": 4675.485,
      "target": 4668.915,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.63,
        "bb_width_pct": 0.252
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T16-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4673.295,
      "stop": 4675.072,
      "target": 4669.74,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.63,
        "bb_width_pct": 0.252
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T16-05-00Z_short_vwap_mean_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T16:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4672.985,
      "stop": 4675.092,
      "target": 4668.771,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.05,
        "bb_width_pct": 0.263
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T16-10-00Z_short_vwap_mean_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T16:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4672.605,
      "stop": 4674.479,
      "target": 4668.857,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.46,
        "bb_width_pct": 0.269
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T16-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T16:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4672.605,
      "stop": 4674.45,
      "target": 4668.915,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.46,
        "bb_width_pct": 0.269
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T16-25-00Z_short_rsi_range_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T16:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4671.895,
      "stop": 4672.783,
      "target": 4670.12,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 18.32,
        "bb_width_pct": 0.252
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T16-30-00Z_short_rsi_range_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T16:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4670.845,
      "stop": 4671.146,
      "target": 4670.243,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 10.63,
        "bb_width_pct": 0.25
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T16-40-00Z_short_rsi_range_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T16:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4673.325,
      "stop": 4674.563,
      "target": 4670.849,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 9.33,
        "bb_width_pct": 0.245
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T16-40-00Z_short_vwap_mean_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T16:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4673.325,
      "stop": 4675.385,
      "target": 4669.205,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 9.33,
        "bb_width_pct": 0.245
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T16-45-00Z_short_vwap_mean_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4673.025,
      "stop": 4674.903,
      "target": 4669.269,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.09,
        "bb_width_pct": 0.248
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T16-50-00Z_short_vwap_mean_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T16:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4672.585,
      "stop": 4674.215,
      "target": 4669.325,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.15,
        "bb_width_pct": 0.243
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T16-55-00Z_short_vwap_mean_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4672.37,
      "stop": 4673.864,
      "target": 4669.382,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.96,
        "bb_width_pct": 0.221
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T17-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T17:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4670.61,
      "stop": 4669.693,
      "target": 4672.444,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.65,
        "bb_width_pct": 0.1
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T17-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T17:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4670.02,
      "stop": 4668.82,
      "target": 4672.421,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.42,
        "bb_width_pct": 0.104
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T17-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T17:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4670.945,
      "stop": 4670.249,
      "target": 4672.337,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.37,
        "bb_width_pct": 0.107
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T17-45-00Z_short_vwap_mean_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T17:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4676.32,
      "stop": 4678.345,
      "target": 4672.271,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.4,
        "bb_width_pct": 0.136
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T17-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T17:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4676.32,
      "stop": 4679.401,
      "target": 4670.158,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.4,
        "bb_width_pct": 0.136
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T17-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T17:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4676.35,
      "stop": 4678.055,
      "target": 4672.94,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.12,
        "bb_width_pct": 0.184
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T17-55-00Z_short_vwap_mean_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T17:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4676.35,
      "stop": 4677.966,
      "target": 4673.118,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.12,
        "bb_width_pct": 0.184
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T17-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T17:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4676.35,
      "stop": 4678.758,
      "target": 4671.535,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.12,
        "bb_width_pct": 0.184
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T17-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T17:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4676.35,
      "stop": 4677.878,
      "target": 4673.295,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.12,
        "bb_width_pct": 0.184
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T18-25-00Z_short_rsi_range_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T18:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4678.485,
      "stop": 4680.665,
      "target": 4674.125,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 27.12,
        "bb_width_pct": 0.233
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T18-25-00Z_short_vwap_mean_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T18:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4678.485,
      "stop": 4680.63,
      "target": 4674.196,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 27.12,
        "bb_width_pct": 0.233
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T18-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T18:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4678.485,
      "stop": 4681.539,
      "target": 4672.378,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 27.12,
        "bb_width_pct": 0.233
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T18-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4676.42,
      "stop": 4678.441,
      "target": 4672.378,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 16.62,
        "bb_width_pct": 0.235
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T18-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4676.42,
      "stop": 4677.149,
      "target": 4674.962,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.62,
        "bb_width_pct": 0.235
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T18-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T18:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4676.44,
      "stop": 4678.071,
      "target": 4673.177,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.34,
        "bb_width_pct": 0.237
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T19-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T19:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4672.185,
      "stop": 4670.85,
      "target": 4674.855,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.67,
        "bb_width_pct": 0.156
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T19-25-00Z_long_vwap_mean_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T19:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4670.295,
      "stop": 4668.28,
      "target": 4674.324,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.26,
        "bb_width_pct": 0.214
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T19-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T19:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4670.295,
      "stop": 4668.323,
      "target": 4674.24,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 25.26,
        "bb_width_pct": 0.214
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T19-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T19:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4670.295,
      "stop": 4668.433,
      "target": 4674.019,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.26,
        "bb_width_pct": 0.214
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T23-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4670.765,
      "stop": 4668.848,
      "target": 4674.598,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.78,
        "bb_width_pct": 0.25
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T23-05-00Z_long_rsi_range_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4670.765,
      "stop": 4668.848,
      "target": 4674.598,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.78,
        "bb_width_pct": 0.25
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T23-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4670.765,
      "stop": 4669.267,
      "target": 4673.76,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 16.78,
        "bb_width_pct": 0.25
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T23-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4670.765,
      "stop": 4669.524,
      "target": 4673.246,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.78,
        "bb_width_pct": 0.25
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T23-10-00Z_long_rsi_range_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4670.805,
      "stop": 4669.0,
      "target": 4674.415,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.93,
        "bb_width_pct": 0.26
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T23-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4670.805,
      "stop": 4669.328,
      "target": 4673.76,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 19.93,
        "bb_width_pct": 0.26
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T23-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4670.805,
      "stop": 4669.701,
      "target": 4673.014,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.93,
        "bb_width_pct": 0.26
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T23-15-00Z_long_rsi_range_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4671.655,
      "stop": 4670.347,
      "target": 4674.27,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.03,
        "bb_width_pct": 0.265
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T23-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T23:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4666.16,
      "stop": 4662.536,
      "target": 4673.408,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.74,
        "bb_width_pct": 0.318
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T23-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4667.67,
      "stop": 4665.088,
      "target": 4672.833,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.94,
        "bb_width_pct": 0.314
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T23-30-00Z_long_rsi_range_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4667.67,
      "stop": 4665.088,
      "target": 4672.833,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.94,
        "bb_width_pct": 0.314
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T23-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4667.67,
      "stop": 4665.214,
      "target": 4672.583,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 22.94,
        "bb_width_pct": 0.314
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T23-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4667.67,
      "stop": 4665.788,
      "target": 4671.433,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.94,
        "bb_width_pct": 0.314
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T23-40-00Z_long_rsi_range_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4666.17,
      "stop": 4663.409,
      "target": 4671.692,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.24,
        "bb_width_pct": 0.326
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T23-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4666.17,
      "stop": 4662.964,
      "target": 4672.583,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 20.24,
        "bb_width_pct": 0.326
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T23-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4666.17,
      "stop": 4664.027,
      "target": 4670.456,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.24,
        "bb_width_pct": 0.326
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-19T23-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T23:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4665.63,
      "stop": 4663.641,
      "target": 4669.608,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.78,
        "bb_width_pct": 0.31
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T00-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4664.61,
      "stop": 4662.532,
      "target": 4668.766,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.14,
        "bb_width_pct": 0.292
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T00-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T00:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4666.66,
      "stop": 4663.864,
      "target": 4672.253,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.41,
        "bb_width_pct": 0.259
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T00-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T00:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4666.66,
      "stop": 4665.707,
      "target": 4668.565,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.41,
        "bb_width_pct": 0.259
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T00-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T00:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4667.91,
      "stop": 4665.739,
      "target": 4672.253,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.38,
        "bb_width_pct": 0.234
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T00-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T00:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4664.235,
      "stop": 4662.432,
      "target": 4667.842,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.98,
        "bb_width_pct": 0.207
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T00-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4664.86,
      "stop": 4663.876,
      "target": 4666.829,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.14,
        "bb_width_pct": 0.233
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T00-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4664.86,
      "stop": 4662.34,
      "target": 4669.9,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 3.14,
        "bb_width_pct": 0.233
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T00-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4664.86,
      "stop": 4663.863,
      "target": 4666.853,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.14,
        "bb_width_pct": 0.233
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T00-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T00:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4662.115,
      "stop": 4659.971,
      "target": 4666.402,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.31,
        "bb_width_pct": 0.239
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T00-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T00:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4663.24,
      "stop": 4659.91,
      "target": 4669.9,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.4,
        "bb_width_pct": 0.241
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T00-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T00:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4663.24,
      "stop": 4661.81,
      "target": 4666.101,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.4,
        "bb_width_pct": 0.241
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T01-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4668.545,
      "stop": 4667.868,
      "target": 4669.9,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.44,
        "bb_width_pct": 0.198
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T01-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T01:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4671.705,
      "stop": 4674.58,
      "target": 4665.955,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.09,
        "bb_width_pct": 0.236
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T01-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T01:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4670.505,
      "stop": 4673.143,
      "target": 4665.229,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.73,
        "bb_width_pct": 0.253
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T01-10-00Z_short_vwap_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T01:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4670.505,
      "stop": 4673.261,
      "target": 4664.992,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.73,
        "bb_width_pct": 0.253
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T01-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T01:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4670.505,
      "stop": 4672.563,
      "target": 4666.388,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.73,
        "bb_width_pct": 0.253
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T01-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T01:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4669.81,
      "stop": 4672.003,
      "target": 4665.424,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.3,
        "bb_width_pct": 0.267
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T01-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T01:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4674.815,
      "stop": 4678.851,
      "target": 4666.743,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.95,
        "bb_width_pct": 0.37
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T01-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T01:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4674.815,
      "stop": 4677.891,
      "target": 4668.663,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.95,
        "bb_width_pct": 0.37
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T01-40-00Z_short_vwap_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T01:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4673.25,
      "stop": 4676.39,
      "target": 4666.971,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 20.28,
        "bb_width_pct": 0.387
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T01-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T01:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4673.25,
      "stop": 4675.812,
      "target": 4668.125,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 20.28,
        "bb_width_pct": 0.387
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T01-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T01:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4673.25,
      "stop": 4675.325,
      "target": 4669.1,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.28,
        "bb_width_pct": 0.387
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T01-45-00Z_short_rsi_range_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T01:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4672.525,
      "stop": 4675.054,
      "target": 4667.468,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 17.58,
        "bb_width_pct": 0.399
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T01-45-00Z_short_vwap_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T01:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4672.525,
      "stop": 4675.157,
      "target": 4667.261,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 17.58,
        "bb_width_pct": 0.399
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T01-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T01:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4672.525,
      "stop": 4674.757,
      "target": 4668.06,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.58,
        "bb_width_pct": 0.399
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T01-50-00Z_short_rsi_range_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T01:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4672.275,
      "stop": 4674.569,
      "target": 4667.686,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 18.34,
        "bb_width_pct": 0.409
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T01-50-00Z_short_vwap_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T01:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4672.275,
      "stop": 4674.668,
      "target": 4667.489,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 18.34,
        "bb_width_pct": 0.409
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T02-35-00Z_short_vwap_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T02:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4673.79,
      "stop": 4676.62,
      "target": 4668.129,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 1.49,
        "bb_width_pct": 0.212
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T02-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T02:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4673.79,
      "stop": 4676.778,
      "target": 4667.815,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.49,
        "bb_width_pct": 0.212
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T02-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4668.22,
      "stop": 4668.423,
      "target": 4667.815,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.27,
        "bb_width_pct": 0.222
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T03-25-00Z_short_vwap_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4673.33,
      "stop": 4675.63,
      "target": 4668.73,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.58,
        "bb_width_pct": 0.222
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T03-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4673.33,
      "stop": 4676.087,
      "target": 4667.815,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.58,
        "bb_width_pct": 0.222
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T03-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T03:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4675.995,
      "stop": 4678.18,
      "target": 4671.626,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.14,
        "bb_width_pct": 0.26
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T03-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T03:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4676.94,
      "stop": 4679.796,
      "target": 4671.227,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.76,
        "bb_width_pct": 0.282
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T03-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T03:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4677.945,
      "stop": 4681.031,
      "target": 4671.774,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.54,
        "bb_width_pct": 0.296
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T05-20-00Z_short_rsi_range_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4695.225,
      "stop": 4698.678,
      "target": 4688.319,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 22.72,
        "bb_width_pct": 0.603
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T05-20-00Z_short_vwap_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4695.225,
      "stop": 4705.289,
      "target": 4675.097,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 22.72,
        "bb_width_pct": 0.603
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T05-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4695.225,
      "stop": 4701.048,
      "target": 4683.58,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 22.72,
        "bb_width_pct": 0.603
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T05-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4695.225,
      "stop": 4698.18,
      "target": 4689.315,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.72,
        "bb_width_pct": 0.603
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T05-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4696.045,
      "stop": 4699.089,
      "target": 4689.956,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.32,
        "bb_width_pct": 0.583
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T05-35-00Z_short_rsi_range_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4703.285,
      "stop": 4709.125,
      "target": 4691.605,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 23.59,
        "bb_width_pct": 0.633
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T05-35-00Z_short_vwap_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4703.285,
      "stop": 4716.817,
      "target": 4676.222,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 23.59,
        "bb_width_pct": 0.633
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T05-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4703.285,
      "stop": 4712.01,
      "target": 4685.835,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 23.59,
        "bb_width_pct": 0.633
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T06-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4713.245,
      "stop": 4720.472,
      "target": 4698.79,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 24.47,
        "bb_width_pct": 0.692
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T06-00-00Z_short_rsi_range_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4713.245,
      "stop": 4720.472,
      "target": 4698.79,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 24.47,
        "bb_width_pct": 0.692
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T06-00-00Z_short_vwap_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4713.245,
      "stop": 4730.625,
      "target": 4678.485,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 24.47,
        "bb_width_pct": 0.692
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T06-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4713.245,
      "stop": 4724.14,
      "target": 4691.455,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 24.47,
        "bb_width_pct": 0.692
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T06-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4713.44,
      "stop": 4720.077,
      "target": 4700.166,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 24.86,
        "bb_width_pct": 0.694
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T06-10-00Z_short_rsi_range_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T06:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4713.195,
      "stop": 4719.069,
      "target": 4701.447,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 21.38,
        "bb_width_pct": 0.688
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T06-10-00Z_short_vwap_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T06:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4713.195,
      "stop": 4730.073,
      "target": 4679.439,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 21.38,
        "bb_width_pct": 0.688
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T06-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T06:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4713.195,
      "stop": 4723.935,
      "target": 4691.715,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 21.38,
        "bb_width_pct": 0.688
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T06-20-00Z_short_vwap_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T06:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4710.855,
      "stop": 4726.134,
      "target": 4680.296,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 16.87,
        "bb_width_pct": 0.657
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T06-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T06:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4710.855,
      "stop": 4720.425,
      "target": 4691.715,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 16.87,
        "bb_width_pct": 0.657
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T06-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T06:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4710.855,
      "stop": 4714.295,
      "target": 4703.976,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.87,
        "bb_width_pct": 0.657
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T06-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T06:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4712.625,
      "stop": 4716.538,
      "target": 4704.799,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.85,
        "bb_width_pct": 0.643
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T06-30-00Z_short_rsi_range_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4709.015,
      "stop": 4710.799,
      "target": 4705.447,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 16.68,
        "bb_width_pct": 0.608
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T06-30-00Z_short_vwap_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4709.015,
      "stop": 4722.979,
      "target": 4681.086,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 16.68,
        "bb_width_pct": 0.608
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T06-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4709.015,
      "stop": 4716.419,
      "target": 4694.208,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 16.68,
        "bb_width_pct": 0.608
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T06-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4709.015,
      "stop": 4710.922,
      "target": 4705.201,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.68,
        "bb_width_pct": 0.608
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T06-35-00Z_short_vwap_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4706.94,
      "stop": 4719.697,
      "target": 4681.426,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.66,
        "bb_width_pct": 0.575
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T06-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4706.94,
      "stop": 4713.014,
      "target": 4694.792,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.66,
        "bb_width_pct": 0.575
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T06-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T06:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4713.78,
      "stop": 4717.35,
      "target": 4706.64,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.84,
        "bb_width_pct": 0.521
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T06-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T06:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4714.785,
      "stop": 4718.469,
      "target": 4707.416,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.16,
        "bb_width_pct": 0.512
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T06-55-00Z_short_vwap_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T06:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4712.585,
      "stop": 4727.426,
      "target": 4682.903,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.43,
        "bb_width_pct": 0.477
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T06-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T06:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4712.585,
      "stop": 4720.569,
      "target": 4696.618,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.43,
        "bb_width_pct": 0.477
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T07-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T07:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4714.04,
      "stop": 4722.286,
      "target": 4697.548,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.18,
        "bb_width_pct": 0.299
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T07-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T07:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4715.605,
      "stop": 4718.58,
      "target": 4709.655,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.45,
        "bb_width_pct": 0.286
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T07-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T07:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4716.5,
      "stop": 4719.597,
      "target": 4710.307,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.49,
        "bb_width_pct": 0.252
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T07-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T07:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4718.32,
      "stop": 4720.78,
      "target": 4713.4,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.06,
        "bb_width_pct": 0.243
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T07-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T07:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4718.32,
      "stop": 4727.275,
      "target": 4700.41,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.06,
        "bb_width_pct": 0.243
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T07-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T07:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4718.32,
      "stop": 4721.558,
      "target": 4711.843,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.06,
        "bb_width_pct": 0.243
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T07-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4719.335,
      "stop": 4722.073,
      "target": 4713.859,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.03,
        "bb_width_pct": 0.258
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T07-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T07:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4719.295,
      "stop": 4721.896,
      "target": 4714.092,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.21,
        "bb_width_pct": 0.276
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T07-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T07:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4719.295,
      "stop": 4727.816,
      "target": 4702.253,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.21,
        "bb_width_pct": 0.276
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T07-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T07:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4719.295,
      "stop": 4722.343,
      "target": 4713.198,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.21,
        "bb_width_pct": 0.276
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T07-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T07:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4720.77,
      "stop": 4723.75,
      "target": 4714.811,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.17,
        "bb_width_pct": 0.32
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T07-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T07:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4716.985,
      "stop": 4722.939,
      "target": 4705.078,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.03,
        "bb_width_pct": 0.32
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T07-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T07:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4716.985,
      "stop": 4718.096,
      "target": 4714.763,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.03,
        "bb_width_pct": 0.32
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T07-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T07:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4716.22,
      "stop": 4721.411,
      "target": 4705.837,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.81,
        "bb_width_pct": 0.32
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T08-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T08:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4724.69,
      "stop": 4728.932,
      "target": 4716.207,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.24,
        "bb_width_pct": 0.36
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T08-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T08:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4724.58,
      "stop": 4728.378,
      "target": 4716.985,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.86,
        "bb_width_pct": 0.363
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T08-10-00Z_short_rsi_range_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T08:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4724.58,
      "stop": 4728.378,
      "target": 4716.985,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 18.86,
        "bb_width_pct": 0.363
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T08-10-00Z_short_vwap_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T08:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4724.58,
      "stop": 4727.595,
      "target": 4718.551,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 18.86,
        "bb_width_pct": 0.363
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T08-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T08:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4724.58,
      "stop": 4732.459,
      "target": 4708.823,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.86,
        "bb_width_pct": 0.363
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T08-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T08:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4721.77,
      "stop": 4727.636,
      "target": 4710.038,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.89,
        "bb_width_pct": 0.316
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T08-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T08:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4721.77,
      "stop": 4723.873,
      "target": 4717.564,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.89,
        "bb_width_pct": 0.316
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T08-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T08:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4720.3,
      "stop": 4721.351,
      "target": 4718.199,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.52,
        "bb_width_pct": 0.289
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T08-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T08:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4720.3,
      "stop": 4725.431,
      "target": 4710.038,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.52,
        "bb_width_pct": 0.289
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T08-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T08:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4720.3,
      "stop": 4721.538,
      "target": 4717.825,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.52,
        "bb_width_pct": 0.289
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T08-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T08:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4718.65,
      "stop": 4722.956,
      "target": 4710.038,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.06,
        "bb_width_pct": 0.276
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T08-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T08:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4724.14,
      "stop": 4726.182,
      "target": 4720.056,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.57,
        "bb_width_pct": 0.22
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T09-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4728.75,
      "stop": 4732.216,
      "target": 4721.819,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.78,
        "bb_width_pct": 0.314
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T09-00-00Z_short_rsi_range_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4728.75,
      "stop": 4732.216,
      "target": 4721.819,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 20.78,
        "bb_width_pct": 0.314
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T09-00-00Z_short_vwap_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4728.75,
      "stop": 4732.844,
      "target": 4720.562,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 20.78,
        "bb_width_pct": 0.314
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T09-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4728.75,
      "stop": 4733.969,
      "target": 4718.312,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 20.78,
        "bb_width_pct": 0.314
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T09-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T09:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4728.295,
      "stop": 4731.284,
      "target": 4722.318,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.43,
        "bb_width_pct": 0.327
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T09-05-00Z_short_rsi_range_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T09:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4728.295,
      "stop": 4731.284,
      "target": 4722.318,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 12.43,
        "bb_width_pct": 0.327
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T09-05-00Z_short_vwap_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T09:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4728.295,
      "stop": 4731.991,
      "target": 4720.903,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.43,
        "bb_width_pct": 0.327
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T09-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T09:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4728.295,
      "stop": 4733.08,
      "target": 4718.725,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.43,
        "bb_width_pct": 0.327
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T09-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T09:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4728.295,
      "stop": 4731.241,
      "target": 4722.403,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.43,
        "bb_width_pct": 0.327
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T09-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T09:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4725.355,
      "stop": 4728.649,
      "target": 4718.767,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.12,
        "bb_width_pct": 0.327
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T09-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T09:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4728.71,
      "stop": 4731.436,
      "target": 4723.258,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.92,
        "bb_width_pct": 0.334
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T09-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4734.165,
      "stop": 4738.449,
      "target": 4725.597,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.78,
        "bb_width_pct": 0.4
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T09-35-00Z_short_rsi_range_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4734.165,
      "stop": 4738.449,
      "target": 4725.597,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 20.78,
        "bb_width_pct": 0.4
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T09-35-00Z_short_vwap_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4734.165,
      "stop": 4739.983,
      "target": 4722.528,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 20.78,
        "bb_width_pct": 0.4
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T09-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4734.165,
      "stop": 4740.727,
      "target": 4721.04,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 20.78,
        "bb_width_pct": 0.4
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T09-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T09:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4734.39,
      "stop": 4738.445,
      "target": 4726.281,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 24.13,
        "bb_width_pct": 0.42
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T09-50-00Z_short_rsi_range_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T09:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4733.86,
      "stop": 4737.125,
      "target": 4727.33,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 16.57,
        "bb_width_pct": 0.473
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T09-50-00Z_short_vwap_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T09:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4733.86,
      "stop": 4738.982,
      "target": 4723.615,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 16.57,
        "bb_width_pct": 0.473
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T09-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T09:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4733.86,
      "stop": 4739.962,
      "target": 4721.655,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 16.57,
        "bb_width_pct": 0.473
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T09-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T09:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4733.86,
      "stop": 4736.63,
      "target": 4728.32,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.57,
        "bb_width_pct": 0.473
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T09-55-00Z_short_vwap_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T09:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4732.51,
      "stop": 4736.821,
      "target": 4723.887,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.8,
        "bb_width_pct": 0.469
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T09-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T09:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4732.51,
      "stop": 4737.938,
      "target": 4721.655,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.8,
        "bb_width_pct": 0.469
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T09-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T09:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4732.51,
      "stop": 4734.406,
      "target": 4728.719,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.8,
        "bb_width_pct": 0.469
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T10-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T10:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4732.81,
      "stop": 4736.958,
      "target": 4724.515,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.07,
        "bb_width_pct": 0.417
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T10-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T10:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4726.505,
      "stop": 4724.315,
      "target": 4730.884,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.89,
        "bb_width_pct": 0.291
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T10-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T10:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4726.505,
      "stop": 4724.979,
      "target": 4729.557,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.89,
        "bb_width_pct": 0.291
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T10-45-00Z_long_rsi_range_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T10:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4724.935,
      "stop": 4722.226,
      "target": 4730.353,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.93,
        "bb_width_pct": 0.335
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T10-45-00Z_long_vwap_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T10:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4724.935,
      "stop": 4722.727,
      "target": 4729.352,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.93,
        "bb_width_pct": 0.335
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T10-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T10:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4724.935,
      "stop": 4723.185,
      "target": 4728.435,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.93,
        "bb_width_pct": 0.335
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T11-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T11:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4725.385,
      "stop": 4723.007,
      "target": 4730.142,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.14,
        "bb_width_pct": 0.317
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T11-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T11:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4725.385,
      "stop": 4724.199,
      "target": 4727.757,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.14,
        "bb_width_pct": 0.317
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T11-10-00Z_long_rsi_range_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T11:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4726.36,
      "stop": 4724.665,
      "target": 4729.75,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.51,
        "bb_width_pct": 0.314
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T11-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T11:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4730.98,
      "stop": 4732.396,
      "target": 4728.148,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.83,
        "bb_width_pct": 0.233
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T11-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T11:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4730.98,
      "stop": 4733.061,
      "target": 4726.817,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.83,
        "bb_width_pct": 0.233
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T11-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T11:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4730.98,
      "stop": 4731.994,
      "target": 4728.952,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.83,
        "bb_width_pct": 0.233
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T12-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T12:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4726.63,
      "stop": 4725.405,
      "target": 4729.079,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.68,
        "bb_width_pct": 0.218
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T13-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4725.07,
      "stop": 4723.119,
      "target": 4728.972,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.7,
        "bb_width_pct": 0.216
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T13-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4725.07,
      "stop": 4723.565,
      "target": 4728.081,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.7,
        "bb_width_pct": 0.216
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T13-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T13:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4723.27,
      "stop": 4720.511,
      "target": 4728.788,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.13,
        "bb_width_pct": 0.237
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T13-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T13:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4723.27,
      "stop": 4721.094,
      "target": 4727.623,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.13,
        "bb_width_pct": 0.237
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T13-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T13:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4723.545,
      "stop": 4720.986,
      "target": 4728.663,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.13,
        "bb_width_pct": 0.252
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T13-10-00Z_long_vwap_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T13:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4723.545,
      "stop": 4721.511,
      "target": 4727.614,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.13,
        "bb_width_pct": 0.252
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T13-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T13:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4723.545,
      "stop": 4721.041,
      "target": 4728.552,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 17.13,
        "bb_width_pct": 0.252
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T13-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T13:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4725.285,
      "stop": 4723.746,
      "target": 4728.363,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.54,
        "bb_width_pct": 0.254
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T13-15-00Z_long_rsi_range_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T13:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4725.285,
      "stop": 4723.746,
      "target": 4728.363,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.54,
        "bb_width_pct": 0.254
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T13-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T13:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4725.285,
      "stop": 4723.651,
      "target": 4728.552,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.54,
        "bb_width_pct": 0.254
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T13-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T13:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4725.285,
      "stop": 4724.403,
      "target": 4727.049,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.54,
        "bb_width_pct": 0.254
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T13-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T13:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4721.795,
      "stop": 4718.777,
      "target": 4727.832,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.88,
        "bb_width_pct": 0.268
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T13-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T13:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4721.795,
      "stop": 4719.418,
      "target": 4726.548,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.88,
        "bb_width_pct": 0.268
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T13-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4723.885,
      "stop": 4722.45,
      "target": 4726.756,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.25,
        "bb_width_pct": 0.28
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T13-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4723.885,
      "stop": 4722.96,
      "target": 4725.735,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.25,
        "bb_width_pct": 0.28
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T13-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4723.885,
      "stop": 4722.989,
      "target": 4725.677,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.25,
        "bb_width_pct": 0.28
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T13-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4721.11,
      "stop": 4718.59,
      "target": 4726.149,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.72,
        "bb_width_pct": 0.269
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T13-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T13:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4731.765,
      "stop": 4734.54,
      "target": 4726.216,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.7,
        "bb_width_pct": 0.275
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T14-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T14:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4737.235,
      "stop": 4742.0,
      "target": 4727.705,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.5,
        "bb_width_pct": 0.47
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T14-05-00Z_short_vwap_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T14:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4737.235,
      "stop": 4741.859,
      "target": 4727.988,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.5,
        "bb_width_pct": 0.47
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T14-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T14:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4737.235,
      "stop": 4740.968,
      "target": 4729.769,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.5,
        "bb_width_pct": 0.47
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T14-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T14:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4740.895,
      "stop": 4747.133,
      "target": 4728.418,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.61,
        "bb_width_pct": 0.528
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T14-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T14:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4742.715,
      "stop": 4748.983,
      "target": 4730.18,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.01,
        "bb_width_pct": 0.653
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T14-20-00Z_short_rsi_range_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T14:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4742.715,
      "stop": 4748.983,
      "target": 4730.18,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 16.01,
        "bb_width_pct": 0.653
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T14-20-00Z_short_vwap_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T14:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4742.715,
      "stop": 4749.343,
      "target": 4729.459,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 16.01,
        "bb_width_pct": 0.653
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T14-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T14:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4742.715,
      "stop": 4748.138,
      "target": 4731.87,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 16.01,
        "bb_width_pct": 0.653
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T14-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T14:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4742.715,
      "stop": 4747.476,
      "target": 4733.193,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.01,
        "bb_width_pct": 0.653
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T15-05-00Z_short_vwap_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T15:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4745.16,
      "stop": 4751.706,
      "target": 4732.067,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.98,
        "bb_width_pct": 0.625
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T15-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T15:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4745.16,
      "stop": 4751.139,
      "target": 4733.202,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.98,
        "bb_width_pct": 0.625
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T15-10-00Z_short_vwap_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T15:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4744.73,
      "stop": 4750.901,
      "target": 4732.389,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.23,
        "bb_width_pct": 0.58
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T15-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T15:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4744.73,
      "stop": 4750.494,
      "target": 4733.202,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.23,
        "bb_width_pct": 0.58
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T15-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T15:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4724.105,
      "stop": 4717.938,
      "target": 4736.438,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.61,
        "bb_width_pct": 0.527
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T15-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T15:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4733.645,
      "stop": 4730.902,
      "target": 4739.132,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.65,
        "bb_width_pct": 0.518
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T15-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T15:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4726.225,
      "stop": 4720.048,
      "target": 4738.58,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.54,
        "bb_width_pct": 0.57
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T16-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4753.63,
      "stop": 4761.058,
      "target": 4738.773,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.92,
        "bb_width_pct": 0.648
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T17-00-00Z_short_rsi_range_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T17:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4749.99,
      "stop": 4755.094,
      "target": 4739.782,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 15.09,
        "bb_width_pct": 0.655
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T17-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T17:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4749.99,
      "stop": 4754.905,
      "target": 4740.16,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.09,
        "bb_width_pct": 0.655
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T17-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T17:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4749.99,
      "stop": 4753.52,
      "target": 4742.931,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.09,
        "bb_width_pct": 0.655
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T17-20-00Z_short_rsi_range_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T17:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4751.99,
      "stop": 4755.788,
      "target": 4744.395,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 16.37,
        "bb_width_pct": 0.569
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T17-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T17:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4751.99,
      "stop": 4757.905,
      "target": 4740.16,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 16.37,
        "bb_width_pct": 0.569
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T17-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T17:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4751.99,
      "stop": 4754.956,
      "target": 4746.058,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.37,
        "bb_width_pct": 0.569
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T17-30-00Z_short_rsi_range_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T17:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4754.525,
      "stop": 4758.711,
      "target": 4746.153,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 19.56,
        "bb_width_pct": 0.585
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T17-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T17:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4754.525,
      "stop": 4761.707,
      "target": 4740.16,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 19.56,
        "bb_width_pct": 0.585
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T17-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T17:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4754.525,
      "stop": 4757.965,
      "target": 4747.644,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.56,
        "bb_width_pct": 0.585
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T17-35-00Z_short_rsi_range_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T17:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4754.23,
      "stop": 4757.855,
      "target": 4746.981,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 18.64,
        "bb_width_pct": 0.579
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T17-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T17:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4754.23,
      "stop": 4761.265,
      "target": 4740.16,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.64,
        "bb_width_pct": 0.579
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T17-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T17:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4754.23,
      "stop": 4757.209,
      "target": 4748.271,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.64,
        "bb_width_pct": 0.579
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T17-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T17:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4756.715,
      "stop": 4760.175,
      "target": 4749.794,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.96,
        "bb_width_pct": 0.473
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T17-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T17:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4759.19,
      "stop": 4763.235,
      "target": 4751.099,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.02,
        "bb_width_pct": 0.47
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T18-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T18:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4761.2,
      "stop": 4765.721,
      "target": 4752.158,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.44,
        "bb_width_pct": 0.453
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T18-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T18:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4763.31,
      "stop": 4767.818,
      "target": 4754.294,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 24.49,
        "bb_width_pct": 0.432
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T18-10-00Z_short_rsi_range_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T18:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4763.31,
      "stop": 4767.818,
      "target": 4754.294,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 24.49,
        "bb_width_pct": 0.432
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T18-10-00Z_short_vwap_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T18:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4763.31,
      "stop": 4767.056,
      "target": 4755.818,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 24.49,
        "bb_width_pct": 0.432
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T18-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T18:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4763.31,
      "stop": 4773.389,
      "target": 4743.153,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 24.49,
        "bb_width_pct": 0.432
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T18-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T18:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4765.38,
      "stop": 4770.412,
      "target": 4755.317,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.17,
        "bb_width_pct": 0.438
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T18-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T18:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4763.335,
      "stop": 4766.895,
      "target": 4756.215,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.23,
        "bb_width_pct": 0.417
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T18-20-00Z_short_rsi_range_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T18:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4763.335,
      "stop": 4766.895,
      "target": 4756.215,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 16.23,
        "bb_width_pct": 0.417
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T18-20-00Z_short_vwap_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T18:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4763.335,
      "stop": 4766.587,
      "target": 4756.832,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 16.23,
        "bb_width_pct": 0.417
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T18-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T18:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4763.335,
      "stop": 4772.911,
      "target": 4744.182,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 16.23,
        "bb_width_pct": 0.417
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T18-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T18:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4761.61,
      "stop": 4770.215,
      "target": 4744.4,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.33,
        "bb_width_pct": 0.402
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T18-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T18:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4761.61,
      "stop": 4764.072,
      "target": 4756.686,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.33,
        "bb_width_pct": 0.402
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T18-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T18:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4759.675,
      "stop": 4767.312,
      "target": 4744.4,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.6,
        "bb_width_pct": 0.393
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T18-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T18:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4757.78,
      "stop": 4764.47,
      "target": 4744.4,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.78,
        "bb_width_pct": 0.363
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T19-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T19:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4765.775,
      "stop": 4768.574,
      "target": 4760.177,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.56,
        "bb_width_pct": 0.245
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T19-20-00Z_short_vwap_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T19:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4764.885,
      "stop": 4768.281,
      "target": 4758.093,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.91,
        "bb_width_pct": 0.249
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T19-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T19:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4764.885,
      "stop": 4773.491,
      "target": 4747.672,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.91,
        "bb_width_pct": 0.249
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T19-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T19:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4764.885,
      "stop": 4767.748,
      "target": 4759.159,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.91,
        "bb_width_pct": 0.249
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T19-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T19:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4759.655,
      "stop": 4764.141,
      "target": 4750.682,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.45,
        "bb_width_pct": 0.239
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T19-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T19:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4762.3,
      "stop": 4766.65,
      "target": 4753.6,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.0,
        "bb_width_pct": 0.238
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T20-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T20:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4755.615,
      "stop": 4753.497,
      "target": 4759.851,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.42,
        "bb_width_pct": 0.23
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T20-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T20:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4755.615,
      "stop": 4753.708,
      "target": 4759.429,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.42,
        "bb_width_pct": 0.23
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T20-25-00Z_long_rsi_range_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T20:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4750.46,
      "stop": 4746.186,
      "target": 4759.007,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.29,
        "bb_width_pct": 0.336
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T20-25-00Z_long_vwap_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T20:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4750.46,
      "stop": 4746.554,
      "target": 4758.273,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.29,
        "bb_width_pct": 0.336
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T20-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T20:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4750.46,
      "stop": 4747.321,
      "target": 4756.737,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 23.29,
        "bb_width_pct": 0.336
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T20-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T20:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4753.28,
      "stop": 4750.457,
      "target": 4758.926,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.08,
        "bb_width_pct": 0.345
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T20-30-00Z_long_rsi_range_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T20:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4753.28,
      "stop": 4750.457,
      "target": 4758.926,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.08,
        "bb_width_pct": 0.345
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T20-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T20:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4753.28,
      "stop": 4751.48,
      "target": 4756.88,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.08,
        "bb_width_pct": 0.345
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T20-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T20:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4753.28,
      "stop": 4751.262,
      "target": 4757.317,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.08,
        "bb_width_pct": 0.345
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T20-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4749.88,
      "stop": 4746.802,
      "target": 4756.037,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.74,
        "bb_width_pct": 0.408
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T20-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T20:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4753.705,
      "stop": 4752.118,
      "target": 4756.88,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.11,
        "bb_width_pct": 0.416
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T21-05-00Z_short_vwap_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T21:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4758.895,
      "stop": 4772.752,
      "target": 4731.181,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 1.46,
        "bb_width_pct": 0.359
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T21-20-00Z_short_vwap_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T21:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4760.52,
      "stop": 4773.687,
      "target": 4734.186,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.22,
        "bb_width_pct": 0.34
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T21-25-00Z_short_vwap_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T21:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4759.91,
      "stop": 4772.34,
      "target": 4735.051,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 19.62,
        "bb_width_pct": 0.328
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T21-30-00Z_short_rsi_range_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T21:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4758.015,
      "stop": 4758.774,
      "target": 4756.496,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 16.74,
        "bb_width_pct": 0.322
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T21-30-00Z_short_vwap_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T21:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4758.015,
      "stop": 4769.12,
      "target": 4735.806,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 16.74,
        "bb_width_pct": 0.322
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T21-50-00Z_short_rsi_range_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T21:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4762.27,
      "stop": 4764.983,
      "target": 4756.843,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 24.74,
        "bb_width_pct": 0.351
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T21-50-00Z_short_vwap_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T21:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4762.27,
      "stop": 4774.092,
      "target": 4738.627,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 24.74,
        "bb_width_pct": 0.351
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T21-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T21:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4762.27,
      "stop": 4764.965,
      "target": 4756.88,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 24.74,
        "bb_width_pct": 0.351
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T21-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T21:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4762.27,
      "stop": 4763.969,
      "target": 4758.872,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 24.74,
        "bb_width_pct": 0.351
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T23-00-00Z_short_rsi_range_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4762.555,
      "stop": 4764.897,
      "target": 4757.871,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 20.89,
        "bb_width_pct": 0.352
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T23-00-00Z_short_vwap_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4762.555,
      "stop": 4773.865,
      "target": 4739.936,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 20.89,
        "bb_width_pct": 0.352
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T23-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4762.555,
      "stop": 4764.027,
      "target": 4759.611,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.89,
        "bb_width_pct": 0.352
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T23-05-00Z_short_vwap_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4759.91,
      "stop": 4769.621,
      "target": 4740.488,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.74,
        "bb_width_pct": 0.323
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T23-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4759.91,
      "stop": 4760.045,
      "target": 4759.639,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.74,
        "bb_width_pct": 0.323
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T23-10-00Z_short_vwap_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4758.23,
      "stop": 4766.866,
      "target": 4740.958,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.38,
        "bb_width_pct": 0.308
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T23-20-00Z_short_vwap_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T23:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4758.98,
      "stop": 4767.536,
      "target": 4741.868,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.44,
        "bb_width_pct": 0.203
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T23-50-00Z_short_rsi_range_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T23:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4776.91,
      "stop": 4783.86,
      "target": 4763.01,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 25.26,
        "bb_width_pct": 0.496
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T23-50-00Z_short_vwap_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T23:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4776.91,
      "stop": 4792.763,
      "target": 4745.205,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 25.26,
        "bb_width_pct": 0.496
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T23-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T23:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4776.91,
      "stop": 4783.204,
      "target": 4764.323,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 25.26,
        "bb_width_pct": 0.496
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T23-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T23:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4775.99,
      "stop": 4782.096,
      "target": 4763.779,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 26.16,
        "bb_width_pct": 0.547
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T23-55-00Z_short_rsi_range_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T23:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4775.99,
      "stop": 4782.096,
      "target": 4763.779,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 26.16,
        "bb_width_pct": 0.547
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T23-55-00Z_short_vwap_mean_reversion",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T23:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4775.99,
      "stop": 4791.061,
      "target": 4745.848,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 26.16,
        "bb_width_pct": 0.547
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-20T23-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T23:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4775.99,
      "stop": 4781.824,
      "target": 4764.323,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 26.16,
        "bb_width_pct": 0.547
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T00-20-00Z_short_rsi_range_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T00:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4774.865,
      "stop": 4778.38,
      "target": 4767.835,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 24.8,
        "bb_width_pct": 0.628
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T00-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T00:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4774.865,
      "stop": 4780.136,
      "target": 4764.323,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 24.8,
        "bb_width_pct": 0.628
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T00-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T00:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4774.865,
      "stop": 4777.567,
      "target": 4769.461,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 24.8,
        "bb_width_pct": 0.628
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T00-45-00Z_short_rsi_range_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T00:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4784.36,
      "stop": 4790.083,
      "target": 4772.915,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 14.64,
        "bb_width_pct": 0.745
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T00-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T00:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4784.36,
      "stop": 4792.81,
      "target": 4767.46,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.64,
        "bb_width_pct": 0.745
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T00-55-00Z_short_vwap_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T00:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4784.645,
      "stop": 4787.062,
      "target": 4779.812,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.82,
        "bb_width_pct": 0.697
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T00-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T00:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4784.645,
      "stop": 4793.058,
      "target": 4767.82,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.82,
        "bb_width_pct": 0.697
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T01-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4792.675,
      "stop": 4800.394,
      "target": 4777.237,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 26.41,
        "bb_width_pct": 0.687
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T02-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T02:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4834.58,
      "stop": 4841.996,
      "target": 4819.748,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.49,
        "bb_width_pct": 1.046
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T02-40-00Z_short_vwap_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T02:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4831.195,
      "stop": 4843.375,
      "target": 4806.836,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 9.15,
        "bb_width_pct": 0.891
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T02-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T02:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4831.195,
      "stop": 4846.195,
      "target": 4801.195,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.15,
        "bb_width_pct": 0.891
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T02-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T02:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4831.195,
      "stop": 4836.374,
      "target": 4820.838,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.15,
        "bb_width_pct": 0.891
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T02-45-00Z_short_vwap_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4829.865,
      "stop": 4841.035,
      "target": 4807.524,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.92,
        "bb_width_pct": 0.713
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T02-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4829.865,
      "stop": 4844.051,
      "target": 4801.493,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.92,
        "bb_width_pct": 0.713
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T02-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T02:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4836.73,
      "stop": 4843.164,
      "target": 4823.862,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.86,
        "bb_width_pct": 0.592
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T03-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4844.025,
      "stop": 4851.254,
      "target": 4829.566,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.36,
        "bb_width_pct": 0.617
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T03-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T03:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4833.34,
      "stop": 4834.389,
      "target": 4831.243,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.77,
        "bb_width_pct": 0.621
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T03-10-00Z_short_vwap_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T03:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4833.34,
      "stop": 4844.291,
      "target": 4811.437,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.77,
        "bb_width_pct": 0.621
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T03-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T03:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4833.34,
      "stop": 4845.655,
      "target": 4808.71,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.77,
        "bb_width_pct": 0.621
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T03-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T03:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4833.34,
      "stop": 4835.951,
      "target": 4828.119,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.77,
        "bb_width_pct": 0.621
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T03-15-00Z_short_vwap_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4832.845,
      "stop": 4843.288,
      "target": 4811.959,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.9,
        "bb_width_pct": 0.578
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T03-20-00Z_short_vwap_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T03:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4829.08,
      "stop": 4837.414,
      "target": 4812.411,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.39,
        "bb_width_pct": 0.525
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T03-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T03:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4842.915,
      "stop": 4847.827,
      "target": 4833.09,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.63,
        "bb_width_pct": 0.528
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T03-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T03:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4842.915,
      "stop": 4848.369,
      "target": 4832.007,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.63,
        "bb_width_pct": 0.528
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T03-45-00Z_short_vwap_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T03:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4841.0,
      "stop": 4853.881,
      "target": 4815.239,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 9.35,
        "bb_width_pct": 0.544
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T03-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T03:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4841.0,
      "stop": 4854.837,
      "target": 4813.325,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.35,
        "bb_width_pct": 0.544
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T03-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T03:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4845.11,
      "stop": 4850.189,
      "target": 4834.953,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.0,
        "bb_width_pct": 0.571
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T04-00-00Z_short_vwap_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T04:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4842.2,
      "stop": 4854.805,
      "target": 4816.99,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.55,
        "bb_width_pct": 0.487
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T04-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T04:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4842.2,
      "stop": 4855.272,
      "target": 4816.055,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.55,
        "bb_width_pct": 0.487
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T04-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T04:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4842.2,
      "stop": 4845.478,
      "target": 4835.643,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.55,
        "bb_width_pct": 0.487
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T04-05-00Z_short_vwap_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4840.6,
      "stop": 4852.163,
      "target": 4817.474,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.64,
        "bb_width_pct": 0.442
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T04-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4840.6,
      "stop": 4852.566,
      "target": 4816.667,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.64,
        "bb_width_pct": 0.442
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T04-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T04:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4850.21,
      "stop": 4855.976,
      "target": 4838.678,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.09,
        "bb_width_pct": 0.5
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T04-25-00Z_short_rsi_range_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T04:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4849.99,
      "stop": 4854.582,
      "target": 4840.806,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 27.31,
        "bb_width_pct": 0.542
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T04-25-00Z_short_vwap_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T04:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4849.99,
      "stop": 4865.097,
      "target": 4819.776,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 27.31,
        "bb_width_pct": 0.542
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T04-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T04:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4849.99,
      "stop": 4862.858,
      "target": 4824.255,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 27.31,
        "bb_width_pct": 0.542
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T04-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T04:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4854.165,
      "stop": 4860.245,
      "target": 4842.004,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 27.67,
        "bb_width_pct": 0.553
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T05-00-00Z_short_vwap_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4860.1,
      "stop": 4877.845,
      "target": 4824.611,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 19.22,
        "bb_width_pct": 0.836
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T05-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4860.1,
      "stop": 4868.119,
      "target": 4844.062,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 19.22,
        "bb_width_pct": 0.836
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T05-20-00Z_short_rsi_range_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4870.605,
      "stop": 4877.882,
      "target": 4856.051,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 25.95,
        "bb_width_pct": 0.865
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T05-20-00Z_short_vwap_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4870.605,
      "stop": 4892.278,
      "target": 4827.26,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 25.95,
        "bb_width_pct": 0.865
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T05-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4870.605,
      "stop": 4883.144,
      "target": 4845.528,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 25.95,
        "bb_width_pct": 0.865
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T05-25-00Z_short_rsi_range_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4868.81,
      "stop": 4874.494,
      "target": 4857.442,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 19.12,
        "bb_width_pct": 0.845
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T05-25-00Z_short_vwap_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4868.81,
      "stop": 4889.277,
      "target": 4827.877,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 19.12,
        "bb_width_pct": 0.845
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T05-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4868.81,
      "stop": 4880.354,
      "target": 4845.722,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 19.12,
        "bb_width_pct": 0.845
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T05-35-00Z_short_rsi_range_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4874.33,
      "stop": 4881.23,
      "target": 4860.531,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 22.9,
        "bb_width_pct": 0.864
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T05-35-00Z_short_vwap_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4874.33,
      "stop": 4896.878,
      "target": 4829.234,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 22.9,
        "bb_width_pct": 0.864
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T05-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4874.33,
      "stop": 4887.667,
      "target": 4847.655,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 22.9,
        "bb_width_pct": 0.864
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T05-40-00Z_short_vwap_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4871.155,
      "stop": 4891.812,
      "target": 4829.84,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.85,
        "bb_width_pct": 0.81
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T05-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4871.155,
      "stop": 4882.551,
      "target": 4848.363,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.85,
        "bb_width_pct": 0.81
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T05-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4871.155,
      "stop": 4875.515,
      "target": 4862.435,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.85,
        "bb_width_pct": 0.81
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T05-50-00Z_short_vwap_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4872.725,
      "stop": 4893.548,
      "target": 4831.078,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.59,
        "bb_width_pct": 0.653
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T05-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4872.725,
      "stop": 4882.781,
      "target": 4852.613,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.59,
        "bb_width_pct": 0.653
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T05-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4872.725,
      "stop": 4876.894,
      "target": 4864.386,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.59,
        "bb_width_pct": 0.653
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T05-55-00Z_short_vwap_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T05:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4870.025,
      "stop": 4889.219,
      "target": 4831.636,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.45,
        "bb_width_pct": 0.594
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T05-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T05:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4870.025,
      "stop": 4878.731,
      "target": 4852.613,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.45,
        "bb_width_pct": 0.594
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T05-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T05:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4870.025,
      "stop": 4872.576,
      "target": 4864.923,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.45,
        "bb_width_pct": 0.594
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T06-00-00Z_short_vwap_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4869.72,
      "stop": 4888.493,
      "target": 4832.174,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.15,
        "bb_width_pct": 0.549
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T06-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4869.72,
      "stop": 4878.274,
      "target": 4852.613,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.15,
        "bb_width_pct": 0.549
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T06-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4869.72,
      "stop": 4871.89,
      "target": 4865.38,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.15,
        "bb_width_pct": 0.549
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T06-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T06:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4875.305,
      "stop": 4879.349,
      "target": 4867.218,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.32,
        "bb_width_pct": 0.351
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T06-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4881.195,
      "stop": 4885.818,
      "target": 4871.948,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.57,
        "bb_width_pct": 0.461
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T06-30-00Z_short_vwap_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4881.195,
      "stop": 4904.031,
      "target": 4835.522,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.57,
        "bb_width_pct": 0.461
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T06-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4881.195,
      "stop": 4892.912,
      "target": 4857.76,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.57,
        "bb_width_pct": 0.461
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T06-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4881.195,
      "stop": 4886.312,
      "target": 4870.961,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.57,
        "bb_width_pct": 0.461
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T06-35-00Z_short_vwap_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4868.35,
      "stop": 4884.532,
      "target": 4835.985,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.46,
        "bb_width_pct": 0.452
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T06-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4868.35,
      "stop": 4873.643,
      "target": 4857.765,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.46,
        "bb_width_pct": 0.452
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T06-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T06:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4861.7,
      "stop": 4856.475,
      "target": 4872.15,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.63,
        "bb_width_pct": 0.439
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T06-40-00Z_short_vwap_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T06:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4861.7,
      "stop": 4874.389,
      "target": 4836.322,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.63,
        "bb_width_pct": 0.439
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T06-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T06:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4861.7,
      "stop": 4857.623,
      "target": 4869.854,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.63,
        "bb_width_pct": 0.439
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T06-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T06:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4862.465,
      "stop": 4857.643,
      "target": 4872.109,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.34,
        "bb_width_pct": 0.444
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T06-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T06:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4862.465,
      "stop": 4859.122,
      "target": 4869.15,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.34,
        "bb_width_pct": 0.444
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T06-50-00Z_short_vwap_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T06:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4861.315,
      "stop": 4873.512,
      "target": 4836.921,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.01,
        "bb_width_pct": 0.477
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T06-55-00Z_short_vwap_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T06:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4847.56,
      "stop": 4852.792,
      "target": 4837.097,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 22.15,
        "bb_width_pct": 0.643
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T07-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T07:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4838.165,
      "stop": 4825.318,
      "target": 4863.859,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.49,
        "bb_width_pct": 1.195
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T07-15-00Z_long_rsi_range_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T07:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4838.165,
      "stop": 4825.318,
      "target": 4863.859,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.49,
        "bb_width_pct": 1.195
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T07-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T07:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4838.165,
      "stop": 4826.435,
      "target": 4861.625,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 26.49,
        "bb_width_pct": 1.195
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T07-55-00Z_short_vwap_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T07:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4855.475,
      "stop": 4860.574,
      "target": 4845.278,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.93,
        "bb_width_pct": 1.158
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T08-05-00Z_short_vwap_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T08:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4859.65,
      "stop": 4865.822,
      "target": 4847.306,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 16.85,
        "bb_width_pct": 0.911
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T08-10-00Z_short_rsi_range_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T08:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4858.515,
      "stop": 4861.991,
      "target": 4851.562,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 18.99,
        "bb_width_pct": 0.746
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T08-10-00Z_short_vwap_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T08:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4858.515,
      "stop": 4863.756,
      "target": 4848.033,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 18.99,
        "bb_width_pct": 0.746
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T08-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T08:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4866.93,
      "stop": 4871.481,
      "target": 4857.828,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 27.68,
        "bb_width_pct": 0.771
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T08-30-00Z_short_rsi_range_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4862.74,
      "stop": 4868.165,
      "target": 4851.891,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 14.72,
        "bb_width_pct": 0.778
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T08-30-00Z_short_vwap_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4862.74,
      "stop": 4868.318,
      "target": 4851.583,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.72,
        "bb_width_pct": 0.778
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T08-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4862.74,
      "stop": 4864.962,
      "target": 4858.296,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.72,
        "bb_width_pct": 0.778
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T08-40-00Z_short_vwap_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T08:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4861.605,
      "stop": 4866.075,
      "target": 4852.664,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 21.94,
        "bb_width_pct": 0.793
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T09-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T09:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4868.78,
      "stop": 4873.07,
      "target": 4860.2,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.24,
        "bb_width_pct": 0.36
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T09-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4869.355,
      "stop": 4872.983,
      "target": 4862.099,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.81,
        "bb_width_pct": 0.426
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T09-30-00Z_short_vwap_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4869.355,
      "stop": 4876.223,
      "target": 4855.618,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.81,
        "bb_width_pct": 0.426
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T09-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4869.355,
      "stop": 4873.001,
      "target": 4862.063,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.81,
        "bb_width_pct": 0.426
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T09-35-00Z_short_vwap_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4867.175,
      "stop": 4872.764,
      "target": 4855.997,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.12,
        "bb_width_pct": 0.416
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T09-40-00Z_short_vwap_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T09:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4866.41,
      "stop": 4871.465,
      "target": 4856.301,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 1.58,
        "bb_width_pct": 0.418
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T09-45-00Z_short_vwap_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T09:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4863.665,
      "stop": 4867.225,
      "target": 4856.544,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.49,
        "bb_width_pct": 0.413
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T10-35-00Z_long_rsi_range_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T10:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4863.24,
      "stop": 4862.997,
      "target": 4863.727,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.41,
        "bb_width_pct": 0.341
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T11-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T11:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4867.095,
      "stop": 4868.656,
      "target": 4863.973,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.46,
        "bb_width_pct": 0.227
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T11-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T11:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4867.095,
      "stop": 4868.278,
      "target": 4864.729,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.46,
        "bb_width_pct": 0.227
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T11-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T11:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4860.99,
      "stop": 4859.552,
      "target": 4863.867,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.61,
        "bb_width_pct": 0.219
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T11-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T11:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4860.99,
      "stop": 4859.465,
      "target": 4864.04,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.61,
        "bb_width_pct": 0.219
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T12-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T12:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4861.66,
      "stop": 4860.49,
      "target": 4863.999,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.87,
        "bb_width_pct": 0.253
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T12-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T12:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4861.66,
      "stop": 4859.359,
      "target": 4866.262,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.87,
        "bb_width_pct": 0.253
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T12-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T12:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4861.66,
      "stop": 4860.873,
      "target": 4863.233,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.87,
        "bb_width_pct": 0.253
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T12-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T12:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4866.555,
      "stop": 4867.633,
      "target": 4864.4,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.93,
        "bb_width_pct": 0.258
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T12-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T12:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4858.955,
      "stop": 4856.265,
      "target": 4864.336,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.71,
        "bb_width_pct": 0.274
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T13-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T13:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4868.885,
      "stop": 4871.544,
      "target": 4863.567,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.36,
        "bb_width_pct": 0.239
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T13-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T13:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4869.275,
      "stop": 4871.978,
      "target": 4863.869,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.5,
        "bb_width_pct": 0.26
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T13-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T13:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4867.155,
      "stop": 4868.733,
      "target": 4864.0,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.33,
        "bb_width_pct": 0.266
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T13-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T13:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4867.155,
      "stop": 4869.034,
      "target": 4863.397,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.33,
        "bb_width_pct": 0.266
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T13-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4871.61,
      "stop": 4874.987,
      "target": 4864.856,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.94,
        "bb_width_pct": 0.294
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T13-40-00Z_short_vwap_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T13:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4877.4,
      "stop": 4883.232,
      "target": 4865.736,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.52,
        "bb_width_pct": 0.437
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T13-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T13:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4877.4,
      "stop": 4882.632,
      "target": 4866.935,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.52,
        "bb_width_pct": 0.437
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T13-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4873.605,
      "stop": 4877.163,
      "target": 4866.489,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.81,
        "bb_width_pct": 0.454
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T13-45-00Z_short_vwap_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4873.605,
      "stop": 4877.335,
      "target": 4866.145,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 9.81,
        "bb_width_pct": 0.454
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T13-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4873.605,
      "stop": 4876.821,
      "target": 4867.172,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.81,
        "bb_width_pct": 0.454
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T13-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4873.605,
      "stop": 4876.233,
      "target": 4868.349,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.81,
        "bb_width_pct": 0.454
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T13-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T13:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4877.355,
      "stop": 4881.429,
      "target": 4869.206,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.26,
        "bb_width_pct": 0.486
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T13-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T13:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4879.295,
      "stop": 4884.751,
      "target": 4868.382,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.96,
        "bb_width_pct": 0.488
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T14-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T14:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4864.455,
      "stop": 4862.739,
      "target": 4867.886,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.47,
        "bb_width_pct": 0.554
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T14-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T14:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4864.455,
      "stop": 4863.451,
      "target": 4866.462,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 2.47,
        "bb_width_pct": 0.554
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T14-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T14:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4864.455,
      "stop": 4862.628,
      "target": 4868.109,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.47,
        "bb_width_pct": 0.554
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T14-15-00Z_long_vwap_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T14:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4846.43,
      "stop": 4837.024,
      "target": 4865.242,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.89,
        "bb_width_pct": 0.783
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T14-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T14:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4846.43,
      "stop": 4839.562,
      "target": 4860.165,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.89,
        "bb_width_pct": 0.783
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T15-30-00Z_long_vwap_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T15:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4839.625,
      "stop": 4829.244,
      "target": 4860.386,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.7,
        "bb_width_pct": 1.171
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T16-25-00Z_long_vwap_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T16:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4840.175,
      "stop": 4831.818,
      "target": 4856.89,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.52,
        "bb_width_pct": 0.954
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T16-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T16:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4829.75,
      "stop": 4824.994,
      "target": 4839.262,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.2,
        "bb_width_pct": 0.694
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T16-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T16:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4829.75,
      "stop": 4823.524,
      "target": 4842.202,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.2,
        "bb_width_pct": 0.694
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T16-55-00Z_long_vwap_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4833.63,
      "stop": 4822.977,
      "target": 4854.936,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.03,
        "bb_width_pct": 0.687
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T17-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T17:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4824.655,
      "stop": 4817.086,
      "target": 4839.792,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.52,
        "bb_width_pct": 0.62
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T17-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T17:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4827.31,
      "stop": 4821.198,
      "target": 4839.535,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.67,
        "bb_width_pct": 0.641
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T17-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T17:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4822.475,
      "stop": 4814.888,
      "target": 4837.649,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.03,
        "bb_width_pct": 0.798
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T17-15-00Z_long_rsi_range_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T17:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4822.475,
      "stop": 4814.888,
      "target": 4837.649,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.03,
        "bb_width_pct": 0.798
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T17-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T17:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4822.475,
      "stop": 4810.14,
      "target": 4847.145,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 16.03,
        "bb_width_pct": 0.798
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T17-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T17:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4822.475,
      "stop": 4816.045,
      "target": 4835.335,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.03,
        "bb_width_pct": 0.798
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T17-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T17:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4825.04,
      "stop": 4816.09,
      "target": 4842.94,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.14,
        "bb_width_pct": 0.83
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T17-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T17:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4821.31,
      "stop": 4815.409,
      "target": 4833.112,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.2,
        "bb_width_pct": 0.867
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T17-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T17:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4815.91,
      "stop": 4807.805,
      "target": 4832.119,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.56,
        "bb_width_pct": 0.968
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T17-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T17:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4815.91,
      "stop": 4805.079,
      "target": 4837.573,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 20.56,
        "bb_width_pct": 0.968
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T17-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T17:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4815.91,
      "stop": 4809.232,
      "target": 4829.265,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.56,
        "bb_width_pct": 0.968
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T17-45-00Z_long_rsi_range_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T17:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4814.43,
      "stop": 4807.437,
      "target": 4828.416,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.1,
        "bb_width_pct": 0.956
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T17-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T17:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4814.43,
      "stop": 4802.859,
      "target": 4837.573,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 13.1,
        "bb_width_pct": 0.956
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T17-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T17:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4814.43,
      "stop": 4808.547,
      "target": 4826.195,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.1,
        "bb_width_pct": 0.956
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T18-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T18:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4834.27,
      "stop": 4839.889,
      "target": 4823.032,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.19,
        "bb_width_pct": 0.572
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T18-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4835.435,
      "stop": 4841.495,
      "target": 4823.316,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.01,
        "bb_width_pct": 0.603
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T18-50-00Z_short_rsi_range_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T18:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4842.195,
      "stop": 4850.333,
      "target": 4825.918,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 27.93,
        "bb_width_pct": 0.791
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T18-50-00Z_short_vwap_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T18:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4842.195,
      "stop": 4850.598,
      "target": 4825.39,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 27.93,
        "bb_width_pct": 0.791
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T19-00-00Z_short_rsi_range_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T19:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4845.265,
      "stop": 4853.735,
      "target": 4828.325,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 19.31,
        "bb_width_pct": 0.957
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T19-00-00Z_short_vwap_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T19:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4845.265,
      "stop": 4854.328,
      "target": 4827.139,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 19.31,
        "bb_width_pct": 0.957
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T19-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T19:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4845.265,
      "stop": 4853.293,
      "target": 4829.21,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 19.31,
        "bb_width_pct": 0.957
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T19-10-00Z_short_rsi_range_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T19:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4849.03,
      "stop": 4857.648,
      "target": 4831.793,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 24.42,
        "bb_width_pct": 0.981
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T19-10-00Z_short_vwap_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T19:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4849.03,
      "stop": 4859.19,
      "target": 4828.71,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 24.42,
        "bb_width_pct": 0.981
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T19-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T19:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4849.03,
      "stop": 4858.94,
      "target": 4829.21,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 24.42,
        "bb_width_pct": 0.981
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T19-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T19:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4816.04,
      "stop": 4806.223,
      "target": 4835.673,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.22,
        "bb_width_pct": 0.919
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T21-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T21:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4829.7,
      "stop": 4832.505,
      "target": 4824.09,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.5,
        "bb_width_pct": 1.171
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T21-55-00Z_long_vwap_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T21:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4831.38,
      "stop": 4820.647,
      "target": 4852.845,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.44,
        "bb_width_pct": 1.069
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T23-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4802.9,
      "stop": 4792.258,
      "target": 4824.183,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.08,
        "bb_width_pct": 0.889
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T23-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4815.14,
      "stop": 4810.34,
      "target": 4824.739,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.66,
        "bb_width_pct": 0.822
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T23-10-00Z_long_vwap_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4815.14,
      "stop": 4797.86,
      "target": 4849.7,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.66,
        "bb_width_pct": 0.822
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-21T23-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4815.14,
      "stop": 4812.097,
      "target": 4821.226,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.66,
        "bb_width_pct": 0.822
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T00-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4788.615,
      "stop": 4778.54,
      "target": 4808.765,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.15,
        "bb_width_pct": 1.067
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T00-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4788.615,
      "stop": 4785.551,
      "target": 4794.743,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.15,
        "bb_width_pct": 1.067
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T00-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T00:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4793.2,
      "stop": 4785.417,
      "target": 4808.765,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.75,
        "bb_width_pct": 0.7
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T01-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T01:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4786.41,
      "stop": 4785.519,
      "target": 4788.193,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.6,
        "bb_width_pct": 0.47
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T01-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T01:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4786.41,
      "stop": 4776.573,
      "target": 4806.085,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.6,
        "bb_width_pct": 0.47
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T01-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T01:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4786.41,
      "stop": 4783.782,
      "target": 4791.667,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.6,
        "bb_width_pct": 0.47
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T01-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T01:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4791.675,
      "stop": 4784.47,
      "target": 4806.085,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.77,
        "bb_width_pct": 0.461
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T01-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T01:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4807.57,
      "stop": 4814.385,
      "target": 4793.941,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.63,
        "bb_width_pct": 0.611
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T01-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T01:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4796.35,
      "stop": 4799.692,
      "target": 4789.665,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.16,
        "bb_width_pct": 0.624
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T02-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4784.65,
      "stop": 4779.863,
      "target": 4794.225,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.51,
        "bb_width_pct": 0.612
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T02-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4784.65,
      "stop": 4780.475,
      "target": 4792.999,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.51,
        "bb_width_pct": 0.612
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T02-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T02:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4778.06,
      "stop": 4770.476,
      "target": 4793.229,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.06,
        "bb_width_pct": 0.674
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T02-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T02:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4781.93,
      "stop": 4776.154,
      "target": 4793.483,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.27,
        "bb_width_pct": 0.636
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T02-40-00Z_long_vwap_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T02:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4781.93,
      "stop": 4777.352,
      "target": 4791.085,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.27,
        "bb_width_pct": 0.636
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T02-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T02:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4781.93,
      "stop": 4777.359,
      "target": 4791.073,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 18.27,
        "bb_width_pct": 0.636
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T02-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T02:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4781.93,
      "stop": 4777.566,
      "target": 4790.658,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.27,
        "bb_width_pct": 0.636
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T03-50-00Z_short_rsi_range_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T03:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4794.705,
      "stop": 4797.633,
      "target": 4788.848,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 13.31,
        "bb_width_pct": 0.349
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T04-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4799.17,
      "stop": 4802.337,
      "target": 4792.835,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.59,
        "bb_width_pct": 0.433
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T04-10-00Z_short_rsi_range_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T04:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4798.28,
      "stop": 4802.038,
      "target": 4790.764,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 16.85,
        "bb_width_pct": 0.445
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T04-10-00Z_short_vwap_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T04:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4798.28,
      "stop": 4801.755,
      "target": 4791.33,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 16.85,
        "bb_width_pct": 0.445
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T04-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T04:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4798.28,
      "stop": 4800.743,
      "target": 4793.354,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.85,
        "bb_width_pct": 0.445
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T04-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T04:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4799.155,
      "stop": 4801.779,
      "target": 4793.906,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.42,
        "bb_width_pct": 0.398
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T04-20-00Z_short_vwap_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4796.995,
      "stop": 4799.696,
      "target": 4791.593,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 19.4,
        "bb_width_pct": 0.36
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T04-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4796.995,
      "stop": 4798.392,
      "target": 4794.201,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.4,
        "bb_width_pct": 0.36
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T04-25-00Z_short_rsi_range_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T04:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4796.13,
      "stop": 4797.636,
      "target": 4793.118,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 10.39,
        "bb_width_pct": 0.336
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T04-25-00Z_short_vwap_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T04:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4796.13,
      "stop": 4798.355,
      "target": 4791.68,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.39,
        "bb_width_pct": 0.336
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T04-50-00Z_short_vwap_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T04:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4796.03,
      "stop": 4798.023,
      "target": 4792.045,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 1.91,
        "bb_width_pct": 0.246
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T05-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4800.72,
      "stop": 4803.102,
      "target": 4795.957,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.98,
        "bb_width_pct": 0.201
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T05-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4800.72,
      "stop": 4803.216,
      "target": 4795.728,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.98,
        "bb_width_pct": 0.201
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T05-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4797.915,
      "stop": 4798.76,
      "target": 4796.225,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.24,
        "bb_width_pct": 0.193
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T05-05-00Z_short_vwap_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4797.915,
      "stop": 4800.702,
      "target": 4792.342,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.24,
        "bb_width_pct": 0.193
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T05-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4797.915,
      "stop": 4801.971,
      "target": 4789.802,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.24,
        "bb_width_pct": 0.193
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T05-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4797.915,
      "stop": 4798.904,
      "target": 4795.936,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.24,
        "bb_width_pct": 0.193
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T05-15-00Z_short_vwap_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4797.955,
      "stop": 4800.661,
      "target": 4792.543,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.63,
        "bb_width_pct": 0.188
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T05-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4797.955,
      "stop": 4802.804,
      "target": 4788.257,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.63,
        "bb_width_pct": 0.188
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T05-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4796.2,
      "stop": 4800.171,
      "target": 4788.257,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.81,
        "bb_width_pct": 0.144
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T05-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4800.9,
      "stop": 4802.556,
      "target": 4797.588,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.7,
        "bb_width_pct": 0.151
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T06-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4820.465,
      "stop": 4829.379,
      "target": 4802.636,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 27.27,
        "bb_width_pct": 0.791
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T06-05-00Z_short_rsi_range_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4820.465,
      "stop": 4829.379,
      "target": 4802.636,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 27.27,
        "bb_width_pct": 0.791
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T06-05-00Z_short_vwap_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4820.465,
      "stop": 4833.425,
      "target": 4794.545,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 27.27,
        "bb_width_pct": 0.791
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T06-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4820.465,
      "stop": 4828.439,
      "target": 4804.517,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 27.27,
        "bb_width_pct": 0.791
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T06-50-00Z_short_rsi_range_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T06:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4821.64,
      "stop": 4825.091,
      "target": 4814.738,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 18.77,
        "bb_width_pct": 0.988
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T06-50-00Z_short_vwap_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T06:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4821.64,
      "stop": 4833.579,
      "target": 4797.762,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 18.77,
        "bb_width_pct": 0.988
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T06-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T06:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4821.64,
      "stop": 4827.581,
      "target": 4809.757,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.77,
        "bb_width_pct": 0.988
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T06-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T06:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4821.64,
      "stop": 4824.112,
      "target": 4816.697,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.77,
        "bb_width_pct": 0.988
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T07-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T07:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4833.37,
      "stop": 4842.875,
      "target": 4814.36,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 20.65,
        "bb_width_pct": 0.764
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T07-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T07:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4831.56,
      "stop": 4839.501,
      "target": 4815.677,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.15,
        "bb_width_pct": 0.537
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T07-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T07:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4837.255,
      "stop": 4842.591,
      "target": 4826.583,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.65,
        "bb_width_pct": 0.471
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T07-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4836.785,
      "stop": 4847.211,
      "target": 4815.932,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.55,
        "bb_width_pct": 0.476
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T07-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T07:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4836.505,
      "stop": 4846.77,
      "target": 4815.975,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.89,
        "bb_width_pct": 0.487
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T07-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T07:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4833.505,
      "stop": 4842.27,
      "target": 4815.975,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.84,
        "bb_width_pct": 0.485
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T07-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T07:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4833.505,
      "stop": 4836.337,
      "target": 4827.841,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.84,
        "bb_width_pct": 0.485
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T07-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T07:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4833.275,
      "stop": 4841.559,
      "target": 4816.708,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.27,
        "bb_width_pct": 0.464
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T07-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T07:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4833.13,
      "stop": 4841.341,
      "target": 4816.708,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.25,
        "bb_width_pct": 0.415
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T07-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T07:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4832.72,
      "stop": 4840.726,
      "target": 4816.708,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 16.7,
        "bb_width_pct": 0.394
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T08-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T08:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4828.85,
      "stop": 4834.921,
      "target": 4816.708,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.18,
        "bb_width_pct": 0.38
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T08-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4825.05,
      "stop": 4821.742,
      "target": 4831.666,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.53,
        "bb_width_pct": 0.312
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T08-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4826.565,
      "stop": 4824.018,
      "target": 4831.659,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.22,
        "bb_width_pct": 0.312
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T08-35-00Z_long_rsi_range_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4826.565,
      "stop": 4824.018,
      "target": 4831.659,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.22,
        "bb_width_pct": 0.312
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T08-40-00Z_long_rsi_range_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T08:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4826.625,
      "stop": 4824.218,
      "target": 4831.439,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.54,
        "bb_width_pct": 0.325
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T08-45-00Z_long_rsi_range_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T08:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4827.085,
      "stop": 4825.092,
      "target": 4831.07,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.28,
        "bb_width_pct": 0.329
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T09-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T09:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4832.755,
      "stop": 4834.006,
      "target": 4830.252,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.34,
        "bb_width_pct": 0.264
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T09-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T09:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4832.755,
      "stop": 4835.305,
      "target": 4827.655,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.34,
        "bb_width_pct": 0.264
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T09-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T09:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4832.755,
      "stop": 4834.344,
      "target": 4829.577,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.34,
        "bb_width_pct": 0.264
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T09-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4824.44,
      "stop": 4822.065,
      "target": 4829.19,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.0,
        "bb_width_pct": 0.228
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T09-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4824.44,
      "stop": 4822.047,
      "target": 4829.226,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.0,
        "bb_width_pct": 0.228
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T09-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T09:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4819.34,
      "stop": 4815.367,
      "target": 4827.287,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.39,
        "bb_width_pct": 0.365
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T09-45-00Z_long_vwap_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T09:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4819.34,
      "stop": 4814.008,
      "target": 4830.004,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.39,
        "bb_width_pct": 0.365
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T09-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T09:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4819.34,
      "stop": 4815.593,
      "target": 4826.835,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.39,
        "bb_width_pct": 0.365
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T09-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T09:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4819.34,
      "stop": 4815.757,
      "target": 4826.506,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.39,
        "bb_width_pct": 0.365
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T09-50-00Z_long_vwap_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T09:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4821.06,
      "stop": 4816.722,
      "target": 4829.736,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.8,
        "bb_width_pct": 0.382
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T09-55-00Z_long_vwap_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T09:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4823.185,
      "stop": 4820.014,
      "target": 4829.526,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.29,
        "bb_width_pct": 0.388
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T10-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T10:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4829.93,
      "stop": 4831.649,
      "target": 4826.492,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.64,
        "bb_width_pct": 0.341
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T10-55-00Z_short_rsi_range_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T10:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4829.11,
      "stop": 4831.19,
      "target": 4824.95,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 17.57,
        "bb_width_pct": 0.325
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T11-05-00Z_short_rsi_range_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T11:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4829.91,
      "stop": 4832.336,
      "target": 4825.059,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 18.17,
        "bb_width_pct": 0.336
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T11-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T11:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4831.19,
      "stop": 4832.266,
      "target": 4829.037,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.69,
        "bb_width_pct": 0.218
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T11-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T11:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4831.19,
      "stop": 4833.771,
      "target": 4826.028,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.69,
        "bb_width_pct": 0.218
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T11-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T11:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4831.19,
      "stop": 4832.136,
      "target": 4829.298,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.69,
        "bb_width_pct": 0.218
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T12-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4824.825,
      "stop": 4822.67,
      "target": 4829.135,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.2,
        "bb_width_pct": 0.202
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T13-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4822.03,
      "stop": 4818.884,
      "target": 4828.322,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.13,
        "bb_width_pct": 0.316
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T13-00-00Z_long_rsi_range_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4822.03,
      "stop": 4818.884,
      "target": 4828.322,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.13,
        "bb_width_pct": 0.316
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T13-00-00Z_long_vwap_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4822.03,
      "stop": 4819.433,
      "target": 4827.224,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.13,
        "bb_width_pct": 0.316
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T13-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4822.03,
      "stop": 4820.295,
      "target": 4825.5,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 16.13,
        "bb_width_pct": 0.316
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T13-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4822.03,
      "stop": 4819.405,
      "target": 4827.279,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.13,
        "bb_width_pct": 0.316
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T13-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T13:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4821.085,
      "stop": 4818.283,
      "target": 4826.689,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.67,
        "bb_width_pct": 0.342
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T13-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T13:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4834.24,
      "stop": 4837.44,
      "target": 4827.84,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.39,
        "bb_width_pct": 0.363
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T13-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T13:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4828.005,
      "stop": 4828.949,
      "target": 4826.118,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.28,
        "bb_width_pct": 0.349
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T13-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T13:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4828.005,
      "stop": 4828.08,
      "target": 4827.855,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.28,
        "bb_width_pct": 0.349
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T13-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4822.59,
      "stop": 4820.232,
      "target": 4827.306,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.45,
        "bb_width_pct": 0.33
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T13-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4822.59,
      "stop": 4820.208,
      "target": 4827.354,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.45,
        "bb_width_pct": 0.33
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T13-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4815.395,
      "stop": 4810.158,
      "target": 4825.869,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.09,
        "bb_width_pct": 0.452
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T13-45-00Z_long_vwap_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4815.395,
      "stop": 4810.187,
      "target": 4825.811,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.09,
        "bb_width_pct": 0.452
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T13-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4815.395,
      "stop": 4811.261,
      "target": 4823.663,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 16.09,
        "bb_width_pct": 0.452
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T13-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4815.395,
      "stop": 4810.776,
      "target": 4824.632,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.09,
        "bb_width_pct": 0.452
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T13-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T13:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4818.8,
      "stop": 4816.408,
      "target": 4823.585,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.78,
        "bb_width_pct": 0.469
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T14-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T14:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4839.905,
      "stop": 4845.916,
      "target": 4827.883,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 23.92,
        "bb_width_pct": 0.747
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T14-45-00Z_short_vwap_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T14:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4839.905,
      "stop": 4846.298,
      "target": 4827.12,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 23.92,
        "bb_width_pct": 0.747
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T14-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T14:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4839.905,
      "stop": 4845.211,
      "target": 4829.292,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 23.92,
        "bb_width_pct": 0.747
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T14-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T14:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4839.905,
      "stop": 4844.537,
      "target": 4830.64,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 23.92,
        "bb_width_pct": 0.747
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T14-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T14:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4835.135,
      "stop": 4838.056,
      "target": 4829.292,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.0,
        "bb_width_pct": 0.812
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T14-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T14:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4835.135,
      "stop": 4836.56,
      "target": 4832.284,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.0,
        "bb_width_pct": 0.812
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T15-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T15:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4853.8,
      "stop": 4863.462,
      "target": 4834.475,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.48,
        "bb_width_pct": 0.813
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T15-35-00Z_short_rsi_range_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T15:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4862.595,
      "stop": 4874.525,
      "target": 4838.734,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 14.86,
        "bb_width_pct": 0.981
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T15-35-00Z_short_vwap_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T15:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4862.595,
      "stop": 4878.36,
      "target": 4831.065,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.86,
        "bb_width_pct": 0.981
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T15-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T15:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4862.595,
      "stop": 4874.972,
      "target": 4837.84,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.86,
        "bb_width_pct": 0.981
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T15-45-00Z_short_vwap_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T15:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4863.49,
      "stop": 4879.007,
      "target": 4832.456,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.42,
        "bb_width_pct": 1.044
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T15-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T15:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4863.49,
      "stop": 4876.035,
      "target": 4838.4,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.42,
        "bb_width_pct": 1.044
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T15-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T15:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4869.475,
      "stop": 4881.674,
      "target": 4845.076,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 24.83,
        "bb_width_pct": 1.086
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T16-50-00Z_short_rsi_range_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T16:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4880.505,
      "stop": 4886.045,
      "target": 4869.424,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 20.45,
        "bb_width_pct": 0.962
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T16-50-00Z_short_vwap_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T16:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4880.505,
      "stop": 4899.707,
      "target": 4842.101,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 20.45,
        "bb_width_pct": 0.962
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T16-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T16:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4880.505,
      "stop": 4896.82,
      "target": 4847.875,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 20.45,
        "bb_width_pct": 0.962
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T16-55-00Z_short_rsi_range_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4878.075,
      "stop": 4881.494,
      "target": 4871.236,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 10.19,
        "bb_width_pct": 0.82
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T16-55-00Z_short_vwap_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4878.075,
      "stop": 4895.761,
      "target": 4842.702,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.19,
        "bb_width_pct": 0.82
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T16-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4878.075,
      "stop": 4893.062,
      "target": 4848.1,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.19,
        "bb_width_pct": 0.82
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T16-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4878.075,
      "stop": 4882.108,
      "target": 4870.01,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.19,
        "bb_width_pct": 0.82
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T17-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T17:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4876.755,
      "stop": 4890.18,
      "target": 4849.905,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.38,
        "bb_width_pct": 0.54
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T17-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T17:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4876.755,
      "stop": 4879.271,
      "target": 4871.723,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.38,
        "bb_width_pct": 0.54
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T17-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T17:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4880.28,
      "stop": 4884.151,
      "target": 4872.538,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.16,
        "bb_width_pct": 0.51
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T17-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T17:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4887.78,
      "stop": 4893.005,
      "target": 4877.329,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.12,
        "bb_width_pct": 0.444
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T17-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T17:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4892.98,
      "stop": 4898.953,
      "target": 4881.034,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.33,
        "bb_width_pct": 0.511
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T17-35-00Z_short_rsi_range_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T17:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4892.98,
      "stop": 4898.953,
      "target": 4881.034,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 13.33,
        "bb_width_pct": 0.511
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T17-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T17:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4892.98,
      "stop": 4909.496,
      "target": 4859.948,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.33,
        "bb_width_pct": 0.511
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T17-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T17:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4904.715,
      "stop": 4913.663,
      "target": 4886.819,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.32,
        "bb_width_pct": 0.785
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T18-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T18:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4908.51,
      "stop": 4918.602,
      "target": 4888.326,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 26.9,
        "bb_width_pct": 0.857
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T18-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T18:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4912.385,
      "stop": 4923.506,
      "target": 4890.143,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 26.32,
        "bb_width_pct": 0.925
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T18-20-00Z_short_rsi_range_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T18:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4908.87,
      "stop": 4916.071,
      "target": 4894.468,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 27.97,
        "bb_width_pct": 1.011
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T18-20-00Z_short_vwap_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T18:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4908.87,
      "stop": 4915.136,
      "target": 4896.337,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 27.97,
        "bb_width_pct": 1.011
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T18-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T18:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4908.87,
      "stop": 4926.939,
      "target": 4872.733,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 27.97,
        "bb_width_pct": 1.011
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T18-40-00Z_short_rsi_range_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T18:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4913.075,
      "stop": 4919.194,
      "target": 4900.837,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 24.16,
        "bb_width_pct": 0.96
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T18-40-00Z_short_vwap_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T18:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4913.075,
      "stop": 4919.955,
      "target": 4899.316,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 24.16,
        "bb_width_pct": 0.96
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T18-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T18:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4913.075,
      "stop": 4930.015,
      "target": 4879.195,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 24.16,
        "bb_width_pct": 0.96
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T18-55-00Z_short_rsi_range_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T18:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4916.035,
      "stop": 4920.874,
      "target": 4906.356,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 15.14,
        "bb_width_pct": 0.706
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T18-55-00Z_short_vwap_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T18:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4916.035,
      "stop": 4923.351,
      "target": 4901.403,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.14,
        "bb_width_pct": 0.706
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T18-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T18:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4916.035,
      "stop": 4929.744,
      "target": 4888.618,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.14,
        "bb_width_pct": 0.706
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T19-15-00Z_short_vwap_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T19:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4921.525,
      "stop": 4930.156,
      "target": 4904.263,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 19.35,
        "bb_width_pct": 0.524
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T19-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T19:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4921.525,
      "stop": 4934.135,
      "target": 4896.305,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 19.35,
        "bb_width_pct": 0.524
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T19-20-00Z_short_vwap_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T19:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4918.96,
      "stop": 4926.037,
      "target": 4904.805,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.43,
        "bb_width_pct": 0.472
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T19-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T19:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4918.96,
      "stop": 4930.288,
      "target": 4896.305,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.43,
        "bb_width_pct": 0.472
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T19-25-00Z_short_vwap_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T19:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4914.735,
      "stop": 4919.537,
      "target": 4905.131,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.41,
        "bb_width_pct": 0.436
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T19-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T19:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4914.735,
      "stop": 4923.576,
      "target": 4897.052,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.41,
        "bb_width_pct": 0.436
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T19-40-00Z_short_vwap_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T19:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4913.64,
      "stop": 4917.409,
      "target": 4906.102,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.21,
        "bb_width_pct": 0.338
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T19-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T19:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4913.64,
      "stop": 4921.934,
      "target": 4897.052,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.21,
        "bb_width_pct": 0.338
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T19-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T19:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4908.26,
      "stop": 4904.843,
      "target": 4915.094,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.21,
        "bb_width_pct": 0.357
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T20-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T20:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4925.955,
      "stop": 4930.335,
      "target": 4917.195,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.11,
        "bb_width_pct": 0.37
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T20-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T20:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4927.11,
      "stop": 4931.734,
      "target": 4917.862,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.51,
        "bb_width_pct": 0.403
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T20-25-00Z_short_vwap_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T20:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4925.75,
      "stop": 4934.125,
      "target": 4909.0,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.22,
        "bb_width_pct": 0.441
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T20-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T20:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4925.75,
      "stop": 4937.66,
      "target": 4901.93,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.22,
        "bb_width_pct": 0.441
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T20-30-00Z_short_vwap_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T20:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4920.755,
      "stop": 4926.473,
      "target": 4909.318,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.76,
        "bb_width_pct": 0.44
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T20-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T20:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4920.755,
      "stop": 4929.939,
      "target": 4902.387,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.76,
        "bb_width_pct": 0.44
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T20-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T20:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4920.755,
      "stop": 4921.936,
      "target": 4918.393,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.76,
        "bb_width_pct": 0.44
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T20-35-00Z_short_vwap_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T20:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4919.995,
      "stop": 4925.203,
      "target": 4909.579,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.64,
        "bb_width_pct": 0.436
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T20-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T20:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4919.995,
      "stop": 4927.868,
      "target": 4904.25,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.64,
        "bb_width_pct": 0.436
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T20-45-00Z_short_vwap_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T20:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4922.43,
      "stop": 4928.578,
      "target": 4910.134,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.1,
        "bb_width_pct": 0.442
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T20-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T20:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4922.43,
      "stop": 4929.185,
      "target": 4908.92,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.1,
        "bb_width_pct": 0.442
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T20-50-00Z_short_vwap_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T20:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4921.08,
      "stop": 4926.437,
      "target": 4910.365,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 18.99,
        "bb_width_pct": 0.435
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T20-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T20:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4921.08,
      "stop": 4926.657,
      "target": 4909.925,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.99,
        "bb_width_pct": 0.435
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T20-55-00Z_short_vwap_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T20:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4917.07,
      "stop": 4920.339,
      "target": 4910.532,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.63,
        "bb_width_pct": 0.435
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T20-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T20:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4917.07,
      "stop": 4920.642,
      "target": 4909.925,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.63,
        "bb_width_pct": 0.435
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T21-00-00Z_short_vwap_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T21:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4916.275,
      "stop": 4958.654,
      "target": 4831.518,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.62,
        "bb_width_pct": 0.439
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T21-20-00Z_short_vwap_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T21:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4922.41,
      "stop": 4961.647,
      "target": 4843.935,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.54,
        "bb_width_pct": 0.411
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T21-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T21:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4936.655,
      "stop": 4942.282,
      "target": 4925.401,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.17,
        "bb_width_pct": 0.527
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T21-45-00Z_short_rsi_range_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T21:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4936.655,
      "stop": 4942.282,
      "target": 4925.401,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 20.17,
        "bb_width_pct": 0.527
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T21-45-00Z_short_vwap_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T21:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4936.655,
      "stop": 4976.416,
      "target": 4857.133,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 20.17,
        "bb_width_pct": 0.527
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T21-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T21:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4936.655,
      "stop": 4943.316,
      "target": 4923.333,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 20.17,
        "bb_width_pct": 0.527
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T21-50-00Z_short_rsi_range_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T21:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4935.84,
      "stop": 4940.812,
      "target": 4925.895,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 20.25,
        "bb_width_pct": 0.558
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T21-50-00Z_short_vwap_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T21:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4935.84,
      "stop": 4974.06,
      "target": 4859.399,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 20.25,
        "bb_width_pct": 0.558
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T21-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T21:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4935.84,
      "stop": 4942.043,
      "target": 4923.435,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 20.25,
        "bb_width_pct": 0.558
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T23-15-00Z_short_rsi_range_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4941.645,
      "stop": 4946.814,
      "target": 4931.308,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 23.99,
        "bb_width_pct": 0.917
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T23-15-00Z_short_vwap_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4941.645,
      "stop": 4977.281,
      "target": 4870.372,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 23.99,
        "bb_width_pct": 0.917
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T23-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4941.645,
      "stop": 4945.291,
      "target": 4934.352,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 23.99,
        "bb_width_pct": 0.917
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T23-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T23:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4943.87,
      "stop": 4948.176,
      "target": 4935.259,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 26.09,
        "bb_width_pct": 0.928
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T23-25-00Z_short_vwap_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T23:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4940.355,
      "stop": 4973.633,
      "target": 4873.8,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 21.76,
        "bb_width_pct": 0.919
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T23-30-00Z_short_vwap_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4934.2,
      "stop": 4963.687,
      "target": 4875.226,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 9.92,
        "bb_width_pct": 0.89
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T23-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T23:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4955.865,
      "stop": 4964.221,
      "target": 4939.152,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.95,
        "bb_width_pct": 0.758
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-22T23-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T23:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4959.13,
      "stop": 4968.213,
      "target": 4940.963,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.41,
        "bb_width_pct": 0.773
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T00-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4961.545,
      "stop": 4970.858,
      "target": 4942.92,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 23.83,
        "bb_width_pct": 0.773
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T00-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T00:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4956.035,
      "stop": 4966.336,
      "target": 4935.433,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.13,
        "bb_width_pct": 0.733
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T00-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T00:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4956.035,
      "stop": 4961.954,
      "target": 4944.197,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.13,
        "bb_width_pct": 0.733
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T00-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T00:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4951.83,
      "stop": 4959.336,
      "target": 4936.818,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.6,
        "bb_width_pct": 0.726
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T00-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T00:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4956.515,
      "stop": 4961.759,
      "target": 4946.028,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.97,
        "bb_width_pct": 0.731
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T00-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T00:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4950.795,
      "stop": 4956.755,
      "target": 4938.875,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.84,
        "bb_width_pct": 0.723
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T00-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T00:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4950.795,
      "stop": 4952.952,
      "target": 4946.482,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.84,
        "bb_width_pct": 0.723
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T01-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4946.385,
      "stop": 4949.493,
      "target": 4940.17,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.07,
        "bb_width_pct": 0.663
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T01-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4946.385,
      "stop": 4944.301,
      "target": 4950.554,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.07,
        "bb_width_pct": 0.663
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T01-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T01:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4944.79,
      "stop": 4942.183,
      "target": 4950.005,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.21,
        "bb_width_pct": 0.644
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T01-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T01:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4958.365,
      "stop": 4961.294,
      "target": 4952.508,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.95,
        "bb_width_pct": 0.425
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T01-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T01:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4958.365,
      "stop": 4962.957,
      "target": 4949.18,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.95,
        "bb_width_pct": 0.425
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T02-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4961.22,
      "stop": 4965.333,
      "target": 4952.994,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.33,
        "bb_width_pct": 0.344
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T02-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4961.22,
      "stop": 4965.001,
      "target": 4953.658,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.33,
        "bb_width_pct": 0.344
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T02-50-00Z_short_vwap_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T02:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4960.675,
      "stop": 4964.359,
      "target": 4953.307,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.87,
        "bb_width_pct": 0.361
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T02-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T02:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4960.675,
      "stop": 4966.12,
      "target": 4949.785,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.87,
        "bb_width_pct": 0.361
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T02-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T02:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4960.675,
      "stop": 4963.85,
      "target": 4954.326,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.87,
        "bb_width_pct": 0.361
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T03-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T03:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4943.425,
      "stop": 4938.194,
      "target": 4953.886,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.87,
        "bb_width_pct": 0.434
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T03-20-00Z_long_vwap_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T03:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4943.425,
      "stop": 4938.538,
      "target": 4953.2,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.87,
        "bb_width_pct": 0.434
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T03-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T03:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4943.425,
      "stop": 4939.243,
      "target": 4951.79,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.87,
        "bb_width_pct": 0.434
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T03-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4944.01,
      "stop": 4939.473,
      "target": 4953.085,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.94,
        "bb_width_pct": 0.451
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T03-25-00Z_long_vwap_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4944.01,
      "stop": 4939.54,
      "target": 4952.95,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.94,
        "bb_width_pct": 0.451
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T03-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4944.01,
      "stop": 4940.12,
      "target": 4951.79,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.94,
        "bb_width_pct": 0.451
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T03-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4944.01,
      "stop": 4940.141,
      "target": 4951.749,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.94,
        "bb_width_pct": 0.451
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T04-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4956.88,
      "stop": 4958.782,
      "target": 4953.076,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.29,
        "bb_width_pct": 0.363
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T04-50-00Z_short_rsi_range_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T04:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4957.92,
      "stop": 4960.986,
      "target": 4951.787,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 11.31,
        "bb_width_pct": 0.371
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T04-50-00Z_short_vwap_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T04:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4957.92,
      "stop": 4960.397,
      "target": 4952.966,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.31,
        "bb_width_pct": 0.371
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T04-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T04:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4957.92,
      "stop": 4959.894,
      "target": 4953.972,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.31,
        "bb_width_pct": 0.371
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T04-55-00Z_short_vwap_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T04:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4956.285,
      "stop": 4957.913,
      "target": 4953.029,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.32,
        "bb_width_pct": 0.301
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T04-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T04:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4956.285,
      "stop": 4957.331,
      "target": 4954.192,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.32,
        "bb_width_pct": 0.301
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T05-00-00Z_short_vwap_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4956.16,
      "stop": 4957.7,
      "target": 4953.079,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.41,
        "bb_width_pct": 0.254
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T05-10-00Z_short_vwap_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4956.435,
      "stop": 4958.056,
      "target": 4953.192,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.35,
        "bb_width_pct": 0.193
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T05-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4958.16,
      "stop": 4959.788,
      "target": 4954.904,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.38,
        "bb_width_pct": 0.186
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T05-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4958.16,
      "stop": 4959.556,
      "target": 4955.367,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.38,
        "bb_width_pct": 0.186
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T05-25-00Z_short_rsi_range_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4957.555,
      "stop": 4958.784,
      "target": 4955.097,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 16.55,
        "bb_width_pct": 0.19
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T05-25-00Z_short_vwap_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4957.555,
      "stop": 4959.632,
      "target": 4953.401,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 16.55,
        "bb_width_pct": 0.19
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T05-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4957.43,
      "stop": 4958.456,
      "target": 4955.378,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.44,
        "bb_width_pct": 0.184
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T05-30-00Z_short_rsi_range_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4957.43,
      "stop": 4958.456,
      "target": 4955.378,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 12.44,
        "bb_width_pct": 0.184
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T05-30-00Z_short_vwap_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4957.43,
      "stop": 4959.407,
      "target": 4953.475,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.44,
        "bb_width_pct": 0.184
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T05-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4957.43,
      "stop": 4961.003,
      "target": 4950.285,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.44,
        "bb_width_pct": 0.184
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T05-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4957.43,
      "stop": 4958.269,
      "target": 4955.752,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.44,
        "bb_width_pct": 0.184
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T05-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4964.03,
      "stop": 4967.34,
      "target": 4957.411,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.75,
        "bb_width_pct": 0.278
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T05-50-00Z_short_rsi_range_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4964.03,
      "stop": 4967.34,
      "target": 4957.411,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 14.75,
        "bb_width_pct": 0.278
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T05-50-00Z_short_vwap_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4964.03,
      "stop": 4969.063,
      "target": 4953.964,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.75,
        "bb_width_pct": 0.278
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T05-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4964.03,
      "stop": 4969.835,
      "target": 4952.42,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.75,
        "bb_width_pct": 0.278
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T05-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T05:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4960.64,
      "stop": 4962.047,
      "target": 4957.826,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.46,
        "bb_width_pct": 0.267
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T05-55-00Z_short_vwap_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T05:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4960.64,
      "stop": 4963.92,
      "target": 4954.079,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.46,
        "bb_width_pct": 0.267
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T05-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T05:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4960.64,
      "stop": 4964.615,
      "target": 4952.69,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.46,
        "bb_width_pct": 0.267
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T05-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T05:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4960.64,
      "stop": 4961.771,
      "target": 4958.378,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.46,
        "bb_width_pct": 0.267
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T06-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4957.99,
      "stop": 4960.64,
      "target": 4952.69,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.6,
        "bb_width_pct": 0.244
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T06-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T06:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4952.655,
      "stop": 4949.893,
      "target": 4958.18,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.86,
        "bb_width_pct": 0.241
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T06-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T06:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4952.655,
      "stop": 4950.197,
      "target": 4957.571,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.86,
        "bb_width_pct": 0.241
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T06-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T06:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4954.435,
      "stop": 4952.602,
      "target": 4958.101,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.32,
        "bb_width_pct": 0.247
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T06-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4954.025,
      "stop": 4952.158,
      "target": 4957.759,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.12,
        "bb_width_pct": 0.27
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T06-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T06:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4953.19,
      "stop": 4951.021,
      "target": 4957.528,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.45,
        "bb_width_pct": 0.285
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T07-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T07:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4950.715,
      "stop": 4949.214,
      "target": 4953.717,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.87,
        "bb_width_pct": 0.277
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T07-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T07:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4950.715,
      "stop": 4948.444,
      "target": 4955.257,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.87,
        "bb_width_pct": 0.277
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T07-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T07:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4950.715,
      "stop": 4949.416,
      "target": 4953.312,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.87,
        "bb_width_pct": 0.277
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T08-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4946.645,
      "stop": 4943.663,
      "target": 4952.609,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.13,
        "bb_width_pct": 0.322
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T08-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4946.645,
      "stop": 4942.339,
      "target": 4955.257,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.13,
        "bb_width_pct": 0.322
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T08-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4946.645,
      "stop": 4944.01,
      "target": 4951.915,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.13,
        "bb_width_pct": 0.322
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T08-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T08:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4946.875,
      "stop": 4944.167,
      "target": 4952.292,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.73,
        "bb_width_pct": 0.338
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T08-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T08:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4946.875,
      "stop": 4943.003,
      "target": 4954.62,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 11.73,
        "bb_width_pct": 0.338
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T08-40-00Z_long_rsi_range_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T08:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4925.1,
      "stop": 4916.416,
      "target": 4942.468,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.47,
        "bb_width_pct": 1.129
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T08-40-00Z_long_vwap_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T08:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4925.1,
      "stop": 4916.039,
      "target": 4943.223,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.47,
        "bb_width_pct": 1.129
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T09-20-00Z_long_rsi_range_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T09:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4909.745,
      "stop": 4901.709,
      "target": 4925.817,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.39,
        "bb_width_pct": 1.196
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T09-20-00Z_long_vwap_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T09:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4909.745,
      "stop": 4897.127,
      "target": 4934.98,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.39,
        "bb_width_pct": 1.196
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T09-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T09:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4909.745,
      "stop": 4899.261,
      "target": 4930.712,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 22.39,
        "bb_width_pct": 1.196
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T09-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T09:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4909.745,
      "stop": 4902.757,
      "target": 4923.72,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.39,
        "bb_width_pct": 1.196
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T09-30-00Z_long_vwap_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4911.52,
      "stop": 4900.677,
      "target": 4933.207,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.53,
        "bb_width_pct": 1.102
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T09-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4911.52,
      "stop": 4902.403,
      "target": 4929.755,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.53,
        "bb_width_pct": 1.102
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T09-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4911.52,
      "stop": 4906.778,
      "target": 4921.004,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.53,
        "bb_width_pct": 1.102
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T09-35-00Z_long_vwap_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4912.315,
      "stop": 4902.218,
      "target": 4932.508,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.51,
        "bb_width_pct": 1.03
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T09-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4912.315,
      "stop": 4903.595,
      "target": 4929.755,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.51,
        "bb_width_pct": 1.03
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T09-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4912.315,
      "stop": 4908.384,
      "target": 4920.177,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.51,
        "bb_width_pct": 1.03
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T09-40-00Z_long_vwap_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T09:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4916.83,
      "stop": 4909.249,
      "target": 4931.992,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.12,
        "bb_width_pct": 0.906
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T09-45-00Z_long_vwap_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T09:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4919.315,
      "stop": 4913.184,
      "target": 4931.577,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.37,
        "bb_width_pct": 0.74
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T09-50-00Z_long_vwap_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T09:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4919.62,
      "stop": 4913.813,
      "target": 4931.235,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.51,
        "bb_width_pct": 0.585
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T10-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T10:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4929.525,
      "stop": 4933.462,
      "target": 4921.651,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 23.74,
        "bb_width_pct": 0.502
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T10-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T10:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4927.1,
      "stop": 4932.112,
      "target": 4917.076,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 26.98,
        "bb_width_pct": 0.534
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T10-30-00Z_short_rsi_range_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T10:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4927.1,
      "stop": 4932.112,
      "target": 4917.076,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 26.98,
        "bb_width_pct": 0.534
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T10-45-00Z_short_rsi_range_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T10:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4926.985,
      "stop": 4930.918,
      "target": 4919.119,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 16.22,
        "bb_width_pct": 0.603
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T10-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T10:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4928.26,
      "stop": 4930.358,
      "target": 4924.064,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.73,
        "bb_width_pct": 0.608
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T11-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T11:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4920.61,
      "stop": 4919.036,
      "target": 4923.759,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.62,
        "bb_width_pct": 0.444
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T11-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T11:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4917.245,
      "stop": 4914.394,
      "target": 4922.946,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.86,
        "bb_width_pct": 0.369
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T11-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T11:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4917.245,
      "stop": 4914.521,
      "target": 4922.693,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.86,
        "bb_width_pct": 0.369
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T11-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T11:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4919.6,
      "stop": 4917.858,
      "target": 4923.085,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.71,
        "bb_width_pct": 0.356
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T11-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T11:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4919.6,
      "stop": 4918.201,
      "target": 4922.399,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.71,
        "bb_width_pct": 0.356
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T12-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T12:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4931.485,
      "stop": 4934.647,
      "target": 4925.161,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.24,
        "bb_width_pct": 0.403
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T12-15-00Z_short_rsi_range_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T12:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4931.485,
      "stop": 4934.647,
      "target": 4925.161,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 19.24,
        "bb_width_pct": 0.403
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T12-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T12:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4931.485,
      "stop": 4938.672,
      "target": 4917.11,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 19.24,
        "bb_width_pct": 0.403
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T12-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T12:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4931.485,
      "stop": 4934.151,
      "target": 4926.154,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.24,
        "bb_width_pct": 0.403
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T12-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T12:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4934.085,
      "stop": 4937.673,
      "target": 4926.909,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 24.95,
        "bb_width_pct": 0.43
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T12-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T12:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4934.23,
      "stop": 4937.542,
      "target": 4927.606,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.95,
        "bb_width_pct": 0.457
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T12-40-00Z_short_rsi_range_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T12:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4936.25,
      "stop": 4940.684,
      "target": 4927.382,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 19.58,
        "bb_width_pct": 0.526
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T12-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T12:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4936.25,
      "stop": 4944.894,
      "target": 4918.962,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 19.58,
        "bb_width_pct": 0.526
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T12-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T12:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4936.25,
      "stop": 4939.457,
      "target": 4929.836,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.58,
        "bb_width_pct": 0.526
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T12-55-00Z_short_rsi_range_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T12:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4939.42,
      "stop": 4943.856,
      "target": 4930.548,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 22.86,
        "bb_width_pct": 0.541
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T12-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T12:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4939.42,
      "stop": 4945.526,
      "target": 4927.208,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 22.86,
        "bb_width_pct": 0.541
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T12-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T12:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4939.42,
      "stop": 4942.902,
      "target": 4932.457,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.86,
        "bb_width_pct": 0.541
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T13-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T13:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4941.125,
      "stop": 4945.307,
      "target": 4932.76,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.73,
        "bb_width_pct": 0.532
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T13-05-00Z_short_rsi_range_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T13:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4941.125,
      "stop": 4945.307,
      "target": 4932.76,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 13.73,
        "bb_width_pct": 0.532
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T13-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T13:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4941.125,
      "stop": 4947.434,
      "target": 4928.507,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.73,
        "bb_width_pct": 0.532
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T13-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T13:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4941.125,
      "stop": 4944.565,
      "target": 4934.246,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.73,
        "bb_width_pct": 0.532
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T13-10-00Z_short_rsi_range_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T13:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4940.385,
      "stop": 4943.782,
      "target": 4933.592,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 9.26,
        "bb_width_pct": 0.521
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T13-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T13:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4928.06,
      "stop": 4924.913,
      "target": 4934.354,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.11,
        "bb_width_pct": 0.463
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T13-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4930.3,
      "stop": 4927.602,
      "target": 4935.696,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.32,
        "bb_width_pct": 0.334
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T14-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T14:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4944.62,
      "stop": 4947.998,
      "target": 4937.863,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.43,
        "bb_width_pct": 0.363
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T14-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T14:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4944.62,
      "stop": 4948.385,
      "target": 4937.09,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.43,
        "bb_width_pct": 0.363
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T14-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T14:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4942.455,
      "stop": 4948.664,
      "target": 4930.038,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.07,
        "bb_width_pct": 0.371
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T14-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T14:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4940.62,
      "stop": 4945.911,
      "target": 4930.038,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.81,
        "bb_width_pct": 0.372
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T14-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T14:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4939.995,
      "stop": 4944.974,
      "target": 4930.038,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.15,
        "bb_width_pct": 0.373
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T14-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T14:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4944.75,
      "stop": 4947.745,
      "target": 4938.76,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.96,
        "bb_width_pct": 0.393
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T14-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T14:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4944.75,
      "stop": 4947.553,
      "target": 4939.144,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.96,
        "bb_width_pct": 0.393
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T14-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T14:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4947.16,
      "stop": 4951.272,
      "target": 4938.936,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.81,
        "bb_width_pct": 0.412
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T14-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T14:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4953.335,
      "stop": 4959.895,
      "target": 4940.216,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.88,
        "bb_width_pct": 0.545
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T14-50-00Z_short_rsi_range_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T14:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4953.335,
      "stop": 4959.895,
      "target": 4940.216,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 17.88,
        "bb_width_pct": 0.545
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T14-50-00Z_short_vwap_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T14:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4953.335,
      "stop": 4960.78,
      "target": 4938.445,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 17.88,
        "bb_width_pct": 0.545
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T14-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T14:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4953.335,
      "stop": 4961.417,
      "target": 4937.17,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.88,
        "bb_width_pct": 0.545
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T14-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T14:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4943.76,
      "stop": 4945.358,
      "target": 4940.564,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.29,
        "bb_width_pct": 0.544
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T14-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T14:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4943.76,
      "stop": 4946.856,
      "target": 4937.568,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.29,
        "bb_width_pct": 0.544
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T14-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T14:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4943.76,
      "stop": 4944.384,
      "target": 4942.512,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.29,
        "bb_width_pct": 0.544
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T15-10-00Z_short_vwap_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T15:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4952.895,
      "stop": 4959.524,
      "target": 4939.637,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 9.92,
        "bb_width_pct": 0.545
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T15-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T15:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4952.895,
      "stop": 4960.559,
      "target": 4937.568,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.92,
        "bb_width_pct": 0.545
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T15-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T15:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4949.015,
      "stop": 4954.739,
      "target": 4937.568,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.01,
        "bb_width_pct": 0.491
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T15-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T15:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4959.17,
      "stop": 4964.782,
      "target": 4947.946,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.7,
        "bb_width_pct": 0.438
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T15-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T15:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4960.57,
      "stop": 4966.462,
      "target": 4948.785,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.14,
        "bb_width_pct": 0.48
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T15-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T15:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4960.57,
      "stop": 4966.281,
      "target": 4949.148,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.14,
        "bb_width_pct": 0.48
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T15-50-00Z_short_vwap_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T15:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4957.435,
      "stop": 4965.286,
      "target": 4941.732,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.24,
        "bb_width_pct": 0.497
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T15-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T15:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4957.435,
      "stop": 4964.341,
      "target": 4943.623,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.24,
        "bb_width_pct": 0.497
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T16-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4964.375,
      "stop": 4970.801,
      "target": 4951.523,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.54,
        "bb_width_pct": 0.539
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T16-10-00Z_short_rsi_range_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T16:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4971.22,
      "stop": 4979.517,
      "target": 4954.626,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 14.5,
        "bb_width_pct": 0.67
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T16-10-00Z_short_vwap_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T16:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4971.22,
      "stop": 4985.005,
      "target": 4943.65,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.5,
        "bb_width_pct": 0.67
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T16-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T16:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4971.22,
      "stop": 4982.312,
      "target": 4949.035,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.5,
        "bb_width_pct": 0.67
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T16-45-00Z_short_rsi_range_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4978.425,
      "stop": 4984.767,
      "target": 4965.741,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 18.49,
        "bb_width_pct": 1.098
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T16-45-00Z_short_vwap_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4978.425,
      "stop": 4993.553,
      "target": 4948.169,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 18.49,
        "bb_width_pct": 1.098
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T16-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4978.425,
      "stop": 4988.669,
      "target": 4957.938,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.49,
        "bb_width_pct": 1.098
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T16-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4978.425,
      "stop": 4983.241,
      "target": 4968.793,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.49,
        "bb_width_pct": 1.098
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T16-55-00Z_short_rsi_range_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4980.43,
      "stop": 4986.28,
      "target": 4968.73,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 23.12,
        "bb_width_pct": 1.073
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T16-55-00Z_short_vwap_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4980.43,
      "stop": 4996.02,
      "target": 4949.251,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 23.12,
        "bb_width_pct": 1.073
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T16-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4980.43,
      "stop": 4991.408,
      "target": 4958.475,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 23.12,
        "bb_width_pct": 1.073
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T16-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4980.43,
      "stop": 4985.157,
      "target": 4970.976,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 23.12,
        "bb_width_pct": 1.073
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T17-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T17:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4983.66,
      "stop": 4995.157,
      "target": 4960.665,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.98,
        "bb_width_pct": 0.718
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T17-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T17:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4983.66,
      "stop": 4987.394,
      "target": 4976.192,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.98,
        "bb_width_pct": 0.718
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T17-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T17:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4983.05,
      "stop": 4994.243,
      "target": 4960.665,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.96,
        "bb_width_pct": 0.656
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T17-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T17:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4983.05,
      "stop": 4986.152,
      "target": 4976.845,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.96,
        "bb_width_pct": 0.656
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T17-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T17:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4984.205,
      "stop": 4987.534,
      "target": 4977.546,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.77,
        "bb_width_pct": 0.54
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T17-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T17:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4983.165,
      "stop": 4994.415,
      "target": 4960.665,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.12,
        "bb_width_pct": 0.301
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T17-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T17:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4983.165,
      "stop": 4985.312,
      "target": 4978.871,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.12,
        "bb_width_pct": 0.301
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T17-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T17:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4970.815,
      "stop": 4974.511,
      "target": 4963.422,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.11,
        "bb_width_pct": 0.27
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T18-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T18:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4978.9,
      "stop": 4977.605,
      "target": 4981.491,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.78,
        "bb_width_pct": 0.394
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T18-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T18:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4979.81,
      "stop": 4988.004,
      "target": 4963.422,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.45,
        "bb_width_pct": 0.398
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T18-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T18:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4978.635,
      "stop": 4985.225,
      "target": 4965.455,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.54,
        "bb_width_pct": 0.396
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T18-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T18:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4968.535,
      "stop": 4964.298,
      "target": 4977.009,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.7,
        "bb_width_pct": 0.626
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T18-50-00Z_long_vwap_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T18:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4968.535,
      "stop": 4963.742,
      "target": 4978.122,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.7,
        "bb_width_pct": 0.626
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T18-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T18:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4968.535,
      "stop": 4965.898,
      "target": 4973.809,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.7,
        "bb_width_pct": 0.626
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T19-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T19:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4984.14,
      "stop": 4988.512,
      "target": 4975.397,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.1,
        "bb_width_pct": 0.544
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T19-55-00Z_short_rsi_range_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T19:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4984.14,
      "stop": 4988.512,
      "target": 4975.397,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 20.1,
        "bb_width_pct": 0.544
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T19-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T19:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4984.14,
      "stop": 4989.154,
      "target": 4974.113,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 20.1,
        "bb_width_pct": 0.544
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T19-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T19:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4984.14,
      "stop": 4987.301,
      "target": 4977.818,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.1,
        "bb_width_pct": 0.544
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T20-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T20:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4980.935,
      "stop": 4984.346,
      "target": 4974.113,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.57,
        "bb_width_pct": 0.543
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T20-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T20:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4980.995,
      "stop": 4984.436,
      "target": 4974.113,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.99,
        "bb_width_pct": 0.553
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T21-05-00Z_short_vwap_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T21:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4982.58,
      "stop": 5009.817,
      "target": 4928.105,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.3,
        "bb_width_pct": 0.227
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T21-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T21:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4982.58,
      "stop": 4986.814,
      "target": 4974.113,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.3,
        "bb_width_pct": 0.227
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T21-10-00Z_short_vwap_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T21:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4981.485,
      "stop": 5007.174,
      "target": 4930.107,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.42,
        "bb_width_pct": 0.212
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T21-15-00Z_short_vwap_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T21:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4979.215,
      "stop": 5002.874,
      "target": 4931.896,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.49,
        "bb_width_pct": 0.184
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T21-25-00Z_short_vwap_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T21:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4981.88,
      "stop": 5005.215,
      "target": 4935.209,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.16,
        "bb_width_pct": 0.175
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T21-30-00Z_short_vwap_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T21:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4981.61,
      "stop": 5004.058,
      "target": 4936.714,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 1.28,
        "bb_width_pct": 0.121
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-23T21-40-00Z_short_vwap_mean_reversion",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T21:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4982.435,
      "stop": 5003.916,
      "target": 4939.474,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.6,
        "bb_width_pct": 0.115
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-26T12-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-26",
      "timestamp": "2026-01-26T12:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5078.995,
      "stop": 5100.281,
      "target": 5036.423,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.23,
        "bb_width_pct": 0.328
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-26T12-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-26",
      "timestamp": "2026-01-26T12:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5078.995,
      "stop": 5080.716,
      "target": 5075.552,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.23,
        "bb_width_pct": 0.328
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-26T13-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-26",
      "timestamp": "2026-01-26T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5074.5,
      "stop": 5093.219,
      "target": 5037.062,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 19.91,
        "bb_width_pct": 0.403
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-26T13-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-26",
      "timestamp": "2026-01-26T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5074.5,
      "stop": 5074.024,
      "target": 5075.452,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.91,
        "bb_width_pct": 0.403
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-26T13-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-26",
      "timestamp": "2026-01-26T13:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5077.615,
      "stop": 5072.664,
      "target": 5087.517,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.82,
        "bb_width_pct": 0.441
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-26T13-05-00Z_long_vwap_mean_reversion",
      "date": "2026-01-26",
      "timestamp": "2026-01-26T13:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5077.615,
      "stop": 5073.345,
      "target": 5086.155,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.82,
        "bb_width_pct": 0.441
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-26T13-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-26",
      "timestamp": "2026-01-26T13:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5076.81,
      "stop": 5096.394,
      "target": 5037.642,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.59,
        "bb_width_pct": 0.482
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-26T13-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-26",
      "timestamp": "2026-01-26T13:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5072.165,
      "stop": 5065.98,
      "target": 5084.535,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.98,
        "bb_width_pct": 0.592
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-26T13-25-00Z_long_vwap_mean_reversion",
      "date": "2026-01-26",
      "timestamp": "2026-01-26T13:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5072.165,
      "stop": 5066.365,
      "target": 5083.765,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.98,
        "bb_width_pct": 0.592
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-26T13-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-26",
      "timestamp": "2026-01-26T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5063.425,
      "stop": 5058.097,
      "target": 5074.082,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.68,
        "bb_width_pct": 0.679
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-26T13-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-26",
      "timestamp": "2026-01-26T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5064.835,
      "stop": 5056.359,
      "target": 5081.787,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.9,
        "bb_width_pct": 0.729
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-26T13-35-00Z_long_rsi_range_reversion",
      "date": "2026-01-26",
      "timestamp": "2026-01-26T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5064.835,
      "stop": 5056.359,
      "target": 5081.787,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.9,
        "bb_width_pct": 0.729
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-26T13-35-00Z_long_vwap_mean_reversion",
      "date": "2026-01-26",
      "timestamp": "2026-01-26T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5064.835,
      "stop": 5056.377,
      "target": 5081.75,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.9,
        "bb_width_pct": 0.729
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-26T13-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-26",
      "timestamp": "2026-01-26T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5064.835,
      "stop": 5060.652,
      "target": 5073.201,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.9,
        "bb_width_pct": 0.729
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-26T13-40-00Z_long_vwap_mean_reversion",
      "date": "2026-01-26",
      "timestamp": "2026-01-26T13:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5071.26,
      "stop": 5066.306,
      "target": 5081.169,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.68,
        "bb_width_pct": 0.717
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-26T14-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-26",
      "timestamp": "2026-01-26T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5065.31,
      "stop": 5059.843,
      "target": 5076.245,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.75,
        "bb_width_pct": 0.605
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-26T14-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-26",
      "timestamp": "2026-01-26T14:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5082.105,
      "stop": 5086.122,
      "target": 5074.07,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.19,
        "bb_width_pct": 0.527
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-26T14-40-00Z_short_rsi_range_reversion",
      "date": "2026-01-26",
      "timestamp": "2026-01-26T14:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5082.105,
      "stop": 5086.122,
      "target": 5074.07,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 15.19,
        "bb_width_pct": 0.527
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-26T14-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-26",
      "timestamp": "2026-01-26T14:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5082.105,
      "stop": 5085.215,
      "target": 5075.885,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.19,
        "bb_width_pct": 0.527
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-26T14-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-26",
      "timestamp": "2026-01-26T14:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5082.105,
      "stop": 5085.106,
      "target": 5076.103,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.19,
        "bb_width_pct": 0.527
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-26T15-00-00Z_short_vwap_mean_reversion",
      "date": "2026-01-26",
      "timestamp": "2026-01-26T15:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5092.25,
      "stop": 5098.335,
      "target": 5080.079,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 19.16,
        "bb_width_pct": 0.785
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-26T15-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-26",
      "timestamp": "2026-01-26T15:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5092.25,
      "stop": 5100.432,
      "target": 5075.885,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 19.16,
        "bb_width_pct": 0.785
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-26T15-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-26",
      "timestamp": "2026-01-26T15:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5092.25,
      "stop": 5097.584,
      "target": 5081.581,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.16,
        "bb_width_pct": 0.785
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-26T15-05-00Z_short_rsi_range_reversion",
      "date": "2026-01-26",
      "timestamp": "2026-01-26T15:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5091.62,
      "stop": 5098.254,
      "target": 5078.352,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 21.88,
        "bb_width_pct": 0.816
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-26T15-05-00Z_short_vwap_mean_reversion",
      "date": "2026-01-26",
      "timestamp": "2026-01-26T15:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5091.62,
      "stop": 5097.234,
      "target": 5080.391,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 21.88,
        "bb_width_pct": 0.816
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-26T15-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-26",
      "timestamp": "2026-01-26T15:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5091.62,
      "stop": 5099.487,
      "target": 5075.885,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 21.88,
        "bb_width_pct": 0.816
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-26T15-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-26",
      "timestamp": "2026-01-26T15:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5095.53,
      "stop": 5101.408,
      "target": 5083.775,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 23.32,
        "bb_width_pct": 0.819
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-26T15-15-00Z_short_rsi_range_reversion",
      "date": "2026-01-26",
      "timestamp": "2026-01-26T15:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5089.21,
      "stop": 5093.227,
      "target": 5081.176,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 14.88,
        "bb_width_pct": 0.786
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-26T15-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-26",
      "timestamp": "2026-01-26T15:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5089.21,
      "stop": 5095.782,
      "target": 5076.065,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.88,
        "bb_width_pct": 0.786
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-26T15-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-26",
      "timestamp": "2026-01-26T15:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5090.195,
      "stop": 5097.26,
      "target": 5076.065,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.24,
        "bb_width_pct": 0.771
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-26T15-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-26",
      "timestamp": "2026-01-26T15:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5077.94,
      "stop": 5078.877,
      "target": 5076.065,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.4,
        "bb_width_pct": 0.761
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-26T16-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-26",
      "timestamp": "2026-01-26T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5100.42,
      "stop": 5106.468,
      "target": 5088.324,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.3,
        "bb_width_pct": 0.476
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-26T16-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-26",
      "timestamp": "2026-01-26T16:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5100.295,
      "stop": 5105.735,
      "target": 5089.416,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.28,
        "bb_width_pct": 0.483
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-26T16-05-00Z_short_vwap_mean_reversion",
      "date": "2026-01-26",
      "timestamp": "2026-01-26T16:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5100.295,
      "stop": 5109.185,
      "target": 5082.515,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.28,
        "bb_width_pct": 0.483
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-26T16-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-26",
      "timestamp": "2026-01-26T16:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5100.295,
      "stop": 5111.051,
      "target": 5078.783,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.28,
        "bb_width_pct": 0.483
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-26T16-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-26",
      "timestamp": "2026-01-26T16:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5100.295,
      "stop": 5106.512,
      "target": 5087.862,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.28,
        "bb_width_pct": 0.483
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-26T16-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-26",
      "timestamp": "2026-01-26T16:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5101.855,
      "stop": 5108.185,
      "target": 5089.194,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.33,
        "bb_width_pct": 0.521
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-26T16-15-00Z_short_vwap_mean_reversion",
      "date": "2026-01-26",
      "timestamp": "2026-01-26T16:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5097.405,
      "stop": 5104.521,
      "target": 5083.172,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 1.48,
        "bb_width_pct": 0.535
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-26T16-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-26",
      "timestamp": "2026-01-26T16:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5097.405,
      "stop": 5106.105,
      "target": 5080.005,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.48,
        "bb_width_pct": 0.535
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-26T16-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-26",
      "timestamp": "2026-01-26T16:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5097.405,
      "stop": 5101.119,
      "target": 5089.976,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.48,
        "bb_width_pct": 0.535
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-26T16-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-26",
      "timestamp": "2026-01-26T16:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5093.975,
      "stop": 5100.96,
      "target": 5080.005,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.7,
        "bb_width_pct": 0.514
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-26T16-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-26",
      "timestamp": "2026-01-26T16:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5075.83,
      "stop": 5069.258,
      "target": 5088.974,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.08,
        "bb_width_pct": 0.578
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-26T16-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-26",
      "timestamp": "2026-01-26T16:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5075.315,
      "stop": 5068.119,
      "target": 5089.707,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.99,
        "bb_width_pct": 0.633
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-26T16-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-26",
      "timestamp": "2026-01-26T16:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5075.315,
      "stop": 5069.136,
      "target": 5087.673,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.99,
        "bb_width_pct": 0.633
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-26T16-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-26",
      "timestamp": "2026-01-26T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5069.43,
      "stop": 5061.177,
      "target": 5085.935,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.37,
        "bb_width_pct": 0.71
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-26T16-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-26",
      "timestamp": "2026-01-26T16:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5077.45,
      "stop": 5072.36,
      "target": 5087.63,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.18,
        "bb_width_pct": 0.73
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-26T17-45-00Z_short_rsi_range_reversion",
      "date": "2026-01-26",
      "timestamp": "2026-01-26T17:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5100.965,
      "stop": 5106.818,
      "target": 5089.259,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 18.97,
        "bb_width_pct": 0.707
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-26T17-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-26",
      "timestamp": "2026-01-26T17:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5100.965,
      "stop": 5108.766,
      "target": 5085.363,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.97,
        "bb_width_pct": 0.707
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-26T17-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-26",
      "timestamp": "2026-01-26T17:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5100.965,
      "stop": 5105.984,
      "target": 5090.928,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.97,
        "bb_width_pct": 0.707
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-26T17-50-00Z_short_rsi_range_reversion",
      "date": "2026-01-26",
      "timestamp": "2026-01-26T17:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5099.95,
      "stop": 5105.343,
      "target": 5089.164,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 14.08,
        "bb_width_pct": 0.698
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-26T17-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-26",
      "timestamp": "2026-01-26T17:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5099.95,
      "stop": 5107.244,
      "target": 5085.363,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.08,
        "bb_width_pct": 0.698
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-26T18-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-26",
      "timestamp": "2026-01-26T18:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5100.61,
      "stop": 5108.234,
      "target": 5085.363,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.25,
        "bb_width_pct": 0.736
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-26T18-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-26",
      "timestamp": "2026-01-26T18:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5086.65,
      "stop": 5087.294,
      "target": 5085.363,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.58,
        "bb_width_pct": 0.696
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-26T18-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-26",
      "timestamp": "2026-01-26T18:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5086.855,
      "stop": 5084.658,
      "target": 5091.248,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.9,
        "bb_width_pct": 0.568
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-26T18-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-26",
      "timestamp": "2026-01-26T18:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5086.855,
      "stop": 5084.792,
      "target": 5090.98,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.9,
        "bb_width_pct": 0.568
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-26T18-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-26",
      "timestamp": "2026-01-26T18:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5078.58,
      "stop": 5073.877,
      "target": 5087.987,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.96,
        "bb_width_pct": 0.841
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-26T18-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-26",
      "timestamp": "2026-01-26T18:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5078.58,
      "stop": 5077.051,
      "target": 5081.638,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 16.96,
        "bb_width_pct": 0.841
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-26T18-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-26",
      "timestamp": "2026-01-26T18:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5078.58,
      "stop": 5075.815,
      "target": 5084.11,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.96,
        "bb_width_pct": 0.841
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-26T20-30-00Z_short_rsi_range_reversion",
      "date": "2026-01-26",
      "timestamp": "2026-01-26T20:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5055.375,
      "stop": 5061.891,
      "target": 5042.343,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 13.88,
        "bb_width_pct": 1.109
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-26T20-40-00Z_long_vwap_mean_reversion",
      "date": "2026-01-26",
      "timestamp": "2026-01-26T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5046.825,
      "stop": 5037.378,
      "target": 5065.719,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.49,
        "bb_width_pct": 0.999
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-26T20-45-00Z_long_vwap_mean_reversion",
      "date": "2026-01-26",
      "timestamp": "2026-01-26T20:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5047.95,
      "stop": 5039.261,
      "target": 5065.328,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.06,
        "bb_width_pct": 0.964
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-26T20-55-00Z_short_rsi_range_reversion",
      "date": "2026-01-26",
      "timestamp": "2026-01-26T20:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5055.11,
      "stop": 5062.134,
      "target": 5041.062,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 22.29,
        "bb_width_pct": 0.974
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-26T21-00-00Z_long_vwap_mean_reversion",
      "date": "2026-01-26",
      "timestamp": "2026-01-26T21:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5058.84,
      "stop": 5045.71,
      "target": 5085.1,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.5,
        "bb_width_pct": 0.955
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-26T21-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-26",
      "timestamp": "2026-01-26T21:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5032.035,
      "stop": 5024.614,
      "target": 5046.876,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.73,
        "bb_width_pct": 0.947
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-26T21-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-26",
      "timestamp": "2026-01-26T21:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5020.55,
      "stop": 5009.615,
      "target": 5042.42,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.74,
        "bb_width_pct": 1.015
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T00-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T00:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5033.115,
      "stop": 5027.558,
      "target": 5044.229,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.1,
        "bb_width_pct": 0.733
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T00-55-00Z_long_rsi_range_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T00:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5033.115,
      "stop": 5027.558,
      "target": 5044.229,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.1,
        "bb_width_pct": 0.733
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T00-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T00:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5033.115,
      "stop": 5030.167,
      "target": 5039.01,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.1,
        "bb_width_pct": 0.733
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T01-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5034.375,
      "stop": 5029.732,
      "target": 5043.661,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.46,
        "bb_width_pct": 0.752
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T01-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5034.375,
      "stop": 5032.278,
      "target": 5038.569,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.46,
        "bb_width_pct": 0.752
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T01-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T01:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5064.735,
      "stop": 5074.183,
      "target": 5045.839,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.09,
        "bb_width_pct": 0.948
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T01-15-00Z_short_vwap_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T01:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5064.735,
      "stop": 5075.222,
      "target": 5043.761,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.09,
        "bb_width_pct": 0.948
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T01-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T01:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5064.735,
      "stop": 5081.706,
      "target": 5030.792,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.09,
        "bb_width_pct": 0.948
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T01-25-00Z_short_vwap_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T01:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5066.695,
      "stop": 5076.856,
      "target": 5046.374,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.54,
        "bb_width_pct": 1.058
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T01-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T01:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5066.695,
      "stop": 5083.454,
      "target": 5033.177,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.54,
        "bb_width_pct": 1.058
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T01-30-00Z_short_vwap_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5063.27,
      "stop": 5071.233,
      "target": 5047.344,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.35,
        "bb_width_pct": 1.095
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T01-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5063.27,
      "stop": 5078.316,
      "target": 5033.177,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.35,
        "bb_width_pct": 1.095
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T01-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5063.27,
      "stop": 5069.789,
      "target": 5050.232,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.35,
        "bb_width_pct": 1.095
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T01-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T01:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5060.18,
      "stop": 5073.681,
      "target": 5033.177,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.54,
        "bb_width_pct": 1.112
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T01-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T01:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5060.18,
      "stop": 5064.68,
      "target": 5051.179,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.54,
        "bb_width_pct": 1.112
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T01-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T01:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5062.435,
      "stop": 5077.064,
      "target": 5033.177,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.08,
        "bb_width_pct": 1.166
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T02-25-00Z_short_vwap_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T02:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5068.05,
      "stop": 5075.517,
      "target": 5053.115,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.7,
        "bb_width_pct": 1.023
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T02-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T02:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5068.05,
      "stop": 5079.571,
      "target": 5045.007,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.7,
        "bb_width_pct": 1.023
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T02-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5070.76,
      "stop": 5075.801,
      "target": 5060.678,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.6,
        "bb_width_pct": 0.816
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T02-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5077.11,
      "stop": 5082.246,
      "target": 5066.839,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.38,
        "bb_width_pct": 0.426
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T02-45-00Z_short_rsi_range_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5077.11,
      "stop": 5082.246,
      "target": 5066.839,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 12.38,
        "bb_width_pct": 0.426
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T02-45-00Z_short_vwap_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5077.11,
      "stop": 5087.851,
      "target": 5055.629,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.38,
        "bb_width_pct": 0.426
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T02-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5077.11,
      "stop": 5092.244,
      "target": 5046.843,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.38,
        "bb_width_pct": 0.426
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T02-50-00Z_short_vwap_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T02:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5065.935,
      "stop": 5070.885,
      "target": 5056.035,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.22,
        "bb_width_pct": 0.418
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T02-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T02:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5065.935,
      "stop": 5075.481,
      "target": 5046.843,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.22,
        "bb_width_pct": 0.418
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T02-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T02:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5065.935,
      "stop": 5066.4,
      "target": 5065.005,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.22,
        "bb_width_pct": 0.418
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T03-00-00Z_short_vwap_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5066.45,
      "stop": 5071.284,
      "target": 5056.781,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.67,
        "bb_width_pct": 0.428
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T03-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5066.45,
      "stop": 5076.254,
      "target": 5046.843,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.67,
        "bb_width_pct": 0.428
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T03-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T03:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5065.985,
      "stop": 5075.556,
      "target": 5046.843,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.51,
        "bb_width_pct": 0.427
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T03-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5064.785,
      "stop": 5073.756,
      "target": 5046.843,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.39,
        "bb_width_pct": 0.399
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T03-50-00Z_short_vwap_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T03:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5074.815,
      "stop": 5082.401,
      "target": 5059.642,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.37,
        "bb_width_pct": 0.344
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T03-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T03:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5074.815,
      "stop": 5088.801,
      "target": 5046.843,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.37,
        "bb_width_pct": 0.344
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T04-00-00Z_short_vwap_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T04:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5076.38,
      "stop": 5084.402,
      "target": 5060.336,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.18,
        "bb_width_pct": 0.345
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T04-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T04:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5076.38,
      "stop": 5091.149,
      "target": 5046.843,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.18,
        "bb_width_pct": 0.345
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T04-05-00Z_short_vwap_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5072.745,
      "stop": 5078.81,
      "target": 5060.614,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.4,
        "bb_width_pct": 0.339
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T04-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5072.745,
      "stop": 5085.696,
      "target": 5046.843,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.4,
        "bb_width_pct": 0.339
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T04-10-00Z_short_vwap_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T04:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5069.735,
      "stop": 5074.194,
      "target": 5060.817,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.57,
        "bb_width_pct": 0.341
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T04-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T04:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5069.735,
      "stop": 5079.949,
      "target": 5049.308,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.57,
        "bb_width_pct": 0.341
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T04-30-00Z_short_vwap_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T04:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5072.305,
      "stop": 5077.573,
      "target": 5061.768,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.49,
        "bb_width_pct": 0.292
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T04-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T04:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5072.305,
      "stop": 5076.109,
      "target": 5064.698,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.49,
        "bb_width_pct": 0.292
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T04-35-00Z_short_vwap_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5068.375,
      "stop": 5071.611,
      "target": 5061.904,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 1.53,
        "bb_width_pct": 0.298
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T04-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5066.775,
      "stop": 5064.311,
      "target": 5071.704,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.22,
        "bb_width_pct": 0.296
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T04-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5066.775,
      "stop": 5064.627,
      "target": 5071.071,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.22,
        "bb_width_pct": 0.296
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T04-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5065.295,
      "stop": 5062.213,
      "target": 5071.458,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.48,
        "bb_width_pct": 0.315
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T04-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5065.295,
      "stop": 5062.682,
      "target": 5070.521,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.48,
        "bb_width_pct": 0.315
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T04-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T04:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5067.61,
      "stop": 5065.645,
      "target": 5071.539,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.63,
        "bb_width_pct": 0.308
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T04-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T04:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5067.61,
      "stop": 5066.293,
      "target": 5070.244,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.63,
        "bb_width_pct": 0.308
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T05-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5061.885,
      "stop": 5058.209,
      "target": 5069.237,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.76,
        "bb_width_pct": 0.349
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T05-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5063.87,
      "stop": 5060.458,
      "target": 5070.694,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.71,
        "bb_width_pct": 0.396
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T05-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5063.87,
      "stop": 5061.828,
      "target": 5067.954,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.71,
        "bb_width_pct": 0.396
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T05-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5060.19,
      "stop": 5055.281,
      "target": 5070.008,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.29,
        "bb_width_pct": 0.43
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T05-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5060.19,
      "stop": 5056.678,
      "target": 5067.215,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.29,
        "bb_width_pct": 0.43
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T05-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5066.165,
      "stop": 5064.461,
      "target": 5069.573,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.13,
        "bb_width_pct": 0.426
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T05-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5066.165,
      "stop": 5064.996,
      "target": 5068.503,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.13,
        "bb_width_pct": 0.426
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T05-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5066.165,
      "stop": 5065.69,
      "target": 5067.115,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.13,
        "bb_width_pct": 0.426
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T05-35-00Z_short_vwap_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5070.54,
      "stop": 5074.581,
      "target": 5062.458,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.03,
        "bb_width_pct": 0.381
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T05-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5079.0,
      "stop": 5083.848,
      "target": 5069.303,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.91,
        "bb_width_pct": 0.452
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T05-50-00Z_short_vwap_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5079.0,
      "stop": 5086.95,
      "target": 5063.1,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.91,
        "bb_width_pct": 0.452
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T05-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5079.0,
      "stop": 5083.609,
      "target": 5069.782,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.91,
        "bb_width_pct": 0.452
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T05-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5079.0,
      "stop": 5083.29,
      "target": 5070.42,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.91,
        "bb_width_pct": 0.452
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T06-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5084.12,
      "stop": 5091.066,
      "target": 5070.228,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.86,
        "bb_width_pct": 0.557
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T06-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5082.35,
      "stop": 5088.228,
      "target": 5070.595,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.21,
        "bb_width_pct": 0.59
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T06-05-00Z_short_vwap_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5082.35,
      "stop": 5091.569,
      "target": 5063.913,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 22.21,
        "bb_width_pct": 0.59
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T06-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5082.35,
      "stop": 5087.409,
      "target": 5072.233,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 22.21,
        "bb_width_pct": 0.59
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T06-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5082.35,
      "stop": 5086.662,
      "target": 5073.726,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.21,
        "bb_width_pct": 0.59
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T06-15-00Z_short_rsi_range_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T06:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5081.275,
      "stop": 5086.007,
      "target": 5071.811,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 19.54,
        "bb_width_pct": 0.652
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T06-15-00Z_short_vwap_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T06:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5081.275,
      "stop": 5089.721,
      "target": 5064.382,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 19.54,
        "bb_width_pct": 0.652
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T06-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T06:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5081.275,
      "stop": 5085.796,
      "target": 5072.233,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 19.54,
        "bb_width_pct": 0.652
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T06-25-00Z_short_rsi_range_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T06:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5082.235,
      "stop": 5086.512,
      "target": 5073.681,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 18.03,
        "bb_width_pct": 0.7
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T06-25-00Z_short_vwap_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T06:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5082.235,
      "stop": 5090.905,
      "target": 5064.894,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 18.03,
        "bb_width_pct": 0.7
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T06-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T06:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5082.235,
      "stop": 5087.181,
      "target": 5072.342,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.03,
        "bb_width_pct": 0.7
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T06-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T06:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5082.235,
      "stop": 5084.855,
      "target": 5076.994,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.03,
        "bb_width_pct": 0.7
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T06-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T06:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5086.3,
      "stop": 5090.013,
      "target": 5078.875,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.79,
        "bb_width_pct": 0.694
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T06-50-00Z_short_rsi_range_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T06:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5089.04,
      "stop": 5093.987,
      "target": 5079.146,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 10.6,
        "bb_width_pct": 0.637
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T06-50-00Z_short_vwap_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T06:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5089.04,
      "stop": 5100.469,
      "target": 5066.182,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.6,
        "bb_width_pct": 0.637
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T06-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T06:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5089.04,
      "stop": 5095.846,
      "target": 5075.427,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.6,
        "bb_width_pct": 0.637
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T06-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T06:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5089.04,
      "stop": 5093.187,
      "target": 5080.746,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.6,
        "bb_width_pct": 0.637
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T06-55-00Z_short_vwap_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T06:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5085.785,
      "stop": 5095.472,
      "target": 5066.412,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.14,
        "bb_width_pct": 0.546
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T06-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T06:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5085.785,
      "stop": 5090.791,
      "target": 5075.773,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.14,
        "bb_width_pct": 0.546
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T07-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T07:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5093.47,
      "stop": 5098.774,
      "target": 5082.862,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.93,
        "bb_width_pct": 0.428
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T07-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T07:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5085.655,
      "stop": 5086.727,
      "target": 5083.511,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.7,
        "bb_width_pct": 0.389
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T07-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T07:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5085.655,
      "stop": 5090.536,
      "target": 5075.892,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.7,
        "bb_width_pct": 0.389
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T07-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T07:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5085.655,
      "stop": 5086.943,
      "target": 5083.08,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.7,
        "bb_width_pct": 0.389
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T07-35-00Z_short_rsi_range_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T07:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5096.125,
      "stop": 5100.766,
      "target": 5086.842,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 14.02,
        "bb_width_pct": 0.333
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T07-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T07:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5096.125,
      "stop": 5105.465,
      "target": 5077.445,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.02,
        "bb_width_pct": 0.333
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T07-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T07:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5096.125,
      "stop": 5101.006,
      "target": 5086.363,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.02,
        "bb_width_pct": 0.333
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T07-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T07:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5093.225,
      "stop": 5096.189,
      "target": 5087.297,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.65,
        "bb_width_pct": 0.346
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T07-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T07:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5093.225,
      "stop": 5100.591,
      "target": 5078.493,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.65,
        "bb_width_pct": 0.346
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T07-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T07:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5093.225,
      "stop": 5096.329,
      "target": 5087.017,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.65,
        "bb_width_pct": 0.346
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T07-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T07:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5092.125,
      "stop": 5094.294,
      "target": 5087.786,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.73,
        "bb_width_pct": 0.344
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T07-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T07:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5092.125,
      "stop": 5098.679,
      "target": 5079.017,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.73,
        "bb_width_pct": 0.344
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T08-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T08:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5084.145,
      "stop": 5082.012,
      "target": 5088.41,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.94,
        "bb_width_pct": 0.311
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T08-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T08:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5077.725,
      "stop": 5073.632,
      "target": 5085.911,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.52,
        "bb_width_pct": 0.346
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T08-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5076.365,
      "stop": 5072.046,
      "target": 5085.002,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.65,
        "bb_width_pct": 0.399
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T08-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5079.05,
      "stop": 5075.025,
      "target": 5087.101,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.0,
        "bb_width_pct": 0.424
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T08-35-00Z_long_vwap_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5079.05,
      "stop": 5075.027,
      "target": 5087.095,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.0,
        "bb_width_pct": 0.424
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T08-40-00Z_long_rsi_range_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T08:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5082.635,
      "stop": 5080.488,
      "target": 5086.929,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.37,
        "bb_width_pct": 0.43
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T08-45-00Z_long_rsi_range_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T08:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5083.895,
      "stop": 5082.617,
      "target": 5086.451,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.21,
        "bb_width_pct": 0.416
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T09-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5089.805,
      "stop": 5092.96,
      "target": 5083.496,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.51,
        "bb_width_pct": 0.272
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T09-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T09:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5087.915,
      "stop": 5089.904,
      "target": 5083.937,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.69,
        "bb_width_pct": 0.32
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T09-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T09:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5087.915,
      "stop": 5089.042,
      "target": 5085.66,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.69,
        "bb_width_pct": 0.32
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T10-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T10:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5094.305,
      "stop": 5098.614,
      "target": 5085.686,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.1,
        "bb_width_pct": 0.472
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T10-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T10:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5094.305,
      "stop": 5097.87,
      "target": 5087.175,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 21.1,
        "bb_width_pct": 0.472
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T10-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T10:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5094.305,
      "stop": 5097.196,
      "target": 5088.522,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.1,
        "bb_width_pct": 0.472
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T10-05-00Z_short_rsi_range_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T10:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5093.92,
      "stop": 5097.632,
      "target": 5086.496,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 18.78,
        "bb_width_pct": 0.469
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T10-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T10:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5096.505,
      "stop": 5099.884,
      "target": 5089.747,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.13,
        "bb_width_pct": 0.462
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T10-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T10:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5094.1,
      "stop": 5097.562,
      "target": 5087.175,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.92,
        "bb_width_pct": 0.448
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T10-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T10:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5094.1,
      "stop": 5096.069,
      "target": 5090.162,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.92,
        "bb_width_pct": 0.448
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T11-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T11:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5077.08,
      "stop": 5073.169,
      "target": 5084.902,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.06,
        "bb_width_pct": 0.361
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T11-55-00Z_long_vwap_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T11:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5077.08,
      "stop": 5072.286,
      "target": 5086.669,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.06,
        "bb_width_pct": 0.361
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T11-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T11:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5077.08,
      "stop": 5074.047,
      "target": 5083.145,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.06,
        "bb_width_pct": 0.361
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T11-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T11:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5077.08,
      "stop": 5073.576,
      "target": 5084.089,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.06,
        "bb_width_pct": 0.361
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T12-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5076.775,
      "stop": 5073.466,
      "target": 5083.392,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.29,
        "bb_width_pct": 0.375
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T12-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T12:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5076.545,
      "stop": 5073.904,
      "target": 5081.827,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.45,
        "bb_width_pct": 0.396
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T13-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T13:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5088.725,
      "stop": 5091.836,
      "target": 5082.504,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.35,
        "bb_width_pct": 0.412
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T13-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5079.21,
      "stop": 5077.261,
      "target": 5083.107,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.1,
        "bb_width_pct": 0.356
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T13-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T13:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5073.43,
      "stop": 5068.675,
      "target": 5082.94,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.44,
        "bb_width_pct": 0.378
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T13-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T13:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5073.43,
      "stop": 5068.892,
      "target": 5082.506,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.44,
        "bb_width_pct": 0.378
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T13-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5075.425,
      "stop": 5071.787,
      "target": 5082.701,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.38,
        "bb_width_pct": 0.397
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T13-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T13:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5080.87,
      "stop": 5079.965,
      "target": 5082.68,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.94,
        "bb_width_pct": 0.398
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T14-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5068.005,
      "stop": 5061.972,
      "target": 5080.072,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.06,
        "bb_width_pct": 0.46
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T14-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T14:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5069.85,
      "stop": 5063.875,
      "target": 5081.799,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.49,
        "bb_width_pct": 0.505
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T14-05-00Z_long_vwap_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T14:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5069.85,
      "stop": 5064.258,
      "target": 5081.035,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.49,
        "bb_width_pct": 0.505
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T14-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T14:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5069.85,
      "stop": 5064.829,
      "target": 5079.892,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.49,
        "bb_width_pct": 0.505
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T14-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T14:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5069.85,
      "stop": 5065.226,
      "target": 5079.098,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.49,
        "bb_width_pct": 0.505
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T14-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T14:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5060.18,
      "stop": 5051.565,
      "target": 5077.411,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.77,
        "bb_width_pct": 0.781
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T14-20-00Z_long_rsi_range_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T14:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5060.18,
      "stop": 5051.565,
      "target": 5077.411,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.77,
        "bb_width_pct": 0.781
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T14-20-00Z_long_vwap_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T14:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5060.18,
      "stop": 5050.898,
      "target": 5078.744,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.77,
        "bb_width_pct": 0.781
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T14-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T14:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5060.18,
      "stop": 5055.274,
      "target": 5069.993,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 20.77,
        "bb_width_pct": 0.781
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T14-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T14:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5060.18,
      "stop": 5053.389,
      "target": 5073.762,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.77,
        "bb_width_pct": 0.781
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T14-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T14:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5054.74,
      "stop": 5047.094,
      "target": 5070.032,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.25,
        "bb_width_pct": 0.716
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T15-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T15:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5062.97,
      "stop": 5060.019,
      "target": 5068.872,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.01,
        "bb_width_pct": 0.663
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T15-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T15:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5062.97,
      "stop": 5059.459,
      "target": 5069.993,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.01,
        "bb_width_pct": 0.663
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T15-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T15:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5062.97,
      "stop": 5060.119,
      "target": 5068.672,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.01,
        "bb_width_pct": 0.663
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T15-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T15:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5085.82,
      "stop": 5094.689,
      "target": 5068.083,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.71,
        "bb_width_pct": 0.732
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T15-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T15:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5084.48,
      "stop": 5091.724,
      "target": 5069.993,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.08,
        "bb_width_pct": 0.768
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T16-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5085.96,
      "stop": 5093.944,
      "target": 5069.993,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 20.74,
        "bb_width_pct": 0.822
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T16-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T16:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5095.115,
      "stop": 5104.998,
      "target": 5075.35,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 23.34,
        "bb_width_pct": 0.909
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T16-20-00Z_short_rsi_range_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T16:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5094.04,
      "stop": 5102.218,
      "target": 5077.685,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 18.44,
        "bb_width_pct": 1.034
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T16-20-00Z_short_vwap_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T16:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5094.04,
      "stop": 5102.331,
      "target": 5077.458,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 18.44,
        "bb_width_pct": 1.034
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T16-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T16:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5094.04,
      "stop": 5104.085,
      "target": 5073.95,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.44,
        "bb_width_pct": 1.034
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T16-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T16:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5094.04,
      "stop": 5099.663,
      "target": 5082.794,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.44,
        "bb_width_pct": 1.034
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T16-30-00Z_short_vwap_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T16:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5092.64,
      "stop": 5099.895,
      "target": 5078.13,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 21.28,
        "bb_width_pct": 1.049
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T16-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T16:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5092.64,
      "stop": 5101.411,
      "target": 5075.097,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 21.28,
        "bb_width_pct": 1.049
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T16-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T16:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5092.64,
      "stop": 5096.41,
      "target": 5085.1,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.28,
        "bb_width_pct": 1.049
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T16-35-00Z_short_vwap_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5092.04,
      "stop": 5098.871,
      "target": 5078.379,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.27,
        "bb_width_pct": 0.952
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T16-40-00Z_short_vwap_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T16:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5088.73,
      "stop": 5093.795,
      "target": 5078.601,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.15,
        "bb_width_pct": 0.886
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T16-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T16:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5088.73,
      "stop": 5095.546,
      "target": 5075.097,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.15,
        "bb_width_pct": 0.886
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T16-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T16:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5088.73,
      "stop": 5090.073,
      "target": 5086.044,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.15,
        "bb_width_pct": 0.886
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T17-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T17:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5082.865,
      "stop": 5079.529,
      "target": 5089.536,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.5,
        "bb_width_pct": 0.39
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T17-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T17:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5081.82,
      "stop": 5078.018,
      "target": 5089.423,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.66,
        "bb_width_pct": 0.385
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T17-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T17:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5078.82,
      "stop": 5073.82,
      "target": 5088.82,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.0,
        "bb_width_pct": 0.425
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T17-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T17:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5082.26,
      "stop": 5079.301,
      "target": 5088.178,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.9,
        "bb_width_pct": 0.423
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T18-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T18:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5081.73,
      "stop": 5079.681,
      "target": 5085.827,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.08,
        "bb_width_pct": 0.304
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T18-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5088.765,
      "stop": 5091.006,
      "target": 5084.283,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.47,
        "bb_width_pct": 0.24
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T18-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T18:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5090.125,
      "stop": 5092.979,
      "target": 5084.416,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.89,
        "bb_width_pct": 0.255
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T18-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T18:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5092.515,
      "stop": 5096.276,
      "target": 5084.993,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.34,
        "bb_width_pct": 0.303
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T18-50-00Z_short_rsi_range_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T18:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5092.515,
      "stop": 5096.276,
      "target": 5084.993,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 16.34,
        "bb_width_pct": 0.303
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T18-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T18:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5088.11,
      "stop": 5089.537,
      "target": 5085.255,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.97,
        "bb_width_pct": 0.304
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T18-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T18:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5088.11,
      "stop": 5088.826,
      "target": 5086.677,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.97,
        "bb_width_pct": 0.304
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T23-05-00Z_short_vwap_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5178.95,
      "stop": 5208.02,
      "target": 5120.811,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.72,
        "bb_width_pct": 1.046
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T23-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5178.95,
      "stop": 5200.535,
      "target": 5135.78,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.72,
        "bb_width_pct": 1.046
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T23-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5178.95,
      "stop": 5184.21,
      "target": 5168.43,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.72,
        "bb_width_pct": 1.046
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T23-10-00Z_short_vwap_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5170.78,
      "stop": 5195.104,
      "target": 5122.131,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.46,
        "bb_width_pct": 0.911
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T23-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5170.78,
      "stop": 5188.28,
      "target": 5135.78,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.46,
        "bb_width_pct": 0.911
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T23-15-00Z_short_vwap_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5166.635,
      "stop": 5188.314,
      "target": 5123.277,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.41,
        "bb_width_pct": 0.753
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T23-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T23:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5163.115,
      "stop": 5156.493,
      "target": 5176.36,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.65,
        "bb_width_pct": 0.528
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T23-20-00Z_short_vwap_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T23:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5163.115,
      "stop": 5182.541,
      "target": 5124.264,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.65,
        "bb_width_pct": 0.528
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T23-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T23:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5170.4,
      "stop": 5167.179,
      "target": 5176.842,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.03,
        "bb_width_pct": 0.464
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T23-30-00Z_short_vwap_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5165.795,
      "stop": 5185.541,
      "target": 5126.303,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.89,
        "bb_width_pct": 0.5
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T23-35-00Z_short_vwap_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5165.685,
      "stop": 5184.927,
      "target": 5127.201,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.8,
        "bb_width_pct": 0.531
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T23-40-00Z_short_vwap_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5164.35,
      "stop": 5182.494,
      "target": 5128.063,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.54,
        "bb_width_pct": 0.562
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T23-55-00Z_short_vwap_mean_reversion",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T23:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5172.315,
      "stop": 5193.084,
      "target": 5130.777,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.1,
        "bb_width_pct": 0.554
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-27T23-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T23:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5172.315,
      "stop": 5188.352,
      "target": 5140.24,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.1,
        "bb_width_pct": 0.554
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T00-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T00:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5167.3,
      "stop": 5164.389,
      "target": 5173.122,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.1,
        "bb_width_pct": 0.611
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T00-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T00:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5172.025,
      "stop": 5174.135,
      "target": 5167.804,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.62,
        "bb_width_pct": 0.328
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T00-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T00:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5172.025,
      "stop": 5173.661,
      "target": 5168.753,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.62,
        "bb_width_pct": 0.328
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T01-10-00Z_short_rsi_range_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T01:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5191.18,
      "stop": 5200.988,
      "target": 5171.564,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 19.31,
        "bb_width_pct": 0.731
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T01-10-00Z_short_vwap_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T01:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5191.18,
      "stop": 5201.096,
      "target": 5171.349,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 19.31,
        "bb_width_pct": 0.731
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T01-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T01:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5191.18,
      "stop": 5196.753,
      "target": 5180.035,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 19.31,
        "bb_width_pct": 0.731
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T01-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T01:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5183.655,
      "stop": 5189.251,
      "target": 5172.462,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.39,
        "bb_width_pct": 0.75
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T01-15-00Z_short_vwap_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T01:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5183.655,
      "stop": 5189.322,
      "target": 5172.321,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.39,
        "bb_width_pct": 0.75
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T01-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T01:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5183.655,
      "stop": 5187.709,
      "target": 5175.547,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.39,
        "bb_width_pct": 0.75
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T01-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T01:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5190.24,
      "stop": 5196.887,
      "target": 5176.946,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.26,
        "bb_width_pct": 0.792
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T01-30-00Z_short_vwap_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5187.5,
      "stop": 5193.728,
      "target": 5175.044,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 16.96,
        "bb_width_pct": 0.885
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T01-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5187.5,
      "stop": 5191.541,
      "target": 5179.418,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.96,
        "bb_width_pct": 0.885
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T02-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T02:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5218.15,
      "stop": 5226.278,
      "target": 5201.895,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.12,
        "bb_width_pct": 1.12
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T02-35-00Z_short_vwap_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T02:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5222.05,
      "stop": 5237.736,
      "target": 5190.677,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 23.31,
        "bb_width_pct": 1.004
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T02-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T02:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5222.05,
      "stop": 5236.29,
      "target": 5193.57,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 23.31,
        "bb_width_pct": 1.004
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T02-40-00Z_short_rsi_range_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T02:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5221.445,
      "stop": 5228.444,
      "target": 5207.448,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 15.28,
        "bb_width_pct": 0.975
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T02-40-00Z_short_vwap_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T02:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5221.445,
      "stop": 5236.346,
      "target": 5191.643,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.28,
        "bb_width_pct": 0.975
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T02-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T02:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5221.445,
      "stop": 5235.382,
      "target": 5193.57,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.28,
        "bb_width_pct": 0.975
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T02-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T02:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5221.445,
      "stop": 5228.554,
      "target": 5207.228,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.28,
        "bb_width_pct": 0.975
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T02-55-00Z_short_vwap_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T02:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5232.245,
      "stop": 5250.96,
      "target": 5194.816,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 9.57,
        "bb_width_pct": 0.988
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T02-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T02:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5232.245,
      "stop": 5250.371,
      "target": 5195.993,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.57,
        "bb_width_pct": 0.988
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T03-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T03:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5243.695,
      "stop": 5254.888,
      "target": 5221.309,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 26.43,
        "bb_width_pct": 0.931
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T03-10-00Z_short_rsi_range_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T03:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5243.695,
      "stop": 5254.888,
      "target": 5221.309,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 26.43,
        "bb_width_pct": 0.931
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T03-10-00Z_short_vwap_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T03:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5243.695,
      "stop": 5266.371,
      "target": 5198.342,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 26.43,
        "bb_width_pct": 0.931
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T03-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T03:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5243.695,
      "stop": 5264.504,
      "target": 5202.077,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 26.43,
        "bb_width_pct": 0.931
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T03-15-00Z_short_rsi_range_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5240.475,
      "stop": 5249.022,
      "target": 5223.382,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 26.13,
        "bb_width_pct": 0.896
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T03-15-00Z_short_vwap_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5240.475,
      "stop": 5260.999,
      "target": 5199.427,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 26.13,
        "bb_width_pct": 0.896
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T03-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5240.475,
      "stop": 5259.455,
      "target": 5202.515,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 26.13,
        "bb_width_pct": 0.896
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T03-20-00Z_short_rsi_range_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T03:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5240.135,
      "stop": 5247.902,
      "target": 5224.601,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 24.82,
        "bb_width_pct": 0.927
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T03-20-00Z_short_vwap_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T03:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5240.135,
      "stop": 5259.976,
      "target": 5200.452,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 24.82,
        "bb_width_pct": 0.927
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T03-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T03:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5240.135,
      "stop": 5258.945,
      "target": 5202.515,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 24.82,
        "bb_width_pct": 0.927
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T03-25-00Z_short_rsi_range_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5237.25,
      "stop": 5243.157,
      "target": 5225.435,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 18.98,
        "bb_width_pct": 0.947
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T03-25-00Z_short_vwap_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5237.25,
      "stop": 5255.192,
      "target": 5201.366,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 18.98,
        "bb_width_pct": 0.947
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T03-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5237.25,
      "stop": 5253.831,
      "target": 5204.087,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.98,
        "bb_width_pct": 0.947
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T03-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5237.25,
      "stop": 5243.014,
      "target": 5225.721,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.98,
        "bb_width_pct": 0.947
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T03-30-00Z_short_rsi_range_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5237.105,
      "stop": 5242.501,
      "target": 5226.312,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 17.62,
        "bb_width_pct": 0.96
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T03-30-00Z_short_vwap_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5237.105,
      "stop": 5254.554,
      "target": 5202.207,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 17.62,
        "bb_width_pct": 0.96
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T03-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5237.105,
      "stop": 5253.614,
      "target": 5204.087,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.62,
        "bb_width_pct": 0.96
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T03-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5237.105,
      "stop": 5242.255,
      "target": 5226.805,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.62,
        "bb_width_pct": 0.96
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T03-35-00Z_short_vwap_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T03:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5230.23,
      "stop": 5243.902,
      "target": 5202.885,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.53,
        "bb_width_pct": 0.884
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T03-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T03:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5230.23,
      "stop": 5243.301,
      "target": 5204.087,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.53,
        "bb_width_pct": 0.884
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T03-50-00Z_short_vwap_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T03:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5238.335,
      "stop": 5254.999,
      "target": 5205.008,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 9.24,
        "bb_width_pct": 0.712
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T03-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T03:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5238.335,
      "stop": 5254.142,
      "target": 5206.72,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.24,
        "bb_width_pct": 0.712
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T03-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T03:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5238.335,
      "stop": 5242.577,
      "target": 5229.85,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.24,
        "bb_width_pct": 0.712
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T03-55-00Z_short_vwap_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T03:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5235.285,
      "stop": 5250.109,
      "target": 5205.636,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.55,
        "bb_width_pct": 0.633
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T03-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T03:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5235.285,
      "stop": 5249.446,
      "target": 5206.962,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.55,
        "bb_width_pct": 0.633
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T04-05-00Z_short_vwap_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5236.755,
      "stop": 5251.672,
      "target": 5206.92,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.1,
        "bb_width_pct": 0.5
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T04-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5236.755,
      "stop": 5251.041,
      "target": 5208.182,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.1,
        "bb_width_pct": 0.5
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T04-10-00Z_short_vwap_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T04:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5235.475,
      "stop": 5249.475,
      "target": 5207.475,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 9.71,
        "bb_width_pct": 0.463
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T04-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T04:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5235.475,
      "stop": 5249.121,
      "target": 5208.182,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.71,
        "bb_width_pct": 0.463
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T04-15-00Z_short_vwap_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T04:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5234.0,
      "stop": 5247.007,
      "target": 5207.987,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.55,
        "bb_width_pct": 0.4
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T04-25-00Z_short_vwap_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T04:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5238.015,
      "stop": 5252.469,
      "target": 5209.108,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.39,
        "bb_width_pct": 0.27
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T04-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T04:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5238.015,
      "stop": 5251.264,
      "target": 5211.517,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.39,
        "bb_width_pct": 0.27
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T04-30-00Z_short_vwap_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T04:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5237.67,
      "stop": 5251.684,
      "target": 5209.642,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.49,
        "bb_width_pct": 0.266
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T04-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T04:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5237.67,
      "stop": 5249.123,
      "target": 5214.765,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.49,
        "bb_width_pct": 0.266
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T04-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T04:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5243.415,
      "stop": 5246.229,
      "target": 5237.786,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.04,
        "bb_width_pct": 0.222
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T05-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5259.39,
      "stop": 5267.281,
      "target": 5243.608,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 25.04,
        "bb_width_pct": 0.619
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T05-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5255.12,
      "stop": 5260.456,
      "target": 5244.447,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.36,
        "bb_width_pct": 0.64
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T05-30-00Z_short_rsi_range_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5255.12,
      "stop": 5260.456,
      "target": 5244.447,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 19.36,
        "bb_width_pct": 0.64
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T05-30-00Z_short_vwap_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5255.12,
      "stop": 5274.366,
      "target": 5216.628,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 19.36,
        "bb_width_pct": 0.64
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T05-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5255.12,
      "stop": 5265.201,
      "target": 5234.958,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 19.36,
        "bb_width_pct": 0.64
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T05-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5255.12,
      "stop": 5259.516,
      "target": 5246.329,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.36,
        "bb_width_pct": 0.64
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T05-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5264.715,
      "stop": 5273.605,
      "target": 5246.935,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 26.93,
        "bb_width_pct": 0.728
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T05-45-00Z_short_rsi_range_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T05:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5264.615,
      "stop": 5272.759,
      "target": 5248.328,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 26.05,
        "bb_width_pct": 0.761
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T05-45-00Z_short_vwap_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T05:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5264.615,
      "stop": 5287.641,
      "target": 5218.563,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 26.05,
        "bb_width_pct": 0.761
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T05-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T05:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5264.615,
      "stop": 5276.217,
      "target": 5241.41,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 26.05,
        "bb_width_pct": 0.761
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T05-50-00Z_short_rsi_range_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5258.745,
      "stop": 5263.372,
      "target": 5249.491,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 18.76,
        "bb_width_pct": 0.745
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T05-50-00Z_short_vwap_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5258.745,
      "stop": 5278.541,
      "target": 5219.154,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 18.76,
        "bb_width_pct": 0.745
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T05-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5258.745,
      "stop": 5266.754,
      "target": 5242.728,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.76,
        "bb_width_pct": 0.745
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T05-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5258.745,
      "stop": 5262.38,
      "target": 5251.474,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.76,
        "bb_width_pct": 0.745
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T05-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T05:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5261.35,
      "stop": 5265.818,
      "target": 5252.415,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.21,
        "bb_width_pct": 0.718
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T06-00-00Z_short_vwap_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5257.915,
      "stop": 5276.734,
      "target": 5220.278,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.47,
        "bb_width_pct": 0.692
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T06-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5257.915,
      "stop": 5265.042,
      "target": 5243.66,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.47,
        "bb_width_pct": 0.692
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T06-05-00Z_short_vwap_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5256.805,
      "stop": 5274.828,
      "target": 5220.758,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.63,
        "bb_width_pct": 0.652
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T06-20-00Z_short_vwap_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T06:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5259.805,
      "stop": 5278.532,
      "target": 5222.35,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.15,
        "bb_width_pct": 0.522
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T06-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T06:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5259.805,
      "stop": 5266.999,
      "target": 5245.417,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.15,
        "bb_width_pct": 0.522
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T06-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T06:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5259.805,
      "stop": 5261.898,
      "target": 5255.62,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.15,
        "bb_width_pct": 0.522
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T06-25-00Z_short_vwap_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T06:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5255.645,
      "stop": 5272.078,
      "target": 5222.78,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 1.28,
        "bb_width_pct": 0.44
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T06-35-00Z_short_vwap_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5258.385,
      "stop": 5275.729,
      "target": 5223.697,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.33,
        "bb_width_pct": 0.303
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T06-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5258.385,
      "stop": 5264.869,
      "target": 5245.417,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.33,
        "bb_width_pct": 0.303
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T06-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T06:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5266.43,
      "stop": 5269.572,
      "target": 5260.147,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.89,
        "bb_width_pct": 0.242
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T06-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T06:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5266.43,
      "stop": 5270.608,
      "target": 5258.074,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.89,
        "bb_width_pct": 0.242
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T07-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T07:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5268.96,
      "stop": 5272.755,
      "target": 5261.371,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.84,
        "bb_width_pct": 0.311
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T07-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T07:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5268.96,
      "stop": 5277.846,
      "target": 5251.188,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.84,
        "bb_width_pct": 0.311
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T07-20-00Z_short_rsi_range_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T07:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5279.075,
      "stop": 5286.274,
      "target": 5264.676,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 13.32,
        "bb_width_pct": 0.536
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T07-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T07:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5279.075,
      "stop": 5289.955,
      "target": 5257.315,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.32,
        "bb_width_pct": 0.536
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T07-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T07:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5281.145,
      "stop": 5288.966,
      "target": 5265.503,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.5,
        "bb_width_pct": 0.601
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T07-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5280.13,
      "stop": 5286.909,
      "target": 5266.572,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 23.44,
        "bb_width_pct": 0.635
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T07-30-00Z_short_rsi_range_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5280.13,
      "stop": 5286.909,
      "target": 5266.572,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 23.44,
        "bb_width_pct": 0.635
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T07-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5280.13,
      "stop": 5291.001,
      "target": 5258.387,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 23.44,
        "bb_width_pct": 0.635
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T07-35-00Z_short_rsi_range_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T07:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5279.915,
      "stop": 5286.122,
      "target": 5267.5,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 20.15,
        "bb_width_pct": 0.664
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T07-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T07:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5279.915,
      "stop": 5290.038,
      "target": 5259.67,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 20.15,
        "bb_width_pct": 0.664
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T07-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T07:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5279.915,
      "stop": 5285.164,
      "target": 5269.416,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.15,
        "bb_width_pct": 0.664
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T07-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T07:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5281.445,
      "stop": 5286.886,
      "target": 5270.562,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.35,
        "bb_width_pct": 0.68
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T07-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T07:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5290.4,
      "stop": 5299.756,
      "target": 5271.687,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 25.72,
        "bb_width_pct": 0.779
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T08-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T08:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5295.135,
      "stop": 5304.319,
      "target": 5276.768,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 24.39,
        "bb_width_pct": 0.876
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T08-05-00Z_short_rsi_range_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T08:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5295.135,
      "stop": 5304.319,
      "target": 5276.768,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 24.39,
        "bb_width_pct": 0.876
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T08-05-00Z_short_vwap_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T08:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5295.135,
      "stop": 5301.852,
      "target": 5281.702,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 24.39,
        "bb_width_pct": 0.876
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T08-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T08:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5295.135,
      "stop": 5308.741,
      "target": 5267.922,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 24.39,
        "bb_width_pct": 0.876
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T08-10-00Z_short_rsi_range_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T08:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5293.39,
      "stop": 5300.828,
      "target": 5278.513,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 19.33,
        "bb_width_pct": 0.856
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T08-10-00Z_short_vwap_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T08:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5293.39,
      "stop": 5298.847,
      "target": 5282.475,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 19.33,
        "bb_width_pct": 0.856
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T08-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T08:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5293.39,
      "stop": 5304.688,
      "target": 5270.795,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 19.33,
        "bb_width_pct": 0.856
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T08-15-00Z_short_rsi_range_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T08:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5291.51,
      "stop": 5297.18,
      "target": 5280.169,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 16.88,
        "bb_width_pct": 0.805
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T08-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T08:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5291.51,
      "stop": 5301.868,
      "target": 5270.795,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 16.88,
        "bb_width_pct": 0.805
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T08-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T08:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5291.51,
      "stop": 5296.449,
      "target": 5281.632,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.88,
        "bb_width_pct": 0.805
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T08-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T08:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5292.835,
      "stop": 5297.903,
      "target": 5282.699,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.34,
        "bb_width_pct": 0.763
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T08-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5305.145,
      "stop": 5314.948,
      "target": 5285.539,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.25,
        "bb_width_pct": 0.757
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T08-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5297.115,
      "stop": 5302.229,
      "target": 5286.887,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.96,
        "bb_width_pct": 0.73
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T08-35-00Z_short_rsi_range_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5297.115,
      "stop": 5302.229,
      "target": 5286.887,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 14.96,
        "bb_width_pct": 0.73
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T08-35-00Z_short_vwap_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5297.115,
      "stop": 5302.559,
      "target": 5286.227,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.96,
        "bb_width_pct": 0.73
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T08-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5297.115,
      "stop": 5304.965,
      "target": 5281.415,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.96,
        "bb_width_pct": 0.73
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T08-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5297.115,
      "stop": 5302.004,
      "target": 5287.338,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.96,
        "bb_width_pct": 0.73
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T09-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T09:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5278.05,
      "stop": 5273.28,
      "target": 5287.589,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.08,
        "bb_width_pct": 0.473
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T09-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T09:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5275.955,
      "stop": 5268.786,
      "target": 5290.293,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.58,
        "bb_width_pct": 0.625
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T09-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T09:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5275.955,
      "stop": 5271.466,
      "target": 5284.933,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.58,
        "bb_width_pct": 0.625
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T09-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5280.49,
      "stop": 5275.836,
      "target": 5289.798,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.67,
        "bb_width_pct": 0.645
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T11-05-00Z_long_rsi_range_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T11:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5251.565,
      "stop": 5240.529,
      "target": 5273.636,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.43,
        "bb_width_pct": 0.713
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T11-05-00Z_long_vwap_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T11:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5251.565,
      "stop": 5240.647,
      "target": 5273.401,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.43,
        "bb_width_pct": 0.713
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T11-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T11:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5251.565,
      "stop": 5238.528,
      "target": 5277.64,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 20.43,
        "bb_width_pct": 0.713
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T11-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T11:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5260.815,
      "stop": 5254.896,
      "target": 5272.653,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.17,
        "bb_width_pct": 0.732
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T11-10-00Z_long_vwap_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T11:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5260.815,
      "stop": 5255.044,
      "target": 5272.358,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.17,
        "bb_width_pct": 0.732
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T11-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T11:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5260.815,
      "stop": 5255.623,
      "target": 5271.199,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.17,
        "bb_width_pct": 0.732
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T11-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T11:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5256.68,
      "stop": 5249.494,
      "target": 5271.052,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.28,
        "bb_width_pct": 0.824
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T11-20-00Z_long_vwap_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T11:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5256.68,
      "stop": 5249.856,
      "target": 5270.328,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.28,
        "bb_width_pct": 0.824
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T11-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T11:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5256.68,
      "stop": 5247.456,
      "target": 5275.128,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 16.28,
        "bb_width_pct": 0.824
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T11-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T11:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5256.68,
      "stop": 5250.836,
      "target": 5268.367,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.28,
        "bb_width_pct": 0.824
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T12-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T12:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5269.79,
      "stop": 5274.232,
      "target": 5260.906,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.61,
        "bb_width_pct": 0.371
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T12-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T12:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5267.905,
      "stop": 5270.996,
      "target": 5261.724,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.92,
        "bb_width_pct": 0.35
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T12-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T12:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5274.83,
      "stop": 5279.355,
      "target": 5265.78,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.46,
        "bb_width_pct": 0.411
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T13-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T13:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5280.905,
      "stop": 5288.204,
      "target": 5266.306,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.88,
        "bb_width_pct": 0.652
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T13-05-00Z_short_vwap_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T13:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5280.905,
      "stop": 5287.321,
      "target": 5268.074,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 22.88,
        "bb_width_pct": 0.652
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T13-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T13:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5280.905,
      "stop": 5289.282,
      "target": 5264.15,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 22.88,
        "bb_width_pct": 0.652
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T13-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T13:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5280.905,
      "stop": 5286.251,
      "target": 5270.214,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.88,
        "bb_width_pct": 0.652
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T13-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T13:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5275.25,
      "stop": 5280.8,
      "target": 5264.15,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.2,
        "bb_width_pct": 0.641
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T13-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T13:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5275.25,
      "stop": 5277.528,
      "target": 5270.693,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.2,
        "bb_width_pct": 0.641
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T13-25-00Z_short_vwap_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T13:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5281.295,
      "stop": 5286.754,
      "target": 5270.378,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.75,
        "bb_width_pct": 0.695
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T13-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T13:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5281.295,
      "stop": 5289.868,
      "target": 5264.15,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.75,
        "bb_width_pct": 0.695
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T13-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T13:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5281.295,
      "stop": 5285.391,
      "target": 5273.103,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.75,
        "bb_width_pct": 0.695
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T13-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5274.275,
      "stop": 5279.337,
      "target": 5264.15,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.81,
        "bb_width_pct": 0.684
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T14-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T14:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5259.155,
      "stop": 5253.075,
      "target": 5271.314,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.26,
        "bb_width_pct": 0.612
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T14-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T14:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5259.155,
      "stop": 5254.738,
      "target": 5267.989,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.26,
        "bb_width_pct": 0.612
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T14-10-00Z_long_rsi_range_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T14:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5262.61,
      "stop": 5258.305,
      "target": 5271.22,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.46,
        "bb_width_pct": 0.619
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T14-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5263.1,
      "stop": 5259.739,
      "target": 5269.822,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.3,
        "bb_width_pct": 0.662
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T14-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5263.1,
      "stop": 5260.518,
      "target": 5268.265,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 13.3,
        "bb_width_pct": 0.662
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T14-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5263.1,
      "stop": 5261.568,
      "target": 5266.163,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.3,
        "bb_width_pct": 0.662
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T14-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T14:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5279.345,
      "stop": 5284.396,
      "target": 5269.243,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.28,
        "bb_width_pct": 0.621
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T14-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T14:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5286.19,
      "stop": 5294.421,
      "target": 5269.729,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.1,
        "bb_width_pct": 0.655
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T14-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T14:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5286.19,
      "stop": 5293.562,
      "target": 5271.445,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.1,
        "bb_width_pct": 0.655
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T15-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T15:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5256.535,
      "stop": 5251.055,
      "target": 5267.495,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.19,
        "bb_width_pct": 0.859
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T15-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T15:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5256.535,
      "stop": 5251.278,
      "target": 5267.05,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.19,
        "bb_width_pct": 0.859
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T15-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T15:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5256.535,
      "stop": 5250.149,
      "target": 5269.306,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.19,
        "bb_width_pct": 0.859
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T16-20-00Z_short_rsi_range_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T16:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5286.16,
      "stop": 5291.643,
      "target": 5275.194,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 19.17,
        "bb_width_pct": 0.901
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T16-20-00Z_short_vwap_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T16:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5286.16,
      "stop": 5293.757,
      "target": 5270.967,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 19.17,
        "bb_width_pct": 0.901
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T16-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T16:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5286.16,
      "stop": 5295.715,
      "target": 5267.05,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 19.17,
        "bb_width_pct": 0.901
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T16-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T16:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5277.87,
      "stop": 5283.28,
      "target": 5267.05,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.22,
        "bb_width_pct": 0.922
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T16-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5293.335,
      "stop": 5301.093,
      "target": 5277.819,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.88,
        "bb_width_pct": 0.712
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T16-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5293.335,
      "stop": 5299.844,
      "target": 5280.318,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.88,
        "bb_width_pct": 0.712
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T16-50-00Z_short_vwap_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T16:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5292.37,
      "stop": 5302.307,
      "target": 5272.496,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.52,
        "bb_width_pct": 0.648
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T16-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T16:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5292.37,
      "stop": 5305.03,
      "target": 5267.05,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.52,
        "bb_width_pct": 0.648
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T16-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T16:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5292.37,
      "stop": 5297.822,
      "target": 5281.465,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.52,
        "bb_width_pct": 0.648
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T17-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T17:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5295.375,
      "stop": 5300.699,
      "target": 5284.727,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.67,
        "bb_width_pct": 0.622
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T17-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T17:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5295.375,
      "stop": 5307.304,
      "target": 5271.517,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.67,
        "bb_width_pct": 0.622
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T17-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T17:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5295.375,
      "stop": 5300.056,
      "target": 5286.013,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.67,
        "bb_width_pct": 0.622
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T17-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T17:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5293.365,
      "stop": 5304.289,
      "target": 5271.517,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.25,
        "bb_width_pct": 0.591
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T17-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T17:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5302.92,
      "stop": 5309.378,
      "target": 5290.004,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.31,
        "bb_width_pct": 0.624
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T17-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T17:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5293.675,
      "stop": 5304.754,
      "target": 5271.517,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.74,
        "bb_width_pct": 0.573
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T17-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T17:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5284.895,
      "stop": 5291.584,
      "target": 5271.517,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.17,
        "bb_width_pct": 0.544
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T17-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T17:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5298.11,
      "stop": 5311.406,
      "target": 5271.517,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.48,
        "bb_width_pct": 0.525
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T18-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T18:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5294.335,
      "stop": 5305.744,
      "target": 5271.517,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.35,
        "bb_width_pct": 0.514
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T18-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T18:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5300.06,
      "stop": 5314.331,
      "target": 5271.517,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.5,
        "bb_width_pct": 0.476
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T18-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T18:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5305.24,
      "stop": 5308.56,
      "target": 5298.6,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.96,
        "bb_width_pct": 0.606
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T18-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T18:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5305.24,
      "stop": 5315.771,
      "target": 5284.177,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.96,
        "bb_width_pct": 0.606
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T18-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T18:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5305.24,
      "stop": 5308.652,
      "target": 5298.415,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.96,
        "bb_width_pct": 0.606
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T18-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5287.83,
      "stop": 5282.559,
      "target": 5298.373,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.33,
        "bb_width_pct": 0.624
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T18-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5287.83,
      "stop": 5283.041,
      "target": 5297.407,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.33,
        "bb_width_pct": 0.624
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T18-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T18:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5274.17,
      "stop": 5263.658,
      "target": 5295.194,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.92,
        "bb_width_pct": 0.739
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T18-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T18:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5273.74,
      "stop": 5264.035,
      "target": 5293.151,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.63,
        "bb_width_pct": 0.827
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T18-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T18:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5278.89,
      "stop": 5270.915,
      "target": 5294.84,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.74,
        "bb_width_pct": 0.872
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T18-45-00Z_long_vwap_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T18:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5278.89,
      "stop": 5270.529,
      "target": 5295.612,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.74,
        "bb_width_pct": 0.872
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T18-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T18:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5278.89,
      "stop": 5270.28,
      "target": 5296.11,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.74,
        "bb_width_pct": 0.872
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T18-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T18:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5282.595,
      "stop": 5275.621,
      "target": 5296.542,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.37,
        "bb_width_pct": 0.946
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T19-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T19:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5280.87,
      "stop": 5273.034,
      "target": 5296.542,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.33,
        "bb_width_pct": 0.977
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-28T19-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T19:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5316.18,
      "stop": 5325.864,
      "target": 5296.813,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.41,
        "bb_width_pct": 1.147
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-29T03-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-29",
      "timestamp": "2026-01-29T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5515.405,
      "stop": 5523.886,
      "target": 5498.443,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.26,
        "bb_width_pct": 0.735
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-29T03-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-29",
      "timestamp": "2026-01-29T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5528.35,
      "stop": 5543.304,
      "target": 5498.443,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.66,
        "bb_width_pct": 0.661
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-29T03-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-29",
      "timestamp": "2026-01-29T03:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5522.075,
      "stop": 5533.891,
      "target": 5498.443,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.82,
        "bb_width_pct": 0.547
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-29T03-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-29",
      "timestamp": "2026-01-29T03:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5545.84,
      "stop": 5553.155,
      "target": 5531.21,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.55,
        "bb_width_pct": 0.585
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-29T04-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-29",
      "timestamp": "2026-01-29T04:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5542.32,
      "stop": 5547.311,
      "target": 5532.337,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.05,
        "bb_width_pct": 0.578
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-29T04-00-00Z_short_vwap_mean_reversion",
      "date": "2026-01-29",
      "timestamp": "2026-01-29T04:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5542.32,
      "stop": 5554.5,
      "target": 5517.959,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.05,
        "bb_width_pct": 0.578
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-29T04-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-29",
      "timestamp": "2026-01-29T04:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5542.32,
      "stop": 5564.259,
      "target": 5498.443,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.05,
        "bb_width_pct": 0.578
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-29T04-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-29",
      "timestamp": "2026-01-29T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5547.075,
      "stop": 5553.903,
      "target": 5533.42,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.34,
        "bb_width_pct": 0.61
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-29T04-10-00Z_short_vwap_mean_reversion",
      "date": "2026-01-29",
      "timestamp": "2026-01-29T04:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5534.515,
      "stop": 5542.306,
      "target": 5518.934,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.74,
        "bb_width_pct": 0.61
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-29T04-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-29",
      "timestamp": "2026-01-29T04:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5534.515,
      "stop": 5552.435,
      "target": 5498.675,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.74,
        "bb_width_pct": 0.61
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-29T04-40-00Z_short_vwap_mean_reversion",
      "date": "2026-01-29",
      "timestamp": "2026-01-29T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5557.88,
      "stop": 5575.65,
      "target": 5522.34,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 23.63,
        "bb_width_pct": 0.859
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-29T04-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-29",
      "timestamp": "2026-01-29T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5557.88,
      "stop": 5570.302,
      "target": 5533.035,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 23.63,
        "bb_width_pct": 0.859
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-29T04-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-29",
      "timestamp": "2026-01-29T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5557.88,
      "stop": 5565.474,
      "target": 5542.692,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 23.63,
        "bb_width_pct": 0.859
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-29T04-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-29",
      "timestamp": "2026-01-29T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5559.25,
      "stop": 5566.741,
      "target": 5544.269,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.09,
        "bb_width_pct": 0.867
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-29T04-50-00Z_short_rsi_range_reversion",
      "date": "2026-01-29",
      "timestamp": "2026-01-29T04:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5556.55,
      "stop": 5563.491,
      "target": 5542.668,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 13.16,
        "bb_width_pct": 0.896
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-29T04-50-00Z_short_vwap_mean_reversion",
      "date": "2026-01-29",
      "timestamp": "2026-01-29T04:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5556.55,
      "stop": 5573.073,
      "target": 5523.503,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.16,
        "bb_width_pct": 0.896
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-29T04-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-29",
      "timestamp": "2026-01-29T04:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5556.55,
      "stop": 5567.497,
      "target": 5534.655,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.16,
        "bb_width_pct": 0.896
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-29T04-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-29",
      "timestamp": "2026-01-29T04:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5557.99,
      "stop": 5563.668,
      "target": 5546.634,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.98,
        "bb_width_pct": 0.894
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-29T05-15-00Z_short_vwap_mean_reversion",
      "date": "2026-01-29",
      "timestamp": "2026-01-29T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5554.48,
      "stop": 5568.653,
      "target": 5526.133,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.78,
        "bb_width_pct": 0.71
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-29T05-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-29",
      "timestamp": "2026-01-29T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5554.48,
      "stop": 5564.392,
      "target": 5534.655,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.78,
        "bb_width_pct": 0.71
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-29T05-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-29",
      "timestamp": "2026-01-29T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5542.105,
      "stop": 5538.104,
      "target": 5550.107,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.33,
        "bb_width_pct": 0.762
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-29T05-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-29",
      "timestamp": "2026-01-29T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5542.105,
      "stop": 5539.6,
      "target": 5547.115,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.33,
        "bb_width_pct": 0.762
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-29T05-40-00Z_short_vwap_mean_reversion",
      "date": "2026-01-29",
      "timestamp": "2026-01-29T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5549.775,
      "stop": 5561.001,
      "target": 5527.324,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.06,
        "bb_width_pct": 0.748
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-29T05-50-00Z_short_vwap_mean_reversion",
      "date": "2026-01-29",
      "timestamp": "2026-01-29T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5554.13,
      "stop": 5567.13,
      "target": 5528.129,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.92,
        "bb_width_pct": 0.7
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-29T05-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-29",
      "timestamp": "2026-01-29T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5554.13,
      "stop": 5562.881,
      "target": 5536.628,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.92,
        "bb_width_pct": 0.7
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-29T06-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-29",
      "timestamp": "2026-01-29T06:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5584.465,
      "stop": 5597.465,
      "target": 5558.466,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.92,
        "bb_width_pct": 1.035
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-29T06-10-00Z_short_vwap_mean_reversion",
      "date": "2026-01-29",
      "timestamp": "2026-01-29T06:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5584.465,
      "stop": 5611.339,
      "target": 5530.716,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.92,
        "bb_width_pct": 1.035
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-29T06-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-29",
      "timestamp": "2026-01-29T06:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5584.465,
      "stop": 5602.466,
      "target": 5548.462,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.92,
        "bb_width_pct": 1.035
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-29T06-15-00Z_short_vwap_mean_reversion",
      "date": "2026-01-29",
      "timestamp": "2026-01-29T06:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5579.745,
      "stop": 5603.937,
      "target": 5531.361,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.01,
        "bb_width_pct": 1.085
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-29T06-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-29",
      "timestamp": "2026-01-29T06:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5579.745,
      "stop": 5595.31,
      "target": 5548.615,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.01,
        "bb_width_pct": 1.085
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-29T06-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-29",
      "timestamp": "2026-01-29T06:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5579.745,
      "stop": 5588.932,
      "target": 5561.371,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.01,
        "bb_width_pct": 1.085
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-29T06-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-29",
      "timestamp": "2026-01-29T06:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5586.67,
      "stop": 5599.643,
      "target": 5560.723,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.94,
        "bb_width_pct": 1.166
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-29T07-15-00Z_long_rsi_range_reversion",
      "date": "2026-01-29",
      "timestamp": "2026-01-29T07:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5564.53,
      "stop": 5560.599,
      "target": 5572.391,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.76,
        "bb_width_pct": 0.836
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-29T07-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-29",
      "timestamp": "2026-01-29T07:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5555.245,
      "stop": 5546.535,
      "target": 5572.665,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.02,
        "bb_width_pct": 0.801
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-29T07-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-29",
      "timestamp": "2026-01-29T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5553.925,
      "stop": 5544.966,
      "target": 5571.842,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.8,
        "bb_width_pct": 0.912
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-29T07-30-00Z_long_rsi_range_reversion",
      "date": "2026-01-29",
      "timestamp": "2026-01-29T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5553.925,
      "stop": 5544.966,
      "target": 5571.842,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.8,
        "bb_width_pct": 0.912
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-29T07-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-29",
      "timestamp": "2026-01-29T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5553.925,
      "stop": 5549.067,
      "target": 5563.641,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.8,
        "bb_width_pct": 0.912
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-29T08-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-29",
      "timestamp": "2026-01-29T08:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5529.64,
      "stop": 5515.192,
      "target": 5558.537,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.64,
        "bb_width_pct": 1.109
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-29T08-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-29",
      "timestamp": "2026-01-29T08:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5537.925,
      "stop": 5531.182,
      "target": 5551.412,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.22,
        "bb_width_pct": 1.086
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-29T08-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-29",
      "timestamp": "2026-01-29T08:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5529.66,
      "stop": 5517.663,
      "target": 5553.654,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.9,
        "bb_width_pct": 1.064
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-29T08-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-29",
      "timestamp": "2026-01-29T08:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5529.66,
      "stop": 5519.82,
      "target": 5549.34,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.9,
        "bb_width_pct": 1.064
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-29T08-20-00Z_long_vwap_mean_reversion",
      "date": "2026-01-29",
      "timestamp": "2026-01-29T08:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5530.535,
      "stop": 5521.351,
      "target": 5548.903,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.74,
        "bb_width_pct": 1.013
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-29T08-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-29",
      "timestamp": "2026-01-29T08:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5530.425,
      "stop": 5522.678,
      "target": 5545.918,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.18,
        "bb_width_pct": 0.991
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-29T08-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-29",
      "timestamp": "2026-01-29T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5523.27,
      "stop": 5511.63,
      "target": 5546.55,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.84,
        "bb_width_pct": 1.001
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-29T10-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-29",
      "timestamp": "2026-01-29T10:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5511.585,
      "stop": 5508.258,
      "target": 5518.239,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.93,
        "bb_width_pct": 0.654
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-29T10-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-29",
      "timestamp": "2026-01-29T10:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5502.585,
      "stop": 5497.028,
      "target": 5513.7,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.8,
        "bb_width_pct": 0.472
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-29T10-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-29",
      "timestamp": "2026-01-29T10:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5502.585,
      "stop": 5495.923,
      "target": 5515.909,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.8,
        "bb_width_pct": 0.472
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-29T10-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-29",
      "timestamp": "2026-01-29T10:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5509.965,
      "stop": 5508.1,
      "target": 5513.694,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.14,
        "bb_width_pct": 0.472
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-29T10-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-29",
      "timestamp": "2026-01-29T10:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5509.965,
      "stop": 5507.276,
      "target": 5515.343,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.14,
        "bb_width_pct": 0.472
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-29T11-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-29",
      "timestamp": "2026-01-29T11:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5494.9,
      "stop": 5487.55,
      "target": 5509.6,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.22,
        "bb_width_pct": 0.882
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-29T11-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-29",
      "timestamp": "2026-01-29T11:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5494.9,
      "stop": 5485.914,
      "target": 5512.872,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.22,
        "bb_width_pct": 0.882
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-29T11-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-29",
      "timestamp": "2026-01-29T11:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5494.9,
      "stop": 5489.364,
      "target": 5505.972,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.22,
        "bb_width_pct": 0.882
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-29T11-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-29",
      "timestamp": "2026-01-29T11:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5524.655,
      "stop": 5531.659,
      "target": 5510.648,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.74,
        "bb_width_pct": 0.815
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-29T11-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-29",
      "timestamp": "2026-01-29T11:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5522.62,
      "stop": 5533.736,
      "target": 5500.387,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.5,
        "bb_width_pct": 0.857
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-29T12-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-29",
      "timestamp": "2026-01-29T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5522.41,
      "stop": 5533.421,
      "target": 5500.387,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 24.85,
        "bb_width_pct": 0.88
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-29T12-15-00Z_short_rsi_range_reversion",
      "date": "2026-01-29",
      "timestamp": "2026-01-29T12:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5531.995,
      "stop": 5541.846,
      "target": 5512.292,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 19.97,
        "bb_width_pct": 1.039
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-29T12-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-29",
      "timestamp": "2026-01-29T12:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5531.995,
      "stop": 5545.491,
      "target": 5505.002,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 19.97,
        "bb_width_pct": 1.039
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-29T12-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-29",
      "timestamp": "2026-01-29T12:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5532.055,
      "stop": 5544.55,
      "target": 5507.065,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.71,
        "bb_width_pct": 1.13
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-29T12-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-29",
      "timestamp": "2026-01-29T12:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5532.055,
      "stop": 5535.612,
      "target": 5524.942,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.71,
        "bb_width_pct": 1.13
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-29T12-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-29",
      "timestamp": "2026-01-29T12:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5529.99,
      "stop": 5541.452,
      "target": 5507.065,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.97,
        "bb_width_pct": 0.901
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-29T12-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-29",
      "timestamp": "2026-01-29T12:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5535.48,
      "stop": 5539.631,
      "target": 5527.178,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.49,
        "bb_width_pct": 0.756
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-29T12-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-29",
      "timestamp": "2026-01-29T12:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5534.16,
      "stop": 5547.708,
      "target": 5507.065,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.88,
        "bb_width_pct": 0.7
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-29T13-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-29",
      "timestamp": "2026-01-29T13:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5532.535,
      "stop": 5545.27,
      "target": 5507.065,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.72,
        "bb_width_pct": 0.633
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-29T13-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-29",
      "timestamp": "2026-01-29T13:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5514.94,
      "stop": 5518.877,
      "target": 5507.065,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.21,
        "bb_width_pct": 0.64
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-29T13-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-29",
      "timestamp": "2026-01-29T13:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5518.26,
      "stop": 5512.601,
      "target": 5529.578,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.53,
        "bb_width_pct": 0.585
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-29T13-15-00Z_long_vwap_mean_reversion",
      "date": "2026-01-29",
      "timestamp": "2026-01-29T13:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5518.26,
      "stop": 5511.613,
      "target": 5531.554,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.53,
        "bb_width_pct": 0.585
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-29T13-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-29",
      "timestamp": "2026-01-29T13:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5522.515,
      "stop": 5518.788,
      "target": 5529.968,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.3,
        "bb_width_pct": 0.544
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-29T13-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-29",
      "timestamp": "2026-01-29T13:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5522.515,
      "stop": 5520.622,
      "target": 5526.302,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.3,
        "bb_width_pct": 0.544
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-29T13-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-29",
      "timestamp": "2026-01-29T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5517.94,
      "stop": 5512.567,
      "target": 5528.687,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.81,
        "bb_width_pct": 0.655
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-29T13-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-29",
      "timestamp": "2026-01-29T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5517.94,
      "stop": 5515.082,
      "target": 5523.657,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.81,
        "bb_width_pct": 0.655
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-29T13-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-29",
      "timestamp": "2026-01-29T13:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5510.785,
      "stop": 5502.802,
      "target": 5526.751,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.91,
        "bb_width_pct": 0.717
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-29T14-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-29",
      "timestamp": "2026-01-29T14:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5529.125,
      "stop": 5540.155,
      "target": 5507.065,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.74,
        "bb_width_pct": 0.63
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-29T14-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-29",
      "timestamp": "2026-01-29T14:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5543.75,
      "stop": 5552.857,
      "target": 5525.536,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.28,
        "bb_width_pct": 0.667
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-29T14-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-29",
      "timestamp": "2026-01-29T14:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5515.79,
      "stop": 5512.682,
      "target": 5522.005,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.86,
        "bb_width_pct": 0.6
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-29T14-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-29",
      "timestamp": "2026-01-29T14:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5515.79,
      "stop": 5511.624,
      "target": 5524.122,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.86,
        "bb_width_pct": 0.6
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-29T14-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-29",
      "timestamp": "2026-01-29T14:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5505.185,
      "stop": 5497.019,
      "target": 5521.518,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.47,
        "bb_width_pct": 0.648
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-29T18-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-29",
      "timestamp": "2026-01-29T18:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5351.4,
      "stop": 5406.624,
      "target": 5240.952,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.45,
        "bb_width_pct": 0.862
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-29T18-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-29",
      "timestamp": "2026-01-29T18:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5338.785,
      "stop": 5387.221,
      "target": 5241.913,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.98,
        "bb_width_pct": 0.858
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-29T19-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-29",
      "timestamp": "2026-01-29T19:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5334.53,
      "stop": 5327.663,
      "target": 5348.263,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.26,
        "bb_width_pct": 0.841
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-29T19-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-29",
      "timestamp": "2026-01-29T19:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5334.53,
      "stop": 5378.415,
      "target": 5246.76,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.26,
        "bb_width_pct": 0.841
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-29T19-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-29",
      "timestamp": "2026-01-29T19:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5319.61,
      "stop": 5308.001,
      "target": 5342.829,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.79,
        "bb_width_pct": 1.075
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-29T19-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-29",
      "timestamp": "2026-01-29T19:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5314.545,
      "stop": 5301.749,
      "target": 5340.136,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.01,
        "bb_width_pct": 1.075
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-29T23-20-00Z_long_vwap_mean_reversion",
      "date": "2026-01-29",
      "timestamp": "2026-01-29T23:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5402.645,
      "stop": 5371.582,
      "target": 5464.771,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.03,
        "bb_width_pct": 1.198
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-29T23-25-00Z_long_vwap_mean_reversion",
      "date": "2026-01-29",
      "timestamp": "2026-01-29T23:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5416.975,
      "stop": 5393.689,
      "target": 5463.547,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.64,
        "bb_width_pct": 1.139
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-30T00-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-30",
      "timestamp": "2026-01-30T00:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5422.23,
      "stop": 5444.012,
      "target": 5378.665,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.19,
        "bb_width_pct": 0.977
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-30T00-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-30",
      "timestamp": "2026-01-30T00:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5401.775,
      "stop": 5388.645,
      "target": 5428.034,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.76,
        "bb_width_pct": 1.095
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-30T00-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-30",
      "timestamp": "2026-01-30T00:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5401.775,
      "stop": 5391.769,
      "target": 5421.787,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.76,
        "bb_width_pct": 1.095
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-30T05-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-30",
      "timestamp": "2026-01-30T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5231.79,
      "stop": 5242.729,
      "target": 5209.911,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.94,
        "bb_width_pct": 1.156
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-30T05-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-30",
      "timestamp": "2026-01-30T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5231.79,
      "stop": 5240.161,
      "target": 5215.047,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.94,
        "bb_width_pct": 1.156
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-30T05-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-30",
      "timestamp": "2026-01-30T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5230.245,
      "stop": 5238.837,
      "target": 5213.061,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.44,
        "bb_width_pct": 0.928
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-30T05-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-01-30",
      "timestamp": "2026-01-30T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5230.245,
      "stop": 5237.12,
      "target": 5216.495,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.44,
        "bb_width_pct": 0.928
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-30T05-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-30",
      "timestamp": "2026-01-30T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5217.23,
      "stop": 5235.956,
      "target": 5179.778,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.37,
        "bb_width_pct": 0.753
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-30T05-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-01-30",
      "timestamp": "2026-01-30T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5230.315,
      "stop": 5237.231,
      "target": 5216.483,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.95,
        "bb_width_pct": 0.726
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-30T05-35-00Z_long_vwap_mean_reversion",
      "date": "2026-01-30",
      "timestamp": "2026-01-30T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5230.315,
      "stop": 5209.91,
      "target": 5271.125,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.95,
        "bb_width_pct": 0.726
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-30T05-40-00Z_long_vwap_mean_reversion",
      "date": "2026-01-30",
      "timestamp": "2026-01-30T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5232.77,
      "stop": 5213.881,
      "target": 5270.548,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.79,
        "bb_width_pct": 0.766
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-30T05-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-30",
      "timestamp": "2026-01-30T05:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5218.94,
      "stop": 5231.742,
      "target": 5193.335,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.45,
        "bb_width_pct": 0.751
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-30T06-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-30",
      "timestamp": "2026-01-30T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5203.68,
      "stop": 5197.485,
      "target": 5216.071,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.81,
        "bb_width_pct": 0.927
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-30T06-00-00Z_long_vwap_mean_reversion",
      "date": "2026-01-30",
      "timestamp": "2026-01-30T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5203.68,
      "stop": 5171.967,
      "target": 5267.106,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.81,
        "bb_width_pct": 0.927
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-30T06-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-30",
      "timestamp": "2026-01-30T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5203.68,
      "stop": 5198.201,
      "target": 5214.637,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.81,
        "bb_width_pct": 0.927
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-30T06-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-30",
      "timestamp": "2026-01-30T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5193.725,
      "stop": 5182.965,
      "target": 5215.246,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.32,
        "bb_width_pct": 0.996
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-30T06-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-01-30",
      "timestamp": "2026-01-30T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5193.725,
      "stop": 5184.265,
      "target": 5212.646,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.32,
        "bb_width_pct": 0.996
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-30T06-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-30",
      "timestamp": "2026-01-30T06:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5191.645,
      "stop": 5180.379,
      "target": 5214.176,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.98,
        "bb_width_pct": 1.072
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-30T07-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-30",
      "timestamp": "2026-01-30T07:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5147.16,
      "stop": 5136.994,
      "target": 5167.492,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.55,
        "bb_width_pct": 1.129
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-30T08-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-01-30",
      "timestamp": "2026-01-30T08:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5158.045,
      "stop": 5156.597,
      "target": 5160.941,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.03,
        "bb_width_pct": 0.9
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-30T08-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-01-30",
      "timestamp": "2026-01-30T08:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5158.045,
      "stop": 5147.102,
      "target": 5179.93,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.03,
        "bb_width_pct": 0.9
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-30T12-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-30",
      "timestamp": "2026-01-30T12:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5120.085,
      "stop": 5158.257,
      "target": 5043.74,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.26,
        "bb_width_pct": 0.932
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-30T12-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-30",
      "timestamp": "2026-01-30T12:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5119.22,
      "stop": 5156.96,
      "target": 5043.74,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.12,
        "bb_width_pct": 0.789
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-30T12-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-30",
      "timestamp": "2026-01-30T12:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5109.815,
      "stop": 5142.852,
      "target": 5043.74,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.5,
        "bb_width_pct": 0.812
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-01-30T12-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-01-30",
      "timestamp": "2026-01-30T12:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5065.99,
      "stop": 5077.115,
      "target": 5043.74,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.24,
        "bb_width_pct": 1.152
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-02T12-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-02",
      "timestamp": "2026-02-02T12:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4789.14,
      "stop": 4799.156,
      "target": 4769.107,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.44,
        "bb_width_pct": 1.105
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-02T12-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-02",
      "timestamp": "2026-02-02T12:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4789.14,
      "stop": 4820.104,
      "target": 4727.212,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.44,
        "bb_width_pct": 1.105
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-02T12-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-02",
      "timestamp": "2026-02-02T12:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4789.14,
      "stop": 4801.751,
      "target": 4763.919,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.44,
        "bb_width_pct": 1.105
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-02T12-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-02",
      "timestamp": "2026-02-02T12:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4785.145,
      "stop": 4810.399,
      "target": 4734.638,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.37,
        "bb_width_pct": 1.072
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-02T12-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-02",
      "timestamp": "2026-02-02T12:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4785.145,
      "stop": 4794.747,
      "target": 4765.94,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.37,
        "bb_width_pct": 1.072
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-02T13-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-02",
      "timestamp": "2026-02-02T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4748.195,
      "stop": 4736.034,
      "target": 4772.517,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.57,
        "bb_width_pct": 1.155
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-02T13-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-02",
      "timestamp": "2026-02-02T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4748.195,
      "stop": 4754.974,
      "target": 4734.638,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.57,
        "bb_width_pct": 1.155
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-02T13-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-02",
      "timestamp": "2026-02-02T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4748.195,
      "stop": 4738.935,
      "target": 4766.716,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.57,
        "bb_width_pct": 1.155
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-02T13-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-02",
      "timestamp": "2026-02-02T13:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4783.45,
      "stop": 4787.317,
      "target": 4775.717,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.59,
        "bb_width_pct": 1.04
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-02T13-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-02",
      "timestamp": "2026-02-02T13:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4783.45,
      "stop": 4807.856,
      "target": 4734.638,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.59,
        "bb_width_pct": 1.04
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-02T13-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-02",
      "timestamp": "2026-02-02T13:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4750.935,
      "stop": 4759.084,
      "target": 4734.638,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.12,
        "bb_width_pct": 1.134
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-02T21-20-00Z_long_vwap_mean_reversion",
      "date": "2026-02-02",
      "timestamp": "2026-02-02T21:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4673.69,
      "stop": 4653.236,
      "target": 4714.598,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.97,
        "bb_width_pct": 1.152
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-02T21-25-00Z_long_vwap_mean_reversion",
      "date": "2026-02-02",
      "timestamp": "2026-02-02T21:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4681.035,
      "stop": 4664.821,
      "target": 4713.462,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.13,
        "bb_width_pct": 0.985
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-02T21-35-00Z_long_vwap_mean_reversion",
      "date": "2026-02-02",
      "timestamp": "2026-02-02T21:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4679.92,
      "stop": 4664.322,
      "target": 4711.116,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.54,
        "bb_width_pct": 0.898
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-02T21-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-02",
      "timestamp": "2026-02-02T21:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4665.175,
      "stop": 4663.41,
      "target": 4668.706,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.87,
        "bb_width_pct": 0.653
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-02T23-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-02",
      "timestamp": "2026-02-02T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4701.38,
      "stop": 4715.951,
      "target": 4672.238,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 22.88,
        "bb_width_pct": 0.868
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-03T05-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-03",
      "timestamp": "2026-02-03T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4831.39,
      "stop": 4838.085,
      "target": 4818.0,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.85,
        "bb_width_pct": 0.667
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-03T05-30-00Z_short_vwap_mean_reversion",
      "date": "2026-02-03",
      "timestamp": "2026-02-03T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4831.39,
      "stop": 4844.092,
      "target": 4805.986,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.85,
        "bb_width_pct": 0.667
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-03T05-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-03",
      "timestamp": "2026-02-03T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4831.39,
      "stop": 4850.09,
      "target": 4793.99,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.85,
        "bb_width_pct": 0.667
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-03T05-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-03",
      "timestamp": "2026-02-03T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4831.39,
      "stop": 4838.699,
      "target": 4816.771,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.85,
        "bb_width_pct": 0.667
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-03T05-35-00Z_short_vwap_mean_reversion",
      "date": "2026-02-03",
      "timestamp": "2026-02-03T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4830.995,
      "stop": 4843.337,
      "target": 4806.31,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 9.82,
        "bb_width_pct": 0.685
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-03T05-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-03",
      "timestamp": "2026-02-03T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4830.995,
      "stop": 4849.497,
      "target": 4793.99,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.82,
        "bb_width_pct": 0.685
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-03T05-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-03",
      "timestamp": "2026-02-03T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4820.905,
      "stop": 4821.729,
      "target": 4819.258,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.81,
        "bb_width_pct": 0.685
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-03T05-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-03",
      "timestamp": "2026-02-03T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4820.905,
      "stop": 4834.362,
      "target": 4793.99,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.81,
        "bb_width_pct": 0.685
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-03T05-50-00Z_short_vwap_mean_reversion",
      "date": "2026-02-03",
      "timestamp": "2026-02-03T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4823.695,
      "stop": 4831.995,
      "target": 4807.094,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 1.04,
        "bb_width_pct": 0.701
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-03T05-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-03",
      "timestamp": "2026-02-03T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4823.695,
      "stop": 4838.547,
      "target": 4793.99,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.04,
        "bb_width_pct": 0.701
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-03T06-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-03",
      "timestamp": "2026-02-03T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4820.335,
      "stop": 4833.507,
      "target": 4793.99,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.81,
        "bb_width_pct": 0.622
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-03T06-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-03",
      "timestamp": "2026-02-03T06:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4843.095,
      "stop": 4853.108,
      "target": 4823.068,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.68,
        "bb_width_pct": 0.643
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-03T08-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-03",
      "timestamp": "2026-02-03T08:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4912.675,
      "stop": 4927.978,
      "target": 4882.07,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.72,
        "bb_width_pct": 1.016
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-03T09-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-03",
      "timestamp": "2026-02-03T09:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4906.57,
      "stop": 4897.655,
      "target": 4924.399,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.4,
        "bb_width_pct": 0.802
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-03T09-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-03",
      "timestamp": "2026-02-03T09:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4904.76,
      "stop": 4895.351,
      "target": 4923.578,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.88,
        "bb_width_pct": 0.873
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-03T09-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-03",
      "timestamp": "2026-02-03T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4897.85,
      "stop": 4886.327,
      "target": 4920.896,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.84,
        "bb_width_pct": 1.126
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-03T09-30-00Z_long_rsi_range_reversion",
      "date": "2026-02-03",
      "timestamp": "2026-02-03T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4897.85,
      "stop": 4886.327,
      "target": 4920.896,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.84,
        "bb_width_pct": 1.126
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-03T09-30-00Z_long_vwap_mean_reversion",
      "date": "2026-02-03",
      "timestamp": "2026-02-03T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4897.85,
      "stop": 4889.423,
      "target": 4914.704,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.84,
        "bb_width_pct": 1.126
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-03T09-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-03",
      "timestamp": "2026-02-03T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4897.85,
      "stop": 4890.766,
      "target": 4912.018,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.84,
        "bb_width_pct": 1.126
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-03T10-35-00Z_short_rsi_range_reversion",
      "date": "2026-02-03",
      "timestamp": "2026-02-03T10:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4917.045,
      "stop": 4918.233,
      "target": 4914.669,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 14.89,
        "bb_width_pct": 0.666
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-03T11-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-03",
      "timestamp": "2026-02-03T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4903.24,
      "stop": 4897.494,
      "target": 4914.731,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.75,
        "bb_width_pct": 0.701
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-03T11-00-00Z_long_vwap_mean_reversion",
      "date": "2026-02-03",
      "timestamp": "2026-02-03T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4903.24,
      "stop": 4896.716,
      "target": 4916.288,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.75,
        "bb_width_pct": 0.701
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-03T11-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-03",
      "timestamp": "2026-02-03T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4903.24,
      "stop": 4896.034,
      "target": 4917.653,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.75,
        "bb_width_pct": 0.701
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-03T11-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-03",
      "timestamp": "2026-02-03T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4903.24,
      "stop": 4897.563,
      "target": 4914.594,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.75,
        "bb_width_pct": 0.701
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-03T11-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-03",
      "timestamp": "2026-02-03T11:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4899.36,
      "stop": 4893.07,
      "target": 4911.939,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.52,
        "bb_width_pct": 0.577
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-03T11-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-03",
      "timestamp": "2026-02-03T11:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4901.25,
      "stop": 4895.747,
      "target": 4912.256,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.75,
        "bb_width_pct": 0.781
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-03T11-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-03",
      "timestamp": "2026-02-03T11:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4901.25,
      "stop": 4893.283,
      "target": 4917.185,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.75,
        "bb_width_pct": 0.781
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-03T11-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-03",
      "timestamp": "2026-02-03T11:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4901.25,
      "stop": 4897.579,
      "target": 4908.592,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.75,
        "bb_width_pct": 0.781
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-03T12-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-03",
      "timestamp": "2026-02-03T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4932.18,
      "stop": 4942.388,
      "target": 4911.763,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.5,
        "bb_width_pct": 0.806
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-03T12-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-03",
      "timestamp": "2026-02-03T12:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4929.915,
      "stop": 4939.192,
      "target": 4911.361,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.54,
        "bb_width_pct": 0.874
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-03T12-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-03",
      "timestamp": "2026-02-03T12:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4929.915,
      "stop": 4939.784,
      "target": 4910.177,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.54,
        "bb_width_pct": 0.874
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-03T12-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-03",
      "timestamp": "2026-02-03T12:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4929.915,
      "stop": 4938.126,
      "target": 4913.492,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.54,
        "bb_width_pct": 0.874
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-03T12-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-03",
      "timestamp": "2026-02-03T12:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4925.08,
      "stop": 4932.54,
      "target": 4910.16,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.72,
        "bb_width_pct": 0.894
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-03T13-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-03",
      "timestamp": "2026-02-03T13:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4918.28,
      "stop": 4922.34,
      "target": 4910.16,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.13,
        "bb_width_pct": 0.744
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-03T13-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-03",
      "timestamp": "2026-02-03T13:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4934.485,
      "stop": 4942.876,
      "target": 4917.704,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.77,
        "bb_width_pct": 0.787
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-03T13-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-03",
      "timestamp": "2026-02-03T13:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4934.485,
      "stop": 4942.508,
      "target": 4918.439,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.77,
        "bb_width_pct": 0.787
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-03T13-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-03",
      "timestamp": "2026-02-03T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4935.725,
      "stop": 4943.545,
      "target": 4920.085,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.38,
        "bb_width_pct": 0.806
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-03T13-35-00Z_short_rsi_range_reversion",
      "date": "2026-02-03",
      "timestamp": "2026-02-03T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4930.94,
      "stop": 4936.422,
      "target": 4919.977,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 8.73,
        "bb_width_pct": 0.83
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-03T13-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-03",
      "timestamp": "2026-02-03T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4930.94,
      "stop": 4940.608,
      "target": 4911.605,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.73,
        "bb_width_pct": 0.83
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-03T13-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-03",
      "timestamp": "2026-02-03T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4930.94,
      "stop": 4935.85,
      "target": 4921.119,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.73,
        "bb_width_pct": 0.83
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-03T13-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-03",
      "timestamp": "2026-02-03T13:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4926.37,
      "stop": 4928.886,
      "target": 4921.337,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.44,
        "bb_width_pct": 0.992
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-03T13-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-03",
      "timestamp": "2026-02-03T13:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4926.37,
      "stop": 4930.809,
      "target": 4917.493,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.44,
        "bb_width_pct": 0.992
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-03T13-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-03",
      "timestamp": "2026-02-03T13:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4926.37,
      "stop": 4926.858,
      "target": 4925.393,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.44,
        "bb_width_pct": 0.992
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-03T14-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-03",
      "timestamp": "2026-02-03T14:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4917.54,
      "stop": 4913.579,
      "target": 4925.462,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.82,
        "bb_width_pct": 0.781
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-03T14-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-03",
      "timestamp": "2026-02-03T14:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4917.54,
      "stop": 4913.753,
      "target": 4925.114,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.82,
        "bb_width_pct": 0.781
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-03T14-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-03",
      "timestamp": "2026-02-03T14:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4910.58,
      "stop": 4903.185,
      "target": 4925.369,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.8,
        "bb_width_pct": 0.792
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-03T14-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-03",
      "timestamp": "2026-02-03T14:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4910.58,
      "stop": 4904.005,
      "target": 4923.73,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.8,
        "bb_width_pct": 0.792
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-03T14-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-03",
      "timestamp": "2026-02-03T14:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4925.11,
      "stop": 4924.693,
      "target": 4925.945,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.33,
        "bb_width_pct": 0.761
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-03T14-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-03",
      "timestamp": "2026-02-03T14:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4918.455,
      "stop": 4914.737,
      "target": 4925.891,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.23,
        "bb_width_pct": 0.788
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-03T14-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-03",
      "timestamp": "2026-02-03T14:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4918.455,
      "stop": 4916.867,
      "target": 4921.631,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.23,
        "bb_width_pct": 0.788
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-03T15-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-03",
      "timestamp": "2026-02-03T15:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4919.405,
      "stop": 4916.412,
      "target": 4925.39,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.54,
        "bb_width_pct": 0.805
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-03T15-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-03",
      "timestamp": "2026-02-03T15:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4936.405,
      "stop": 4941.824,
      "target": 4925.566,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.9,
        "bb_width_pct": 0.82
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-03T15-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-03",
      "timestamp": "2026-02-03T15:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4936.405,
      "stop": 4943.716,
      "target": 4921.783,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.9,
        "bb_width_pct": 0.82
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-03T15-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-03",
      "timestamp": "2026-02-03T15:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4927.78,
      "stop": 4930.779,
      "target": 4921.783,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.4,
        "bb_width_pct": 0.815
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-03T16-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-03",
      "timestamp": "2026-02-03T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4940.125,
      "stop": 4948.019,
      "target": 4924.338,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.33,
        "bb_width_pct": 0.736
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-03T16-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-03",
      "timestamp": "2026-02-03T16:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4944.265,
      "stop": 4952.932,
      "target": 4926.932,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.62,
        "bb_width_pct": 0.735
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-03T20-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-03",
      "timestamp": "2026-02-03T20:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4937.95,
      "stop": 4940.916,
      "target": 4932.019,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.14,
        "bb_width_pct": 0.974
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-03T20-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-03",
      "timestamp": "2026-02-03T20:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4937.95,
      "stop": 4945.565,
      "target": 4922.72,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.14,
        "bb_width_pct": 0.974
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-03T20-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-03",
      "timestamp": "2026-02-03T20:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4937.95,
      "stop": 4940.14,
      "target": 4933.569,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.14,
        "bb_width_pct": 0.974
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-03T21-05-00Z_short_vwap_mean_reversion",
      "date": "2026-02-03",
      "timestamp": "2026-02-03T21:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4948.285,
      "stop": 4965.192,
      "target": 4914.47,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 18.39,
        "bb_width_pct": 0.982
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-03T21-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-03",
      "timestamp": "2026-02-03T21:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4948.285,
      "stop": 4962.976,
      "target": 4918.903,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.39,
        "bb_width_pct": 0.982
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-03T21-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-03",
      "timestamp": "2026-02-03T21:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4958.16,
      "stop": 4968.233,
      "target": 4938.014,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.86,
        "bb_width_pct": 1.028
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-03T21-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-03",
      "timestamp": "2026-02-03T21:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4958.16,
      "stop": 4967.441,
      "target": 4939.597,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.86,
        "bb_width_pct": 1.028
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-03T21-15-00Z_short_vwap_mean_reversion",
      "date": "2026-02-03",
      "timestamp": "2026-02-03T21:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4944.97,
      "stop": 4958.841,
      "target": 4917.229,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.0,
        "bb_width_pct": 1.036
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-03T21-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-03",
      "timestamp": "2026-02-03T21:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4944.97,
      "stop": 4956.246,
      "target": 4922.417,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.0,
        "bb_width_pct": 1.036
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-03T21-25-00Z_short_vwap_mean_reversion",
      "date": "2026-02-03",
      "timestamp": "2026-02-03T21:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4950.78,
      "stop": 4966.441,
      "target": 4919.457,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.4,
        "bb_width_pct": 1.081
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-03T21-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-03",
      "timestamp": "2026-02-03T21:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4950.78,
      "stop": 4964.961,
      "target": 4922.417,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.4,
        "bb_width_pct": 1.081
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-03T21-35-00Z_short_vwap_mean_reversion",
      "date": "2026-02-03",
      "timestamp": "2026-02-03T21:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4944.995,
      "stop": 4956.777,
      "target": 4921.431,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.57,
        "bb_width_pct": 1.033
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-03T21-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-03",
      "timestamp": "2026-02-03T21:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4944.995,
      "stop": 4956.284,
      "target": 4922.417,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.57,
        "bb_width_pct": 1.033
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-03T21-40-00Z_short_vwap_mean_reversion",
      "date": "2026-02-03",
      "timestamp": "2026-02-03T21:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4940.415,
      "stop": 4949.621,
      "target": 4922.004,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.46,
        "bb_width_pct": 0.854
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-03T21-45-00Z_short_vwap_mean_reversion",
      "date": "2026-02-03",
      "timestamp": "2026-02-03T21:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4939.25,
      "stop": 4947.63,
      "target": 4922.489,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.23,
        "bb_width_pct": 0.722
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-03T23-00-00Z_short_vwap_mean_reversion",
      "date": "2026-02-03",
      "timestamp": "2026-02-03T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4958.385,
      "stop": 4975.276,
      "target": 4924.603,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.51,
        "bb_width_pct": 0.512
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-03T23-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-03",
      "timestamp": "2026-02-03T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4958.385,
      "stop": 4976.369,
      "target": 4922.417,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.51,
        "bb_width_pct": 0.512
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-03T23-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-03",
      "timestamp": "2026-02-03T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4927.07,
      "stop": 4929.396,
      "target": 4922.417,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.73,
        "bb_width_pct": 0.612
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-03T23-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-03",
      "timestamp": "2026-02-03T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4927.07,
      "stop": 4919.114,
      "target": 4942.982,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.73,
        "bb_width_pct": 0.612
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-03T23-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-03",
      "timestamp": "2026-02-03T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4933.125,
      "stop": 4926.77,
      "target": 4945.834,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.92,
        "bb_width_pct": 0.635
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-03T23-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-03",
      "timestamp": "2026-02-03T23:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4936.285,
      "stop": 4932.307,
      "target": 4944.24,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.02,
        "bb_width_pct": 0.652
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-03T23-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-03",
      "timestamp": "2026-02-03T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4930.08,
      "stop": 4923.566,
      "target": 4943.108,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.9,
        "bb_width_pct": 0.772
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-03T23-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-03",
      "timestamp": "2026-02-03T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4941.745,
      "stop": 4946.03,
      "target": 4933.175,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.65,
        "bb_width_pct": 0.759
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T02-30-00Z_short_vwap_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5044.765,
      "stop": 5056.476,
      "target": 5021.343,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.48,
        "bb_width_pct": 1.176
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T02-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5044.765,
      "stop": 5070.628,
      "target": 4993.04,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.48,
        "bb_width_pct": 1.176
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T02-35-00Z_short_vwap_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T02:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5043.89,
      "stop": 5054.797,
      "target": 5022.075,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.97,
        "bb_width_pct": 1.064
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T02-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T02:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5043.89,
      "stop": 5069.315,
      "target": 4993.04,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.97,
        "bb_width_pct": 1.064
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T02-45-00Z_short_rsi_range_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5060.25,
      "stop": 5066.166,
      "target": 5048.418,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 14.39,
        "bb_width_pct": 0.931
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T02-45-00Z_short_vwap_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5060.25,
      "stop": 5078.333,
      "target": 5024.083,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.39,
        "bb_width_pct": 0.931
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T02-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5060.25,
      "stop": 5093.754,
      "target": 4993.243,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.39,
        "bb_width_pct": 0.931
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T02-50-00Z_short_vwap_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T02:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5042.755,
      "stop": 5051.768,
      "target": 5024.73,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.58,
        "bb_width_pct": 0.935
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T02-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T02:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5042.755,
      "stop": 5065.238,
      "target": 4997.79,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.58,
        "bb_width_pct": 0.935
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T02-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T02:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5040.2,
      "stop": 5058.975,
      "target": 5002.65,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.54,
        "bb_width_pct": 0.944
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T03-15-00Z_short_vwap_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5046.14,
      "stop": 5055.498,
      "target": 5027.424,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.75,
        "bb_width_pct": 0.686
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T03-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5046.14,
      "stop": 5066.221,
      "target": 5005.977,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.75,
        "bb_width_pct": 0.686
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T03-20-00Z_short_vwap_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T03:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5044.06,
      "stop": 5052.175,
      "target": 5027.829,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 9.71,
        "bb_width_pct": 0.618
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T03-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T03:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5062.905,
      "stop": 5067.467,
      "target": 5053.781,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.58,
        "bb_width_pct": 0.67
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T03-40-00Z_short_vwap_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T03:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5062.905,
      "stop": 5078.995,
      "target": 5030.725,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.58,
        "bb_width_pct": 0.67
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T03-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T03:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5062.905,
      "stop": 5084.401,
      "target": 5019.913,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.58,
        "bb_width_pct": 0.67
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T03-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T03:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5062.905,
      "stop": 5069.217,
      "target": 5050.281,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.58,
        "bb_width_pct": 0.67
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T03-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T03:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5072.715,
      "stop": 5081.798,
      "target": 5054.549,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.59,
        "bb_width_pct": 0.749
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T03-55-00Z_short_vwap_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T03:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5070.115,
      "stop": 5088.629,
      "target": 5033.087,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 17.25,
        "bb_width_pct": 0.788
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T03-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T03:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5070.115,
      "stop": 5091.544,
      "target": 5027.257,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.25,
        "bb_width_pct": 0.788
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T03-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T03:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5070.115,
      "stop": 5077.56,
      "target": 5055.226,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.25,
        "bb_width_pct": 0.788
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T04-00-00Z_short_vwap_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T04:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5065.45,
      "stop": 5081.284,
      "target": 5033.783,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 17.8,
        "bb_width_pct": 0.807
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T04-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T04:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5065.45,
      "stop": 5083.476,
      "target": 5029.398,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.8,
        "bb_width_pct": 0.807
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T04-05-00Z_short_rsi_range_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5064.535,
      "stop": 5068.941,
      "target": 5055.724,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 11.93,
        "bb_width_pct": 0.822
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T04-05-00Z_short_vwap_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5064.535,
      "stop": 5079.59,
      "target": 5034.426,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.93,
        "bb_width_pct": 0.822
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T04-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5064.535,
      "stop": 5082.104,
      "target": 5029.398,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.93,
        "bb_width_pct": 0.822
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T04-15-00Z_short_vwap_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T04:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5067.54,
      "stop": 5083.418,
      "target": 5035.784,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.19,
        "bb_width_pct": 0.829
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T04-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T04:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5067.54,
      "stop": 5086.562,
      "target": 5029.495,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.19,
        "bb_width_pct": 0.829
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T04-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T04:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5067.54,
      "stop": 5071.627,
      "target": 5059.366,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.19,
        "bb_width_pct": 0.829
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T04-20-00Z_short_vwap_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5062.195,
      "stop": 5075.152,
      "target": 5036.281,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.08,
        "bb_width_pct": 0.83
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T04-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5062.195,
      "stop": 5072.02,
      "target": 5042.545,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.08,
        "bb_width_pct": 0.83
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T04-25-00Z_short_vwap_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T04:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5061.975,
      "stop": 5074.584,
      "target": 5036.758,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.22,
        "bb_width_pct": 0.832
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T04-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T04:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5061.975,
      "stop": 5071.69,
      "target": 5042.545,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.22,
        "bb_width_pct": 0.832
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T05-00-00Z_short_vwap_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5079.74,
      "stop": 5099.096,
      "target": 5041.028,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.19,
        "bb_width_pct": 0.558
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T05-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5079.74,
      "stop": 5092.16,
      "target": 5054.9,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.19,
        "bb_width_pct": 0.558
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T05-10-00Z_short_rsi_range_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5083.025,
      "stop": 5088.879,
      "target": 5071.317,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 20.26,
        "bb_width_pct": 0.546
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T05-10-00Z_short_vwap_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5083.025,
      "stop": 5103.373,
      "target": 5042.329,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 20.26,
        "bb_width_pct": 0.546
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T05-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5083.025,
      "stop": 5094.796,
      "target": 5059.483,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 20.26,
        "bb_width_pct": 0.546
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T05-15-00Z_short_rsi_range_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5081.615,
      "stop": 5086.485,
      "target": 5071.876,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 9.85,
        "bb_width_pct": 0.573
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T05-15-00Z_short_vwap_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5081.615,
      "stop": 5100.943,
      "target": 5042.958,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 9.85,
        "bb_width_pct": 0.573
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T05-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5081.615,
      "stop": 5092.492,
      "target": 5059.86,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.85,
        "bb_width_pct": 0.573
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T05-20-00Z_short_vwap_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5079.78,
      "stop": 5097.9,
      "target": 5043.54,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.64,
        "bb_width_pct": 0.564
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T05-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5079.78,
      "stop": 5089.37,
      "target": 5060.6,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.64,
        "bb_width_pct": 0.564
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T05-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5079.78,
      "stop": 5083.417,
      "target": 5072.506,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.64,
        "bb_width_pct": 0.564
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T05-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5080.2,
      "stop": 5083.681,
      "target": 5073.239,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 23.09,
        "bb_width_pct": 0.559
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T05-30-00Z_short_rsi_range_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5075.605,
      "stop": 5076.587,
      "target": 5073.64,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 17.62,
        "bb_width_pct": 0.56
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T05-30-00Z_short_vwap_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5075.605,
      "stop": 5091.103,
      "target": 5044.608,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 17.62,
        "bb_width_pct": 0.56
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T05-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5075.605,
      "stop": 5083.107,
      "target": 5060.6,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.62,
        "bb_width_pct": 0.56
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T05-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5075.605,
      "stop": 5076.675,
      "target": 5073.464,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.62,
        "bb_width_pct": 0.56
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T05-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5081.38,
      "stop": 5084.787,
      "target": 5074.565,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.54,
        "bb_width_pct": 0.55
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T05-50-00Z_short_rsi_range_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5087.015,
      "stop": 5092.153,
      "target": 5076.739,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 12.16,
        "bb_width_pct": 0.596
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T05-50-00Z_short_vwap_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5087.015,
      "stop": 5107.147,
      "target": 5046.75,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.16,
        "bb_width_pct": 0.596
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T05-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5087.015,
      "stop": 5099.189,
      "target": 5062.667,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.16,
        "bb_width_pct": 0.596
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T05-55-00Z_short_vwap_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T05:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5079.455,
      "stop": 5095.567,
      "target": 5047.231,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.64,
        "bb_width_pct": 0.573
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T05-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T05:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5079.455,
      "stop": 5087.644,
      "target": 5063.078,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.64,
        "bb_width_pct": 0.573
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T05-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T05:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5079.455,
      "stop": 5080.566,
      "target": 5077.233,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.64,
        "bb_width_pct": 0.573
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T06-05-00Z_short_vwap_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5064.605,
      "stop": 5072.944,
      "target": 5047.927,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.48,
        "bb_width_pct": 0.48
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T06-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5064.605,
      "stop": 5058.786,
      "target": 5076.242,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.48,
        "bb_width_pct": 0.48
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T06-10-00Z_short_vwap_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T06:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5059.905,
      "stop": 5065.808,
      "target": 5048.099,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 20.18,
        "bb_width_pct": 0.526
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T06-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T06:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5065.525,
      "stop": 5059.394,
      "target": 5077.788,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.78,
        "bb_width_pct": 0.56
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T06-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T06:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5065.525,
      "stop": 5061.381,
      "target": 5073.814,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.78,
        "bb_width_pct": 0.56
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T06-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5060.815,
      "stop": 5053.701,
      "target": 5075.043,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.27,
        "bb_width_pct": 0.801
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T06-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5060.815,
      "stop": 5056.403,
      "target": 5069.64,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.27,
        "bb_width_pct": 0.801
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T06-50-00Z_short_vwap_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T06:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5074.14,
      "stop": 5086.349,
      "target": 5049.722,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.17,
        "bb_width_pct": 0.77
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T07-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T07:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5089.36,
      "stop": 5098.781,
      "target": 5070.519,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 24.92,
        "bb_width_pct": 0.749
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T07-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5073.82,
      "stop": 5075.801,
      "target": 5069.859,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.65,
        "bb_width_pct": 0.691
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T07-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5073.82,
      "stop": 5075.332,
      "target": 5070.795,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.65,
        "bb_width_pct": 0.691
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T07-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5073.82,
      "stop": 5074.402,
      "target": 5072.655,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.65,
        "bb_width_pct": 0.691
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T07-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T07:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5089.555,
      "stop": 5096.462,
      "target": 5075.742,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.3,
        "bb_width_pct": 0.753
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T07-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T07:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5084.905,
      "stop": 5091.821,
      "target": 5071.073,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.34,
        "bb_width_pct": 0.775
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T07-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T07:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5084.905,
      "stop": 5089.05,
      "target": 5076.614,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.34,
        "bb_width_pct": 0.775
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T08-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5079.51,
      "stop": 5083.538,
      "target": 5071.455,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.89,
        "bb_width_pct": 0.73
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T08-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5079.51,
      "stop": 5080.82,
      "target": 5076.89,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.89,
        "bb_width_pct": 0.73
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T08-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T08:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5077.49,
      "stop": 5080.464,
      "target": 5071.542,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.12,
        "bb_width_pct": 0.609
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T08-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T08:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5082.68,
      "stop": 5088.249,
      "target": 5071.542,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.61,
        "bb_width_pct": 0.595
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T09-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5081.565,
      "stop": 5086.576,
      "target": 5071.542,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.5,
        "bb_width_pct": 0.384
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T09-20-00Z_long_vwap_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T09:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5064.555,
      "stop": 5058.142,
      "target": 5077.381,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.61,
        "bb_width_pct": 0.552
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T09-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T09:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5064.555,
      "stop": 5061.061,
      "target": 5071.542,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 17.61,
        "bb_width_pct": 0.552
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T09-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T09:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5064.555,
      "stop": 5059.012,
      "target": 5075.64,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.61,
        "bb_width_pct": 0.552
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T09-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5058.36,
      "stop": 5050.272,
      "target": 5074.536,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.6,
        "bb_width_pct": 0.809
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T09-35-00Z_long_rsi_range_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5058.36,
      "stop": 5050.272,
      "target": 5074.536,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.6,
        "bb_width_pct": 0.809
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T09-35-00Z_long_vwap_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5058.36,
      "stop": 5049.878,
      "target": 5075.323,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.6,
        "bb_width_pct": 0.809
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T09-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5058.36,
      "stop": 5052.328,
      "target": 5070.423,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.6,
        "bb_width_pct": 0.809
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T09-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T09:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5055.78,
      "stop": 5047.709,
      "target": 5071.922,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.54,
        "bb_width_pct": 0.875
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T09-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T09:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5055.78,
      "stop": 5049.717,
      "target": 5067.907,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.54,
        "bb_width_pct": 0.875
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T09-50-00Z_long_vwap_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T09:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5061.55,
      "stop": 5055.397,
      "target": 5073.856,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.79,
        "bb_width_pct": 0.886
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T10-05-00Z_long_rsi_range_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T10:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5053.385,
      "stop": 5046.735,
      "target": 5066.685,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.61,
        "bb_width_pct": 0.864
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T10-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T10:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5053.385,
      "stop": 5046.284,
      "target": 5067.587,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 20.61,
        "bb_width_pct": 0.864
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T10-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T10:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5053.385,
      "stop": 5048.048,
      "target": 5064.059,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.61,
        "bb_width_pct": 0.864
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T10-10-00Z_long_rsi_range_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T10:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5054.005,
      "stop": 5048.14,
      "target": 5065.734,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.43,
        "bb_width_pct": 0.882
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T10-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T10:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5051.35,
      "stop": 5046.034,
      "target": 5061.982,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.51,
        "bb_width_pct": 0.882
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T10-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T10:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5043.47,
      "stop": 5031.542,
      "target": 5067.325,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.85,
        "bb_width_pct": 0.902
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T10-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T10:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5055.125,
      "stop": 5049.21,
      "target": 5066.955,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.36,
        "bb_width_pct": 0.848
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T10-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T10:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5055.53,
      "stop": 5049.817,
      "target": 5066.955,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 3.27,
        "bb_width_pct": 0.727
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T11-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5049.15,
      "stop": 5040.247,
      "target": 5066.955,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.13,
        "bb_width_pct": 0.388
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T11-20-00Z_long_rsi_range_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T11:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5031.335,
      "stop": 5021.953,
      "target": 5050.1,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.5,
        "bb_width_pct": 0.657
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T11-20-00Z_long_vwap_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T11:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5031.335,
      "stop": 5022.598,
      "target": 5048.808,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.5,
        "bb_width_pct": 0.657
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T11-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T11:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5031.335,
      "stop": 5021.401,
      "target": 5051.203,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.5,
        "bb_width_pct": 0.657
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T11-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T11:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5033.195,
      "stop": 5026.247,
      "target": 5047.091,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.22,
        "bb_width_pct": 0.793
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T11-30-00Z_long_vwap_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T11:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5033.195,
      "stop": 5026.486,
      "target": 5046.613,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.22,
        "bb_width_pct": 0.793
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T11-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T11:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5033.195,
      "stop": 5024.455,
      "target": 5050.675,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.22,
        "bb_width_pct": 0.793
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T11-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T11:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5033.195,
      "stop": 5026.838,
      "target": 5045.909,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.22,
        "bb_width_pct": 0.793
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T12-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T12:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5050.55,
      "stop": 5054.625,
      "target": 5042.4,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.03,
        "bb_width_pct": 0.687
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T12-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T12:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5050.55,
      "stop": 5055.831,
      "target": 5039.988,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.03,
        "bb_width_pct": 0.687
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T12-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T12:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5050.55,
      "stop": 5052.386,
      "target": 5046.877,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.03,
        "bb_width_pct": 0.687
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T13-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5039.845,
      "stop": 5036.395,
      "target": 5046.744,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.61,
        "bb_width_pct": 0.665
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T13-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T13:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5031.18,
      "stop": 5024.585,
      "target": 5044.369,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.8,
        "bb_width_pct": 0.629
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T13-10-00Z_long_vwap_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T13:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5031.18,
      "stop": 5023.793,
      "target": 5045.955,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.8,
        "bb_width_pct": 0.629
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T13-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T13:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5031.18,
      "stop": 5024.876,
      "target": 5043.787,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.8,
        "bb_width_pct": 0.629
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T13-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5047.015,
      "stop": 5051.203,
      "target": 5038.64,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.42,
        "bb_width_pct": 0.62
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T13-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T13:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5054.185,
      "stop": 5061.958,
      "target": 5038.64,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.0,
        "bb_width_pct": 0.7
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T14-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5047.47,
      "stop": 5051.829,
      "target": 5038.753,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.45,
        "bb_width_pct": 0.7
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T18-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T18:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4897.215,
      "stop": 4892.322,
      "target": 4907.002,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.67,
        "bb_width_pct": 0.987
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T18-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T18:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4897.215,
      "stop": 4890.191,
      "target": 4911.263,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.67,
        "bb_width_pct": 0.987
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T18-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4924.44,
      "stop": 4931.911,
      "target": 4909.498,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.65,
        "bb_width_pct": 0.711
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T18-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T18:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4927.68,
      "stop": 4935.886,
      "target": 4911.268,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.63,
        "bb_width_pct": 0.782
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T19-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T19:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4914.98,
      "stop": 4916.611,
      "target": 4911.718,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.08,
        "bb_width_pct": 0.778
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T19-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T19:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4938.035,
      "stop": 4949.349,
      "target": 4915.407,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.31,
        "bb_width_pct": 1.163
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T19-15-00Z_short_vwap_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T19:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4938.035,
      "stop": 4949.875,
      "target": 4914.354,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.31,
        "bb_width_pct": 1.163
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T19-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T19:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4938.035,
      "stop": 4958.207,
      "target": 4897.69,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.31,
        "bb_width_pct": 1.163
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T19-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T19:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4938.035,
      "stop": 4946.163,
      "target": 4921.78,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.31,
        "bb_width_pct": 1.163
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T19-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T19:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4931.74,
      "stop": 4947.927,
      "target": 4899.365,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.68,
        "bb_width_pct": 1.188
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T19-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T19:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4931.53,
      "stop": 4947.612,
      "target": 4899.365,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.35,
        "bb_width_pct": 1.139
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T19-45-00Z_short_vwap_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T19:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4938.12,
      "stop": 4948.069,
      "target": 4918.222,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 9.02,
        "bb_width_pct": 1.053
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T19-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T19:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4938.12,
      "stop": 4957.497,
      "target": 4899.365,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.02,
        "bb_width_pct": 1.053
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T19-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T19:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4938.12,
      "stop": 4942.956,
      "target": 4928.447,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.02,
        "bb_width_pct": 1.053
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T19-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T19:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4937.1,
      "stop": 4942.164,
      "target": 4926.972,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.51,
        "bb_width_pct": 1.031
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T19-50-00Z_short_vwap_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T19:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4937.1,
      "stop": 4946.171,
      "target": 4918.958,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 9.51,
        "bb_width_pct": 1.031
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T19-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T19:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4937.1,
      "stop": 4955.91,
      "target": 4899.48,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.51,
        "bb_width_pct": 1.031
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T19-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T19:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4937.1,
      "stop": 4941.014,
      "target": 4929.271,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.51,
        "bb_width_pct": 1.031
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T20-00-00Z_short_vwap_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T20:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4941.41,
      "stop": 4952.069,
      "target": 4920.093,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.79,
        "bb_width_pct": 0.878
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T20-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T20:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4941.41,
      "stop": 4960.584,
      "target": 4903.062,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.79,
        "bb_width_pct": 0.878
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T20-05-00Z_short_vwap_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T20:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4940.305,
      "stop": 4950.165,
      "target": 4920.584,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.88,
        "bb_width_pct": 0.89
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T20-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T20:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4928.2,
      "stop": 4925.279,
      "target": 4934.042,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.21,
        "bb_width_pct": 0.615
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T20-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4942.555,
      "stop": 4945.604,
      "target": 4936.458,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.17,
        "bb_width_pct": 0.547
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T20-40-00Z_short_vwap_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4942.555,
      "stop": 4952.666,
      "target": 4922.333,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.17,
        "bb_width_pct": 0.547
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T20-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4942.555,
      "stop": 4956.186,
      "target": 4915.292,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.17,
        "bb_width_pct": 0.547
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T20-45-00Z_short_vwap_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T20:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4940.51,
      "stop": 4949.385,
      "target": 4922.759,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.99,
        "bb_width_pct": 0.55
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T20-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T20:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4940.51,
      "stop": 4953.119,
      "target": 4915.292,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.99,
        "bb_width_pct": 0.55
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T20-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T20:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4943.555,
      "stop": 4947.139,
      "target": 4936.387,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.8,
        "bb_width_pct": 0.533
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T20-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T20:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4938.33,
      "stop": 4939.294,
      "target": 4936.402,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.64,
        "bb_width_pct": 0.534
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T20-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T20:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4938.33,
      "stop": 4949.849,
      "target": 4915.292,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.64,
        "bb_width_pct": 0.534
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T21-00-00Z_long_vwap_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T21:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4942.395,
      "stop": 4893.072,
      "target": 5041.041,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.37,
        "bb_width_pct": 0.536
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T21-05-00Z_long_vwap_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T21:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4946.595,
      "stop": 4901.194,
      "target": 5037.398,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.93,
        "bb_width_pct": 0.559
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T21-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T21:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4953.645,
      "stop": 4961.132,
      "target": 4938.672,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.53,
        "bb_width_pct": 0.614
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T21-10-00Z_long_vwap_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T21:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4953.645,
      "stop": 4913.38,
      "target": 5034.175,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.53,
        "bb_width_pct": 0.614
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T21-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T21:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4954.43,
      "stop": 4961.907,
      "target": 4939.476,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.85,
        "bb_width_pct": 0.674
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T21-15-00Z_long_vwap_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T21:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4954.43,
      "stop": 4915.97,
      "target": 5031.35,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.85,
        "bb_width_pct": 0.674
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T21-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T21:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4954.43,
      "stop": 4961.682,
      "target": 4939.925,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.85,
        "bb_width_pct": 0.674
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T21-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T21:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4954.225,
      "stop": 4967.62,
      "target": 4927.435,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.33,
        "bb_width_pct": 0.721
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T21-25-00Z_long_vwap_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T21:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4959.075,
      "stop": 4925.478,
      "target": 5026.268,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.15,
        "bb_width_pct": 0.794
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T21-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T21:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4959.075,
      "stop": 4967.122,
      "target": 4942.981,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.15,
        "bb_width_pct": 0.794
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T21-30-00Z_short_rsi_range_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T21:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4956.055,
      "stop": 4963.052,
      "target": 4942.062,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 22.89,
        "bb_width_pct": 0.832
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T21-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T21:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4956.055,
      "stop": 4970.155,
      "target": 4927.855,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 22.89,
        "bb_width_pct": 0.832
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T21-35-00Z_long_vwap_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T21:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4968.475,
      "stop": 4941.633,
      "target": 5022.159,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.73,
        "bb_width_pct": 0.953
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T21-40-00Z_short_rsi_range_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T21:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4962.12,
      "stop": 4970.962,
      "target": 4944.435,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 9.44,
        "bb_width_pct": 1.007
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T21-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T21:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4962.12,
      "stop": 4974.589,
      "target": 4937.183,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.44,
        "bb_width_pct": 1.007
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T21-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T21:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4962.12,
      "stop": 4969.17,
      "target": 4948.02,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.44,
        "bb_width_pct": 1.007
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T21-45-00Z_long_vwap_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T21:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4963.79,
      "stop": 4936.347,
      "target": 5018.676,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.44,
        "bb_width_pct": 1.059
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T21-50-00Z_short_rsi_range_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T21:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4963.61,
      "stop": 4971.864,
      "target": 4947.103,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 18.13,
        "bb_width_pct": 1.08
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T21-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T21:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4963.61,
      "stop": 4976.824,
      "target": 4937.183,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.13,
        "bb_width_pct": 1.08
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T21-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T21:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4963.61,
      "stop": 4969.983,
      "target": 4950.863,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.13,
        "bb_width_pct": 1.08
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T21-55-00Z_long_vwap_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T21:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4964.455,
      "stop": 4938.834,
      "target": 5015.698,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.08,
        "bb_width_pct": 1.05
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-04T21-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T21:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4964.455,
      "stop": 4970.604,
      "target": 4952.158,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.08,
        "bb_width_pct": 1.05
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-05T00-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-05",
      "timestamp": "2026-02-05T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5009.775,
      "stop": 5030.094,
      "target": 4969.137,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.0,
        "bb_width_pct": 1.047
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-05T00-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-05",
      "timestamp": "2026-02-05T00:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5016.88,
      "stop": 5040.751,
      "target": 4969.137,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.02,
        "bb_width_pct": 0.469
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-05T00-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-05",
      "timestamp": "2026-02-05T00:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5014.725,
      "stop": 5034.391,
      "target": 4975.392,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.06,
        "bb_width_pct": 0.461
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-05T00-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-05",
      "timestamp": "2026-02-05T00:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5006.845,
      "stop": 5020.73,
      "target": 4979.075,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.31,
        "bb_width_pct": 0.471
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-05T01-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-05",
      "timestamp": "2026-02-05T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5002.34,
      "stop": 4996.387,
      "target": 5014.246,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.08,
        "bb_width_pct": 0.518
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-05T01-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-05",
      "timestamp": "2026-02-05T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5002.34,
      "stop": 5013.972,
      "target": 4979.075,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.08,
        "bb_width_pct": 0.518
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-05T01-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-05",
      "timestamp": "2026-02-05T01:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4999.775,
      "stop": 4993.04,
      "target": 5013.244,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.92,
        "bb_width_pct": 0.565
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-05T04-40-00Z_long_vwap_mean_reversion",
      "date": "2026-02-05",
      "timestamp": "2026-02-05T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4886.64,
      "stop": 4866.071,
      "target": 4927.778,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.83,
        "bb_width_pct": 0.953
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-05T05-00-00Z_long_vwap_mean_reversion",
      "date": "2026-02-05",
      "timestamp": "2026-02-05T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4872.775,
      "stop": 4846.959,
      "target": 4924.408,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.23,
        "bb_width_pct": 0.731
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-05T05-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-05",
      "timestamp": "2026-02-05T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4861.63,
      "stop": 4855.55,
      "target": 4873.79,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.21,
        "bb_width_pct": 0.717
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-05T05-15-00Z_long_vwap_mean_reversion",
      "date": "2026-02-05",
      "timestamp": "2026-02-05T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4852.785,
      "stop": 4818.529,
      "target": 4921.298,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.66,
        "bb_width_pct": 0.827
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-05T05-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-05",
      "timestamp": "2026-02-05T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4852.785,
      "stop": 4843.081,
      "target": 4872.192,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.66,
        "bb_width_pct": 0.827
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-05T05-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-05",
      "timestamp": "2026-02-05T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4851.22,
      "stop": 4840.718,
      "target": 4872.224,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.71,
        "bb_width_pct": 0.911
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-05T05-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-05",
      "timestamp": "2026-02-05T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4851.22,
      "stop": 4841.733,
      "target": 4870.195,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.71,
        "bb_width_pct": 0.911
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-05T05-25-00Z_long_vwap_mean_reversion",
      "date": "2026-02-05",
      "timestamp": "2026-02-05T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4869.105,
      "stop": 4843.987,
      "target": 4919.341,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.44,
        "bb_width_pct": 0.905
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-05T05-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-05",
      "timestamp": "2026-02-05T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4853.065,
      "stop": 4844.924,
      "target": 4869.347,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.05,
        "bb_width_pct": 1.086
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-05T05-35-00Z_long_vwap_mean_reversion",
      "date": "2026-02-05",
      "timestamp": "2026-02-05T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4853.065,
      "stop": 4820.986,
      "target": 4917.223,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.05,
        "bb_width_pct": 1.086
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-05T05-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-05",
      "timestamp": "2026-02-05T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4853.065,
      "stop": 4846.592,
      "target": 4866.011,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.05,
        "bb_width_pct": 1.086
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-05T05-40-00Z_long_vwap_mean_reversion",
      "date": "2026-02-05",
      "timestamp": "2026-02-05T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4885.68,
      "stop": 4870.216,
      "target": 4916.608,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.15,
        "bb_width_pct": 1.124
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-05T07-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-05",
      "timestamp": "2026-02-05T07:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4920.34,
      "stop": 4940.521,
      "target": 4879.977,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.75,
        "bb_width_pct": 1.067
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-05T07-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-05",
      "timestamp": "2026-02-05T07:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4932.38,
      "stop": 4939.597,
      "target": 4917.945,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.99,
        "bb_width_pct": 0.899
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-05T07-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-05",
      "timestamp": "2026-02-05T07:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4932.38,
      "stop": 4941.151,
      "target": 4914.838,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.99,
        "bb_width_pct": 0.899
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-05T07-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-05",
      "timestamp": "2026-02-05T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4918.57,
      "stop": 4936.167,
      "target": 4883.375,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.41,
        "bb_width_pct": 0.863
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-05T07-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-05",
      "timestamp": "2026-02-05T07:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4910.62,
      "stop": 4905.823,
      "target": 4920.214,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.98,
        "bb_width_pct": 0.607
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-05T08-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-05",
      "timestamp": "2026-02-05T08:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4931.86,
      "stop": 4937.048,
      "target": 4921.484,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.39,
        "bb_width_pct": 0.693
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-05T08-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-05",
      "timestamp": "2026-02-05T08:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4931.86,
      "stop": 4955.656,
      "target": 4884.267,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.39,
        "bb_width_pct": 0.693
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-05T08-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-05",
      "timestamp": "2026-02-05T08:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4931.86,
      "stop": 4938.223,
      "target": 4919.134,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.39,
        "bb_width_pct": 0.693
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-05T08-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-05",
      "timestamp": "2026-02-05T08:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4934.88,
      "stop": 4941.442,
      "target": 4921.757,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.96,
        "bb_width_pct": 0.72
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-05T08-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-05",
      "timestamp": "2026-02-05T08:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4934.88,
      "stop": 4942.003,
      "target": 4920.634,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.96,
        "bb_width_pct": 0.72
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-05T08-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-05",
      "timestamp": "2026-02-05T08:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4920.995,
      "stop": 4939.101,
      "target": 4884.782,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.24,
        "bb_width_pct": 0.718
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-05T08-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-05",
      "timestamp": "2026-02-05T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4921.75,
      "stop": 4940.234,
      "target": 4884.782,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.75,
        "bb_width_pct": 0.678
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-05T08-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-05",
      "timestamp": "2026-02-05T08:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4904.505,
      "stop": 4896.466,
      "target": 4920.583,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.48,
        "bb_width_pct": 0.768
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-05T10-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-05",
      "timestamp": "2026-02-05T10:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4861.875,
      "stop": 4854.041,
      "target": 4877.543,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.86,
        "bb_width_pct": 1.198
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-05T10-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-05",
      "timestamp": "2026-02-05T10:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4864.14,
      "stop": 4848.405,
      "target": 4895.61,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.14,
        "bb_width_pct": 1.085
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-05T10-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-05",
      "timestamp": "2026-02-05T10:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4864.14,
      "stop": 4858.077,
      "target": 4876.266,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.14,
        "bb_width_pct": 1.085
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-05T10-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-05",
      "timestamp": "2026-02-05T10:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4866.455,
      "stop": 4851.878,
      "target": 4895.61,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.82,
        "bb_width_pct": 0.82
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-05T11-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-05",
      "timestamp": "2026-02-05T11:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4890.63,
      "stop": 4899.446,
      "target": 4872.999,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.54,
        "bb_width_pct": 0.815
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-05T11-30-00Z_short_rsi_range_reversion",
      "date": "2026-02-05",
      "timestamp": "2026-02-05T11:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4887.675,
      "stop": 4894.317,
      "target": 4874.391,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 16.41,
        "bb_width_pct": 0.904
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-05T14-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-05",
      "timestamp": "2026-02-05T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4824.155,
      "stop": 4818.931,
      "target": 4834.603,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.7,
        "bb_width_pct": 1.083
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-05T14-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-05",
      "timestamp": "2026-02-05T14:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4859.31,
      "stop": 4870.816,
      "target": 4836.299,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.01,
        "bb_width_pct": 1.13
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-05T14-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-05",
      "timestamp": "2026-02-05T14:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4850.415,
      "stop": 4856.856,
      "target": 4837.532,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.94,
        "bb_width_pct": 1.139
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-05T14-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-05",
      "timestamp": "2026-02-05T14:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4855.225,
      "stop": 4863.358,
      "target": 4838.959,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.4,
        "bb_width_pct": 1.161
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-05T18-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-05",
      "timestamp": "2026-02-05T18:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4857.73,
      "stop": 4849.572,
      "target": 4874.046,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.05,
        "bb_width_pct": 0.832
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-05T18-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-05",
      "timestamp": "2026-02-05T18:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4865.02,
      "stop": 4860.843,
      "target": 4873.375,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.41,
        "bb_width_pct": 0.843
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-05T18-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-05",
      "timestamp": "2026-02-05T18:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4858.13,
      "stop": 4853.725,
      "target": 4866.94,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.74,
        "bb_width_pct": 0.498
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-05T19-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-05",
      "timestamp": "2026-02-05T19:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4854.83,
      "stop": 4849.269,
      "target": 4865.953,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.45,
        "bb_width_pct": 0.521
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-05T19-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-05",
      "timestamp": "2026-02-05T19:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4860.07,
      "stop": 4857.314,
      "target": 4865.581,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.61,
        "bb_width_pct": 0.53
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-05T19-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-05",
      "timestamp": "2026-02-05T19:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4851.31,
      "stop": 4844.541,
      "target": 4864.848,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.52,
        "bb_width_pct": 0.589
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-05T19-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-05",
      "timestamp": "2026-02-05T19:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4853.675,
      "stop": 4848.35,
      "target": 4864.324,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.07,
        "bb_width_pct": 0.622
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-05T19-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-05",
      "timestamp": "2026-02-05T19:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4852.73,
      "stop": 4847.387,
      "target": 4863.415,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.67,
        "bb_width_pct": 0.642
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-05T19-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-05",
      "timestamp": "2026-02-05T19:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4837.2,
      "stop": 4827.582,
      "target": 4856.436,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.18,
        "bb_width_pct": 0.873
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-05T19-40-00Z_long_rsi_range_reversion",
      "date": "2026-02-05",
      "timestamp": "2026-02-05T19:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4837.2,
      "stop": 4827.582,
      "target": 4856.436,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.18,
        "bb_width_pct": 0.873
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-05T19-40-00Z_long_vwap_mean_reversion",
      "date": "2026-02-05",
      "timestamp": "2026-02-05T19:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4837.2,
      "stop": 4824.31,
      "target": 4862.98,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.18,
        "bb_width_pct": 0.873
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-05T19-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-05",
      "timestamp": "2026-02-05T19:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4837.2,
      "stop": 4821.864,
      "target": 4867.872,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.18,
        "bb_width_pct": 0.873
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-05T19-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-05",
      "timestamp": "2026-02-05T19:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4837.2,
      "stop": 4829.149,
      "target": 4853.302,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.18,
        "bb_width_pct": 0.873
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-05T19-45-00Z_long_vwap_mean_reversion",
      "date": "2026-02-05",
      "timestamp": "2026-02-05T19:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4842.25,
      "stop": 4832.209,
      "target": 4862.331,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.91,
        "bb_width_pct": 0.889
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-05T19-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-05",
      "timestamp": "2026-02-05T19:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4842.25,
      "stop": 4829.664,
      "target": 4867.422,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.91,
        "bb_width_pct": 0.889
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-05T19-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-05",
      "timestamp": "2026-02-05T19:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4829.775,
      "stop": 4817.835,
      "target": 4853.655,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.05,
        "bb_width_pct": 0.99
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-05T20-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-05",
      "timestamp": "2026-02-05T20:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4834.545,
      "stop": 4827.68,
      "target": 4848.274,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.56,
        "bb_width_pct": 1.157
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-05T20-05-00Z_long_vwap_mean_reversion",
      "date": "2026-02-05",
      "timestamp": "2026-02-05T20:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4834.545,
      "stop": 4822.433,
      "target": 4858.77,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.56,
        "bb_width_pct": 1.157
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-05T20-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-05",
      "timestamp": "2026-02-05T20:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4834.545,
      "stop": 4821.735,
      "target": 4860.165,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.56,
        "bb_width_pct": 1.157
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-05T20-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-05",
      "timestamp": "2026-02-05T20:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4834.545,
      "stop": 4829.57,
      "target": 4844.494,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.56,
        "bb_width_pct": 1.157
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-05T20-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-05",
      "timestamp": "2026-02-05T20:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4821.035,
      "stop": 4810.467,
      "target": 4842.172,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.12,
        "bb_width_pct": 1.119
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-05T20-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-05",
      "timestamp": "2026-02-05T20:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4821.035,
      "stop": 4811.758,
      "target": 4839.589,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.12,
        "bb_width_pct": 1.119
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-05T20-25-00Z_long_vwap_mean_reversion",
      "date": "2026-02-05",
      "timestamp": "2026-02-05T20:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4825.74,
      "stop": 4810.773,
      "target": 4855.673,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.87,
        "bb_width_pct": 1.091
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-05T20-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-05",
      "timestamp": "2026-02-05T20:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4825.74,
      "stop": 4814.584,
      "target": 4848.052,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 13.87,
        "bb_width_pct": 1.091
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-05T20-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-05",
      "timestamp": "2026-02-05T20:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4825.74,
      "stop": 4819.475,
      "target": 4838.27,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.87,
        "bb_width_pct": 1.091
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-05T20-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-05",
      "timestamp": "2026-02-05T20:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4810.365,
      "stop": 4797.479,
      "target": 4836.138,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.09,
        "bb_width_pct": 1.127
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-05T20-40-00Z_long_vwap_mean_reversion",
      "date": "2026-02-05",
      "timestamp": "2026-02-05T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4813.045,
      "stop": 4793.038,
      "target": 4853.059,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.27,
        "bb_width_pct": 1.142
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-05T20-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-05",
      "timestamp": "2026-02-05T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4813.045,
      "stop": 4796.334,
      "target": 4846.467,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.27,
        "bb_width_pct": 1.142
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-05T20-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-05",
      "timestamp": "2026-02-05T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4813.045,
      "stop": 4803.469,
      "target": 4832.197,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.27,
        "bb_width_pct": 1.142
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-05T20-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-05",
      "timestamp": "2026-02-05T20:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4811.575,
      "stop": 4804.036,
      "target": 4826.653,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.91,
        "bb_width_pct": 1.145
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-05T20-55-00Z_long_vwap_mean_reversion",
      "date": "2026-02-05",
      "timestamp": "2026-02-05T20:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4811.575,
      "stop": 4792.304,
      "target": 4850.118,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.91,
        "bb_width_pct": 1.145
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-05T20-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-05",
      "timestamp": "2026-02-05T20:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4811.575,
      "stop": 4795.921,
      "target": 4842.882,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.91,
        "bb_width_pct": 1.145
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-05T20-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-05",
      "timestamp": "2026-02-05T20:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4811.575,
      "stop": 4804.665,
      "target": 4825.396,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.91,
        "bb_width_pct": 1.145
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-05T21-00-00Z_long_vwap_mean_reversion",
      "date": "2026-02-05",
      "timestamp": "2026-02-05T21:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4823.805,
      "stop": 4799.632,
      "target": 4872.152,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.79,
        "bb_width_pct": 1.033
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-05T21-10-00Z_long_vwap_mean_reversion",
      "date": "2026-02-05",
      "timestamp": "2026-02-05T21:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4810.575,
      "stop": 4782.038,
      "target": 4867.649,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.91,
        "bb_width_pct": 0.938
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-05T21-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-05",
      "timestamp": "2026-02-05T21:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4810.575,
      "stop": 4797.424,
      "target": 4836.878,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 11.91,
        "bb_width_pct": 0.938
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-05T21-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-05",
      "timestamp": "2026-02-05T21:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4804.66,
      "stop": 4796.619,
      "target": 4820.743,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.69,
        "bb_width_pct": 0.962
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-05T21-25-00Z_long_vwap_mean_reversion",
      "date": "2026-02-05",
      "timestamp": "2026-02-05T21:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4802.795,
      "stop": 4773.559,
      "target": 4861.267,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.68,
        "bb_width_pct": 0.889
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-05T21-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-05",
      "timestamp": "2026-02-05T21:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4802.795,
      "stop": 4787.084,
      "target": 4834.217,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.68,
        "bb_width_pct": 0.889
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-05T21-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-05",
      "timestamp": "2026-02-05T21:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4802.795,
      "stop": 4795.475,
      "target": 4817.435,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.68,
        "bb_width_pct": 0.889
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T03-40-00Z_short_vwap_mean_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T03:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4805.31,
      "stop": 4823.869,
      "target": 4768.192,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.86,
        "bb_width_pct": 1.174
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T04-00-00Z_short_vwap_mean_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T04:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4822.935,
      "stop": 4848.133,
      "target": 4772.539,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.05,
        "bb_width_pct": 0.726
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T04-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T04:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4822.935,
      "stop": 4849.279,
      "target": 4770.247,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.05,
        "bb_width_pct": 0.726
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T04-05-00Z_short_vwap_mean_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4821.45,
      "stop": 4845.419,
      "target": 4773.512,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.2,
        "bb_width_pct": 0.726
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T04-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4821.45,
      "stop": 4847.051,
      "target": 4770.247,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.2,
        "bb_width_pct": 0.726
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T04-10-00Z_short_vwap_mean_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T04:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4819.445,
      "stop": 4841.936,
      "target": 4774.463,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.62,
        "bb_width_pct": 0.667
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T04-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T04:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4819.445,
      "stop": 4844.044,
      "target": 4770.247,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.62,
        "bb_width_pct": 0.667
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T04-20-00Z_short_vwap_mean_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4815.45,
      "stop": 4835.122,
      "target": 4776.106,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.9,
        "bb_width_pct": 0.59
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T04-30-00Z_short_vwap_mean_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T04:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4824.69,
      "stop": 4848.1,
      "target": 4777.871,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.94,
        "bb_width_pct": 0.6
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T04-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T04:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4824.69,
      "stop": 4849.251,
      "target": 4775.568,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.94,
        "bb_width_pct": 0.6
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T04-40-00Z_short_vwap_mean_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4822.54,
      "stop": 4844.072,
      "target": 4779.476,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.02,
        "bb_width_pct": 0.568
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T04-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4822.54,
      "stop": 4845.826,
      "target": 4775.967,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.02,
        "bb_width_pct": 0.568
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T04-45-00Z_short_vwap_mean_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4821.685,
      "stop": 4842.434,
      "target": 4780.186,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.78,
        "bb_width_pct": 0.547
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T04-50-00Z_short_vwap_mean_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T04:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4811.96,
      "stop": 4827.543,
      "target": 4780.793,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.7,
        "bb_width_pct": 0.556
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T05-10-00Z_short_vwap_mean_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4824.28,
      "stop": 4844.792,
      "target": 4783.257,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.15,
        "bb_width_pct": 0.444
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T08-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4836.94,
      "stop": 4830.806,
      "target": 4849.208,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.96,
        "bb_width_pct": 0.472
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T08-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T08:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4841.485,
      "stop": 4838.234,
      "target": 4847.988,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.3,
        "bb_width_pct": 0.478
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T08-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T08:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4866.7,
      "stop": 4874.536,
      "target": 4851.027,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.93,
        "bb_width_pct": 0.57
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T08-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T08:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4867.61,
      "stop": 4875.112,
      "target": 4852.607,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.07,
        "bb_width_pct": 0.647
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T08-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4862.835,
      "stop": 4867.726,
      "target": 4853.054,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.34,
        "bb_width_pct": 0.845
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T08-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4862.835,
      "stop": 4866.274,
      "target": 4855.958,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.34,
        "bb_width_pct": 0.845
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T10-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T10:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4872.135,
      "stop": 4881.441,
      "target": 4853.523,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 16.83,
        "bb_width_pct": 0.738
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T10-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T10:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4866.61,
      "stop": 4871.903,
      "target": 4856.025,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.25,
        "bb_width_pct": 0.744
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T10-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T10:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4869.915,
      "stop": 4876.86,
      "target": 4856.025,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.52,
        "bb_width_pct": 0.742
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T11-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4872.59,
      "stop": 4874.6,
      "target": 4868.57,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.13,
        "bb_width_pct": 0.52
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T11-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4872.59,
      "stop": 4880.873,
      "target": 4856.025,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.13,
        "bb_width_pct": 0.52
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T11-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4872.59,
      "stop": 4874.766,
      "target": 4868.238,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.13,
        "bb_width_pct": 0.52
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T11-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T11:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4882.555,
      "stop": 4888.385,
      "target": 4870.896,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.24,
        "bb_width_pct": 0.613
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T11-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T11:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4882.555,
      "stop": 4894.395,
      "target": 4858.875,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.24,
        "bb_width_pct": 0.613
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T11-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T11:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4882.555,
      "stop": 4888.139,
      "target": 4871.387,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.24,
        "bb_width_pct": 0.613
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T11-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T11:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4891.01,
      "stop": 4899.755,
      "target": 4873.52,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.79,
        "bb_width_pct": 0.729
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T11-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T11:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4882.145,
      "stop": 4886.003,
      "target": 4874.429,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.1,
        "bb_width_pct": 0.721
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T11-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T11:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4882.145,
      "stop": 4890.031,
      "target": 4866.372,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.1,
        "bb_width_pct": 0.721
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T11-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T11:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4882.145,
      "stop": 4885.454,
      "target": 4875.527,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.1,
        "bb_width_pct": 0.721
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T11-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T11:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4886.86,
      "stop": 4897.104,
      "target": 4866.372,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.59,
        "bb_width_pct": 0.768
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T11-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T11:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4886.86,
      "stop": 4891.46,
      "target": 4877.66,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.59,
        "bb_width_pct": 0.768
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T11-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T11:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4884.54,
      "stop": 4893.624,
      "target": 4866.372,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.32,
        "bb_width_pct": 0.782
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T11-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T11:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4887.38,
      "stop": 4897.884,
      "target": 4866.372,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.95,
        "bb_width_pct": 0.804
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T11-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T11:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4887.38,
      "stop": 4890.977,
      "target": 4880.187,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.95,
        "bb_width_pct": 0.804
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T12-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T12:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4898.53,
      "stop": 4906.411,
      "target": 4882.768,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.08,
        "bb_width_pct": 0.661
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T12-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T12:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4896.16,
      "stop": 4902.488,
      "target": 4883.503,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.9,
        "bb_width_pct": 0.654
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T12-10-00Z_short_rsi_range_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T12:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4896.16,
      "stop": 4902.488,
      "target": 4883.503,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 15.9,
        "bb_width_pct": 0.654
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T12-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T12:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4896.16,
      "stop": 4908.667,
      "target": 4871.145,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.9,
        "bb_width_pct": 0.654
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T12-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T12:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4896.16,
      "stop": 4902.218,
      "target": 4884.044,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.9,
        "bb_width_pct": 0.654
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T12-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T12:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4885.2,
      "stop": 4892.227,
      "target": 4871.145,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.39,
        "bb_width_pct": 0.625
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T12-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T12:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4898.105,
      "stop": 4903.204,
      "target": 4887.906,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.21,
        "bb_width_pct": 0.463
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T12-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T12:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4898.105,
      "stop": 4904.162,
      "target": 4885.991,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.21,
        "bb_width_pct": 0.463
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T12-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T12:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4899.46,
      "stop": 4904.866,
      "target": 4888.648,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.01,
        "bb_width_pct": 0.501
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T12-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T12:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4899.46,
      "stop": 4905.553,
      "target": 4887.274,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.01,
        "bb_width_pct": 0.501
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T13-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T13:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4914.37,
      "stop": 4925.297,
      "target": 4892.515,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.99,
        "bb_width_pct": 0.93
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T13-05-00Z_short_vwap_mean_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T13:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4914.37,
      "stop": 4924.268,
      "target": 4894.574,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.99,
        "bb_width_pct": 0.93
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T13-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T13:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4914.37,
      "stop": 4927.007,
      "target": 4889.095,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.99,
        "bb_width_pct": 0.93
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T13-10-00Z_short_vwap_mean_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T13:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4909.8,
      "stop": 4916.869,
      "target": 4895.661,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.89,
        "bb_width_pct": 0.956
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T13-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T13:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4909.8,
      "stop": 4919.774,
      "target": 4889.852,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.89,
        "bb_width_pct": 0.956
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T13-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T13:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4909.8,
      "stop": 4916.858,
      "target": 4895.684,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.89,
        "bb_width_pct": 0.956
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T13-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T13:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4914.295,
      "stop": 4922.714,
      "target": 4897.456,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.28,
        "bb_width_pct": 1.014
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T13-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T13:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4909.05,
      "stop": 4914.336,
      "target": 4898.478,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.71,
        "bb_width_pct": 1.142
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T13-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T13:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4909.05,
      "stop": 4918.613,
      "target": 4889.925,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 16.71,
        "bb_width_pct": 1.142
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T13-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T13:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4909.05,
      "stop": 4913.005,
      "target": 4901.14,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.71,
        "bb_width_pct": 1.142
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T14-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T14:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4905.31,
      "stop": 4898.654,
      "target": 4918.623,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.44,
        "bb_width_pct": 0.84
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T14-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T14:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4936.705,
      "stop": 4944.106,
      "target": 4921.902,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.0,
        "bb_width_pct": 0.739
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T14-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T14:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4936.705,
      "stop": 4946.165,
      "target": 4917.786,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.0,
        "bb_width_pct": 0.739
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T14-40-00Z_short_vwap_mean_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T14:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4932.51,
      "stop": 4943.571,
      "target": 4910.387,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.77,
        "bb_width_pct": 0.76
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T14-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T14:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4932.51,
      "stop": 4943.935,
      "target": 4909.66,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.77,
        "bb_width_pct": 0.76
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T14-50-00Z_short_vwap_mean_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T14:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4938.53,
      "stop": 4951.824,
      "target": 4911.942,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.14,
        "bb_width_pct": 0.8
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T14-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T14:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4938.53,
      "stop": 4952.965,
      "target": 4909.66,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.14,
        "bb_width_pct": 0.8
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T14-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T14:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4938.53,
      "stop": 4946.418,
      "target": 4922.753,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.14,
        "bb_width_pct": 0.8
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T15-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T15:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4942.44,
      "stop": 4949.975,
      "target": 4927.37,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.01,
        "bb_width_pct": 0.918
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T15-00-00Z_short_vwap_mean_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T15:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4942.44,
      "stop": 4956.776,
      "target": 4913.769,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.01,
        "bb_width_pct": 0.918
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T15-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T15:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4942.44,
      "stop": 4958.251,
      "target": 4910.818,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.01,
        "bb_width_pct": 0.918
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T15-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T15:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4942.44,
      "stop": 4950.246,
      "target": 4926.828,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.01,
        "bb_width_pct": 0.918
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T15-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T15:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4948.09,
      "stop": 4956.656,
      "target": 4930.958,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.86,
        "bb_width_pct": 1.034
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T15-10-00Z_short_vwap_mean_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T15:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4948.09,
      "stop": 4964.234,
      "target": 4915.801,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.86,
        "bb_width_pct": 1.034
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T15-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T15:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4948.09,
      "stop": 4963.016,
      "target": 4918.237,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.86,
        "bb_width_pct": 1.034
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T15-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T15:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4948.09,
      "stop": 4956.417,
      "target": 4931.436,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.86,
        "bb_width_pct": 1.034
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T15-15-00Z_short_vwap_mean_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T15:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4946.195,
      "stop": 4961.0,
      "target": 4916.586,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.43,
        "bb_width_pct": 1.068
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T15-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T15:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4946.195,
      "stop": 4960.174,
      "target": 4918.237,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.43,
        "bb_width_pct": 1.068
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T15-20-00Z_short_vwap_mean_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T15:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4943.945,
      "stop": 4957.28,
      "target": 4917.276,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 9.31,
        "bb_width_pct": 1.089
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T15-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T15:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4943.945,
      "stop": 4956.799,
      "target": 4918.237,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.31,
        "bb_width_pct": 1.089
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T15-45-00Z_short_vwap_mean_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T15:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4942.165,
      "stop": 4952.936,
      "target": 4920.623,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.47,
        "bb_width_pct": 1.177
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T16-05-00Z_short_vwap_mean_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T16:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4943.055,
      "stop": 4953.339,
      "target": 4922.486,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.3,
        "bb_width_pct": 0.574
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T16-10-00Z_short_vwap_mean_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T16:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4940.82,
      "stop": 4949.781,
      "target": 4922.899,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.09,
        "bb_width_pct": 0.506
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T16-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T16:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4942.52,
      "stop": 4941.361,
      "target": 4944.839,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.93,
        "bb_width_pct": 0.486
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T16-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T16:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4934.745,
      "stop": 4929.642,
      "target": 4944.95,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.0,
        "bb_width_pct": 0.469
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T16-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T16:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4938.63,
      "stop": 4935.484,
      "target": 4944.923,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.69,
        "bb_width_pct": 0.471
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T16-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T16:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4933.63,
      "stop": 4928.106,
      "target": 4944.678,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.76,
        "bb_width_pct": 0.5
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T16-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4941.75,
      "stop": 4940.45,
      "target": 4944.351,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.35,
        "bb_width_pct": 0.498
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T16-50-00Z_short_vwap_mean_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T16:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4944.095,
      "stop": 4953.593,
      "target": 4925.099,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 1.11,
        "bb_width_pct": 0.444
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T17-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T17:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4957.725,
      "stop": 4964.117,
      "target": 4944.94,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.66,
        "bb_width_pct": 0.584
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T17-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T17:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4957.725,
      "stop": 4971.771,
      "target": 4929.632,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.66,
        "bb_width_pct": 0.584
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T17-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T17:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4957.9,
      "stop": 4972.034,
      "target": 4929.632,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.65,
        "bb_width_pct": 0.664
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T17-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T17:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4954.645,
      "stop": 4967.151,
      "target": 4929.632,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.74,
        "bb_width_pct": 0.674
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T17-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T17:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4960.77,
      "stop": 4967.14,
      "target": 4948.03,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.36,
        "bb_width_pct": 0.699
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T17-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T17:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4960.77,
      "stop": 4966.07,
      "target": 4950.169,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.36,
        "bb_width_pct": 0.699
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T17-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T17:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4950.07,
      "stop": 4959.312,
      "target": 4931.585,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.67,
        "bb_width_pct": 0.695
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T17-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T17:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4958.09,
      "stop": 4964.493,
      "target": 4945.285,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.49,
        "bb_width_pct": 0.714
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T18-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T18:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4964.765,
      "stop": 4969.701,
      "target": 4954.893,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.65,
        "bb_width_pct": 0.666
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T18-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T18:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4965.76,
      "stop": 4970.896,
      "target": 4955.489,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.82,
        "bb_width_pct": 0.583
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T18-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T18:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4965.76,
      "stop": 4970.676,
      "target": 4955.928,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.82,
        "bb_width_pct": 0.583
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T18-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T18:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4963.605,
      "stop": 4972.11,
      "target": 4946.595,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.93,
        "bb_width_pct": 0.54
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T18-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T18:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4948.155,
      "stop": 4943.742,
      "target": 4956.982,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.85,
        "bb_width_pct": 0.475
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T18-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T18:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4948.155,
      "stop": 4948.935,
      "target": 4946.595,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.85,
        "bb_width_pct": 0.475
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T18-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T18:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4964.465,
      "stop": 4973.4,
      "target": 4946.595,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.63,
        "bb_width_pct": 0.381
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T18-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T18:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4966.085,
      "stop": 4975.83,
      "target": 4946.595,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.86,
        "bb_width_pct": 0.419
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T18-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T18:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4962.47,
      "stop": 4970.408,
      "target": 4946.595,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.12,
        "bb_width_pct": 0.421
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T19-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T19:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4952.09,
      "stop": 4947.949,
      "target": 4960.372,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.38,
        "bb_width_pct": 0.39
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T19-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T19:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4952.09,
      "stop": 4949.018,
      "target": 4958.234,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.38,
        "bb_width_pct": 0.39
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T19-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T19:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4952.06,
      "stop": 4948.196,
      "target": 4959.789,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.25,
        "bb_width_pct": 0.411
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T19-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T19:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4952.06,
      "stop": 4949.267,
      "target": 4957.646,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.25,
        "bb_width_pct": 0.411
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T20-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T20:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4955.325,
      "stop": 4953.262,
      "target": 4959.45,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.68,
        "bb_width_pct": 0.332
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T20-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T20:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4952.78,
      "stop": 4949.936,
      "target": 4958.467,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.94,
        "bb_width_pct": 0.348
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T20-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T20:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4952.78,
      "stop": 4950.725,
      "target": 4956.89,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.94,
        "bb_width_pct": 0.348
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T20-35-00Z_long_rsi_range_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T20:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4943.285,
      "stop": 4937.34,
      "target": 4955.175,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.1,
        "bb_width_pct": 0.396
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T20-35-00Z_long_vwap_mean_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T20:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4943.285,
      "stop": 4936.154,
      "target": 4957.548,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.1,
        "bb_width_pct": 0.396
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T20-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T20:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4943.285,
      "stop": 4936.961,
      "target": 4955.932,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.1,
        "bb_width_pct": 0.396
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T20-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4944.1,
      "stop": 4938.971,
      "target": 4954.358,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.53,
        "bb_width_pct": 0.428
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T20-40-00Z_long_vwap_mean_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4944.1,
      "stop": 4937.506,
      "target": 4957.287,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.53,
        "bb_width_pct": 0.428
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T20-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4944.1,
      "stop": 4939.633,
      "target": 4953.033,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.53,
        "bb_width_pct": 0.428
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T20-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T20:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4943.835,
      "stop": 4938.917,
      "target": 4953.67,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.97,
        "bb_width_pct": 0.462
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T20-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T20:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4943.835,
      "stop": 4939.674,
      "target": 4952.157,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.97,
        "bb_width_pct": 0.462
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T21-00-00Z_short_vwap_mean_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T21:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4951.845,
      "stop": 4987.683,
      "target": 4880.169,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.43,
        "bb_width_pct": 0.43
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T21-10-00Z_short_vwap_mean_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T21:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4949.635,
      "stop": 4981.684,
      "target": 4885.537,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.02,
        "bb_width_pct": 0.418
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T21-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T21:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4962.345,
      "stop": 4966.886,
      "target": 4953.263,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.17,
        "bb_width_pct": 0.383
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T21-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T21:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4960.74,
      "stop": 4965.174,
      "target": 4951.873,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.67,
        "bb_width_pct": 0.411
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T21-40-00Z_short_rsi_range_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T21:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4960.74,
      "stop": 4965.174,
      "target": 4951.873,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 19.67,
        "bb_width_pct": 0.411
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T21-40-00Z_short_vwap_mean_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T21:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4960.74,
      "stop": 4992.031,
      "target": 4898.158,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 19.67,
        "bb_width_pct": 0.411
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T21-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T21:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4964.58,
      "stop": 4970.515,
      "target": 4952.71,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 24.99,
        "bb_width_pct": 0.49
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T21-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T21:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4964.62,
      "stop": 4970.279,
      "target": 4953.302,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.5,
        "bb_width_pct": 0.533
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-06T21-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T21:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4964.62,
      "stop": 4968.697,
      "target": 4956.466,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.5,
        "bb_width_pct": 0.533
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-08T23-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-08",
      "timestamp": "2026-02-08T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4976.355,
      "stop": 4986.456,
      "target": 4956.153,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 26.15,
        "bb_width_pct": 0.895
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-08T23-05-00Z_short_rsi_range_reversion",
      "date": "2026-02-08",
      "timestamp": "2026-02-08T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4976.355,
      "stop": 4986.456,
      "target": 4956.153,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 26.15,
        "bb_width_pct": 0.895
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-08T23-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-08",
      "timestamp": "2026-02-08T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4976.355,
      "stop": 4982.877,
      "target": 4963.31,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 26.15,
        "bb_width_pct": 0.895
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-08T23-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-08",
      "timestamp": "2026-02-08T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4980.36,
      "stop": 4991.537,
      "target": 4958.006,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 25.14,
        "bb_width_pct": 0.957
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T01-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5026.215,
      "stop": 5029.117,
      "target": 5020.411,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.39,
        "bb_width_pct": 0.621
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T01-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T01:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5015.0,
      "stop": 5006.968,
      "target": 5031.064,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.81,
        "bb_width_pct": 0.675
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T01-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T01:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5019.305,
      "stop": 5013.822,
      "target": 5030.272,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.91,
        "bb_width_pct": 0.7
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T01-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T01:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5029.65,
      "stop": 5029.515,
      "target": 5029.919,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.05,
        "bb_width_pct": 0.69
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T01-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T01:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5017.34,
      "stop": 5012.276,
      "target": 5027.468,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.41,
        "bb_width_pct": 0.629
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T01-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T01:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5009.92,
      "stop": 5003.903,
      "target": 5021.954,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.01,
        "bb_width_pct": 1.026
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T01-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T01:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5009.92,
      "stop": 5007.485,
      "target": 5014.791,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.01,
        "bb_width_pct": 1.026
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T03-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5016.32,
      "stop": 5025.065,
      "target": 4998.831,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.45,
        "bb_width_pct": 0.843
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T03-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T03:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5018.675,
      "stop": 5028.564,
      "target": 4998.898,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 26.8,
        "bb_width_pct": 0.853
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T03-15-00Z_short_rsi_range_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5015.33,
      "stop": 5022.28,
      "target": 5001.43,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 12.93,
        "bb_width_pct": 0.911
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T03-30-00Z_short_rsi_range_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5023.53,
      "stop": 5032.823,
      "target": 5004.945,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 16.3,
        "bb_width_pct": 1.088
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T03-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5023.53,
      "stop": 5032.547,
      "target": 5005.495,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 16.3,
        "bb_width_pct": 1.088
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T03-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5023.53,
      "stop": 5029.406,
      "target": 5011.777,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.3,
        "bb_width_pct": 1.088
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T03-45-00Z_short_rsi_range_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T03:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5022.17,
      "stop": 5027.796,
      "target": 5010.918,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 19.15,
        "bb_width_pct": 0.889
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T03-50-00Z_short_rsi_range_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T03:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5019.77,
      "stop": 5023.633,
      "target": 5012.044,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 17.84,
        "bb_width_pct": 0.865
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T04-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5019.415,
      "stop": 5028.786,
      "target": 5000.673,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.55,
        "bb_width_pct": 0.526
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T04-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5018.72,
      "stop": 5028.04,
      "target": 5000.08,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.17,
        "bb_width_pct": 0.257
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T04-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T04:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5015.295,
      "stop": 5013.054,
      "target": 5019.776,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.13,
        "bb_width_pct": 0.29
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T04-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T04:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5011.955,
      "stop": 5008.129,
      "target": 5019.608,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.19,
        "bb_width_pct": 0.312
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T05-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5034.345,
      "stop": 5040.967,
      "target": 5021.101,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.84,
        "bb_width_pct": 0.531
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T05-45-00Z_short_vwap_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T05:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5030.75,
      "stop": 5038.215,
      "target": 5015.819,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.69,
        "bb_width_pct": 0.555
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T05-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T05:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5030.75,
      "stop": 5039.07,
      "target": 5014.11,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.69,
        "bb_width_pct": 0.555
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T05-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T05:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5030.75,
      "stop": 5034.37,
      "target": 5023.509,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.69,
        "bb_width_pct": 0.555
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T05-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5035.425,
      "stop": 5040.815,
      "target": 5024.644,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.0,
        "bb_width_pct": 0.579
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T06-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5037.395,
      "stop": 5043.263,
      "target": 5025.658,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.64,
        "bb_width_pct": 0.734
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T06-05-00Z_short_rsi_range_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5037.395,
      "stop": 5043.263,
      "target": 5025.658,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 21.64,
        "bb_width_pct": 0.734
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T06-05-00Z_short_vwap_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5037.395,
      "stop": 5047.593,
      "target": 5017.0,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 21.64,
        "bb_width_pct": 0.734
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T06-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5037.395,
      "stop": 5045.326,
      "target": 5021.532,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 21.64,
        "bb_width_pct": 0.734
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T06-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5037.395,
      "stop": 5041.861,
      "target": 5028.463,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.64,
        "bb_width_pct": 0.734
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T06-10-00Z_short_vwap_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T06:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5034.45,
      "stop": 5043.055,
      "target": 5017.24,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.99,
        "bb_width_pct": 0.742
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T06-15-00Z_short_vwap_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T06:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5028.14,
      "stop": 5033.498,
      "target": 5017.425,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.62,
        "bb_width_pct": 0.739
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T06-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T06:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5021.905,
      "stop": 5018.719,
      "target": 5028.277,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.03,
        "bb_width_pct": 0.73
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T06-45-00Z_short_vwap_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T06:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5030.745,
      "stop": 5037.018,
      "target": 5018.199,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.74,
        "bb_width_pct": 0.508
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T06-55-00Z_short_vwap_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T06:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5031.155,
      "stop": 5037.448,
      "target": 5018.57,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.25,
        "bb_width_pct": 0.4
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T06-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T06:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5031.155,
      "stop": 5033.424,
      "target": 5026.618,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.25,
        "bb_width_pct": 0.4
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T07-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T07:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5013.31,
      "stop": 5006.152,
      "target": 5027.627,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.02,
        "bb_width_pct": 0.535
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T07-15-00Z_long_rsi_range_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T07:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5013.73,
      "stop": 5005.598,
      "target": 5029.994,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.72,
        "bb_width_pct": 0.61
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T07-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T07:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5013.73,
      "stop": 5007.286,
      "target": 5026.618,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.72,
        "bb_width_pct": 0.61
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T07-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T07:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5013.73,
      "stop": 5007.443,
      "target": 5026.303,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.72,
        "bb_width_pct": 0.61
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T07-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T07:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5008.61,
      "stop": 4999.224,
      "target": 5027.382,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.84,
        "bb_width_pct": 0.823
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T07-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T07:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5008.61,
      "stop": 5001.997,
      "target": 5021.835,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.84,
        "bb_width_pct": 0.823
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T07-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T07:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5008.61,
      "stop": 5001.556,
      "target": 5022.718,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.84,
        "bb_width_pct": 0.823
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T07-50-00Z_long_rsi_range_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T07:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5005.16,
      "stop": 4997.709,
      "target": 5020.062,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.33,
        "bb_width_pct": 0.868
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T07-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T07:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5005.16,
      "stop": 4996.823,
      "target": 5021.835,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 19.33,
        "bb_width_pct": 0.868
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T07-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T07:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5005.16,
      "stop": 4999.284,
      "target": 5016.912,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.33,
        "bb_width_pct": 0.868
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T07-55-00Z_long_rsi_range_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T07:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5006.475,
      "stop": 5000.223,
      "target": 5018.979,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.54,
        "bb_width_pct": 0.886
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T07-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T07:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5006.475,
      "stop": 4998.795,
      "target": 5021.835,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 23.54,
        "bb_width_pct": 0.886
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T08-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5016.92,
      "stop": 5014.463,
      "target": 5021.835,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.58,
        "bb_width_pct": 0.885
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T08-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T08:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5027.63,
      "stop": 5032.631,
      "target": 5017.628,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.19,
        "bb_width_pct": 0.843
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T08-20-00Z_short_vwap_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T08:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5026.21,
      "stop": 5032.196,
      "target": 5014.239,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.28,
        "bb_width_pct": 0.793
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T08-25-00Z_short_vwap_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T08:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5025.9,
      "stop": 5031.389,
      "target": 5014.922,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 17.97,
        "bb_width_pct": 0.771
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T08-35-00Z_short_rsi_range_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5026.925,
      "stop": 5032.193,
      "target": 5016.389,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 16.09,
        "bb_width_pct": 0.685
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T08-35-00Z_short_vwap_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5026.925,
      "stop": 5032.369,
      "target": 5016.037,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 16.09,
        "bb_width_pct": 0.685
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T08-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T08:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5028.435,
      "stop": 5034.266,
      "target": 5016.773,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.93,
        "bb_width_pct": 0.713
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T08-45-00Z_short_rsi_range_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T08:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5028.435,
      "stop": 5034.266,
      "target": 5016.773,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 13.93,
        "bb_width_pct": 0.713
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T08-45-00Z_short_vwap_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T08:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5028.435,
      "stop": 5034.009,
      "target": 5017.288,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.93,
        "bb_width_pct": 0.713
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T08-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T08:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5028.435,
      "stop": 5031.573,
      "target": 5022.158,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.93,
        "bb_width_pct": 0.713
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T09-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5032.84,
      "stop": 5039.523,
      "target": 5019.473,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.8,
        "bb_width_pct": 0.738
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T09-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5032.84,
      "stop": 5037.333,
      "target": 5023.854,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.8,
        "bb_width_pct": 0.738
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T09-05-00Z_short_rsi_range_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T09:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5027.65,
      "stop": 5031.262,
      "target": 5020.425,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 8.87,
        "bb_width_pct": 0.723
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T09-40-00Z_long_rsi_range_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T09:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5014.74,
      "stop": 5009.793,
      "target": 5024.635,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.03,
        "bb_width_pct": 0.385
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T09-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T09:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5012.86,
      "stop": 5008.598,
      "target": 5021.383,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.03,
        "bb_width_pct": 0.42
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T09-55-00Z_long_rsi_range_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T09:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5007.985,
      "stop": 5000.62,
      "target": 5022.714,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.65,
        "bb_width_pct": 0.581
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T09-55-00Z_long_vwap_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T09:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5007.985,
      "stop": 5002.567,
      "target": 5018.821,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.65,
        "bb_width_pct": 0.581
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T09-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T09:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5007.985,
      "stop": 5002.164,
      "target": 5019.627,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.65,
        "bb_width_pct": 0.581
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T09-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T09:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5007.985,
      "stop": 5002.566,
      "target": 5018.822,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.65,
        "bb_width_pct": 0.581
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T10-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T10:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5006.35,
      "stop": 4998.665,
      "target": 5021.721,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.73,
        "bb_width_pct": 0.642
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T10-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T10:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5006.35,
      "stop": 5000.708,
      "target": 5017.634,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.73,
        "bb_width_pct": 0.642
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T10-05-00Z_long_rsi_range_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T10:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5009.2,
      "stop": 5003.357,
      "target": 5020.886,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.15,
        "bb_width_pct": 0.673
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T10-10-00Z_long_rsi_range_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T10:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5010.29,
      "stop": 5005.431,
      "target": 5020.008,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.58,
        "bb_width_pct": 0.684
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T10-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T10:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4992.265,
      "stop": 4981.189,
      "target": 5014.418,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.96,
        "bb_width_pct": 0.898
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T10-30-00Z_long_rsi_range_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T10:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4992.265,
      "stop": 4981.189,
      "target": 5014.418,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.96,
        "bb_width_pct": 0.898
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T10-30-00Z_long_vwap_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T10:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4992.265,
      "stop": 4986.492,
      "target": 5003.811,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.96,
        "bb_width_pct": 0.898
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T10-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T10:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4992.265,
      "stop": 4981.489,
      "target": 5013.817,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 23.96,
        "bb_width_pct": 0.898
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T10-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T10:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4987.01,
      "stop": 4975.378,
      "target": 5010.273,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.39,
        "bb_width_pct": 0.978
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T10-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T10:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4992.87,
      "stop": 4985.038,
      "target": 5008.534,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.24,
        "bb_width_pct": 0.969
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T10-45-00Z_long_rsi_range_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T10:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4992.87,
      "stop": 4985.038,
      "target": 5008.534,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.24,
        "bb_width_pct": 0.969
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T10-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T10:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4992.87,
      "stop": 4983.331,
      "target": 5011.948,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.24,
        "bb_width_pct": 0.969
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T10-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T10:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4992.87,
      "stop": 4986.707,
      "target": 5005.195,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.24,
        "bb_width_pct": 0.969
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T10-50-00Z_long_rsi_range_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T10:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4996.4,
      "stop": 4991.07,
      "target": 5007.06,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.4,
        "bb_width_pct": 0.936
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T11-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4998.375,
      "stop": 4991.589,
      "target": 5011.948,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.5,
        "bb_width_pct": 0.836
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T11-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T11:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4997.315,
      "stop": 4989.999,
      "target": 5011.948,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.39,
        "bb_width_pct": 0.678
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T11-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T11:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5012.38,
      "stop": 5018.872,
      "target": 4999.395,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.97,
        "bb_width_pct": 0.594
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T11-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T11:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5012.38,
      "stop": 5016.528,
      "target": 5004.085,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.97,
        "bb_width_pct": 0.594
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T11-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T11:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5010.83,
      "stop": 5016.481,
      "target": 4999.528,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.6,
        "bb_width_pct": 0.609
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T11-55-00Z_short_rsi_range_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T11:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5010.83,
      "stop": 5016.481,
      "target": 4999.528,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 13.6,
        "bb_width_pct": 0.609
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T11-55-00Z_short_vwap_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T11:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5010.83,
      "stop": 5015.672,
      "target": 5001.146,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.6,
        "bb_width_pct": 0.609
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T12-15-00Z_short_rsi_range_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T12:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5013.985,
      "stop": 5019.277,
      "target": 5003.402,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 21.65,
        "bb_width_pct": 0.695
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T12-25-00Z_short_rsi_range_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T12:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5014.31,
      "stop": 5018.538,
      "target": 5005.853,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 12.5,
        "bb_width_pct": 0.633
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T12-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T12:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5014.75,
      "stop": 5017.288,
      "target": 5009.674,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.27,
        "bb_width_pct": 0.626
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T12-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T12:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5015.57,
      "stop": 5018.237,
      "target": 5010.236,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.6,
        "bb_width_pct": 0.572
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T12-40-00Z_short_rsi_range_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T12:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5015.445,
      "stop": 5018.742,
      "target": 5008.851,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 10.87,
        "bb_width_pct": 0.558
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T12-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T12:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5013.385,
      "stop": 5018.974,
      "target": 5002.208,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.01,
        "bb_width_pct": 0.341
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T13-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T13:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5022.77,
      "stop": 5027.451,
      "target": 5013.408,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.44,
        "bb_width_pct": 0.347
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T13-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T13:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5022.185,
      "stop": 5026.133,
      "target": 5014.288,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.9,
        "bb_width_pct": 0.333
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T13-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T13:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5022.185,
      "stop": 5031.489,
      "target": 5003.577,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.9,
        "bb_width_pct": 0.333
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T13-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T13:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5017.915,
      "stop": 5019.414,
      "target": 5014.917,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.26,
        "bb_width_pct": 0.295
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T13-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T13:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5017.915,
      "stop": 5024.999,
      "target": 5003.747,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.26,
        "bb_width_pct": 0.295
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T13-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T13:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5016.395,
      "stop": 5022.719,
      "target": 5003.747,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.04,
        "bb_width_pct": 0.273
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T13-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T13:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5004.385,
      "stop": 5004.704,
      "target": 5003.747,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.09,
        "bb_width_pct": 0.311
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T13-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5008.2,
      "stop": 5004.854,
      "target": 5014.891,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.65,
        "bb_width_pct": 0.331
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T13-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T13:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4998.81,
      "stop": 4992.752,
      "target": 5010.925,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.29,
        "bb_width_pct": 0.477
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T13-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5004.5,
      "stop": 5000.118,
      "target": 5013.264,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.93,
        "bb_width_pct": 0.503
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T14-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T14:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5030.85,
      "stop": 5039.05,
      "target": 5014.45,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.45,
        "bb_width_pct": 0.734
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T14-35-00Z_short_rsi_range_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T14:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5030.85,
      "stop": 5039.05,
      "target": 5014.45,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 16.45,
        "bb_width_pct": 0.734
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T14-35-00Z_short_vwap_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T14:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5030.85,
      "stop": 5039.216,
      "target": 5014.118,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 16.45,
        "bb_width_pct": 0.734
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T14-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T14:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5030.85,
      "stop": 5038.534,
      "target": 5015.483,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 16.45,
        "bb_width_pct": 0.734
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T14-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T14:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5030.85,
      "stop": 5038.161,
      "target": 5016.229,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.45,
        "bb_width_pct": 0.734
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T14-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T14:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5032.98,
      "stop": 5041.552,
      "target": 5015.836,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 24.9,
        "bb_width_pct": 0.874
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T14-45-00Z_short_rsi_range_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T14:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5032.98,
      "stop": 5041.552,
      "target": 5015.836,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 24.9,
        "bb_width_pct": 0.874
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T14-45-00Z_short_vwap_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T14:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5032.98,
      "stop": 5041.824,
      "target": 5015.292,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 24.9,
        "bb_width_pct": 0.874
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T14-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T14:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5032.98,
      "stop": 5041.365,
      "target": 5016.21,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 24.9,
        "bb_width_pct": 0.874
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T14-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T14:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5032.98,
      "stop": 5039.677,
      "target": 5019.585,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 24.9,
        "bb_width_pct": 0.874
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T14-55-00Z_short_rsi_range_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T14:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5038.01,
      "stop": 5048.141,
      "target": 5017.747,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 22.64,
        "bb_width_pct": 1.035
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T14-55-00Z_short_vwap_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T14:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5038.01,
      "stop": 5048.74,
      "target": 5016.55,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 22.64,
        "bb_width_pct": 1.035
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T14-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T14:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5038.01,
      "stop": 5048.13,
      "target": 5017.77,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 22.64,
        "bb_width_pct": 1.035
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T15-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T15:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5038.285,
      "stop": 5045.143,
      "target": 5024.569,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 23.47,
        "bb_width_pct": 1.094
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T15-05-00Z_short_rsi_range_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T15:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5035.755,
      "stop": 5043.427,
      "target": 5020.41,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 19.18,
        "bb_width_pct": 1.098
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T15-05-00Z_short_vwap_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T15:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5035.755,
      "stop": 5044.819,
      "target": 5017.627,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 19.18,
        "bb_width_pct": 1.098
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T15-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T15:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5035.755,
      "stop": 5044.259,
      "target": 5018.747,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 19.18,
        "bb_width_pct": 1.098
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T15-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T15:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5035.755,
      "stop": 5040.815,
      "target": 5025.634,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.18,
        "bb_width_pct": 1.098
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T15-10-00Z_short_vwap_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T15:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5030.19,
      "stop": 5036.286,
      "target": 5017.997,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.71,
        "bb_width_pct": 1.086
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T15-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T15:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5030.19,
      "stop": 5035.911,
      "target": 5018.747,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.71,
        "bb_width_pct": 1.086
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T15-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T15:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5051.95,
      "stop": 5062.71,
      "target": 5030.431,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.51,
        "bb_width_pct": 0.95
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T15-35-00Z_short_rsi_range_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T15:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5051.95,
      "stop": 5062.71,
      "target": 5030.431,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 11.51,
        "bb_width_pct": 0.95
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T15-35-00Z_short_vwap_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T15:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5051.95,
      "stop": 5067.773,
      "target": 5020.305,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.51,
        "bb_width_pct": 0.95
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T15-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T15:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5051.95,
      "stop": 5065.141,
      "target": 5025.568,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.51,
        "bb_width_pct": 0.95
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T15-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T15:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5060.15,
      "stop": 5072.628,
      "target": 5035.194,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.57,
        "bb_width_pct": 0.994
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T15-50-00Z_short_vwap_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T15:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5058.05,
      "stop": 5075.773,
      "target": 5022.605,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 20.94,
        "bb_width_pct": 1.0
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T15-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T15:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5058.05,
      "stop": 5073.154,
      "target": 5027.843,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 20.94,
        "bb_width_pct": 1.0
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T16-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5067.105,
      "stop": 5079.671,
      "target": 5041.972,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 24.41,
        "bb_width_pct": 1.01
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T16-05-00Z_short_rsi_range_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T16:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5065.51,
      "stop": 5076.162,
      "target": 5044.206,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 22.74,
        "bb_width_pct": 1.01
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T16-05-00Z_short_vwap_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T16:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5065.51,
      "stop": 5085.766,
      "target": 5024.999,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 22.74,
        "bb_width_pct": 1.01
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T16-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T16:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5065.51,
      "stop": 5082.302,
      "target": 5031.925,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 22.74,
        "bb_width_pct": 1.01
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T16-10-00Z_short_rsi_range_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T16:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5063.815,
      "stop": 5072.916,
      "target": 5045.612,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 24.28,
        "bb_width_pct": 1.052
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T16-10-00Z_short_vwap_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T16:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5063.815,
      "stop": 5082.839,
      "target": 5025.767,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 24.28,
        "bb_width_pct": 1.052
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T16-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T16:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5063.815,
      "stop": 5079.76,
      "target": 5031.925,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 24.28,
        "bb_width_pct": 1.052
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T16-50-00Z_short_vwap_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T16:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5073.885,
      "stop": 5094.727,
      "target": 5032.201,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.06,
        "bb_width_pct": 1.148
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T16-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T16:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5073.885,
      "stop": 5091.823,
      "target": 5038.01,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.06,
        "bb_width_pct": 1.148
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T16-55-00Z_short_vwap_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5073.57,
      "stop": 5093.907,
      "target": 5032.897,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 16.16,
        "bb_width_pct": 0.995
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T16-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5073.57,
      "stop": 5091.35,
      "target": 5038.01,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 16.16,
        "bb_width_pct": 0.995
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T17-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T17:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5067.225,
      "stop": 5081.508,
      "target": 5038.66,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.99,
        "bb_width_pct": 0.833
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T17-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T17:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5067.225,
      "stop": 5069.181,
      "target": 5063.314,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.99,
        "bb_width_pct": 0.833
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T17-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T17:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5062.93,
      "stop": 5073.571,
      "target": 5041.648,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.86,
        "bb_width_pct": 0.612
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T17-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T17:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5068.21,
      "stop": 5079.664,
      "target": 5045.302,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.35,
        "bb_width_pct": 0.437
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T17-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T17:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5067.06,
      "stop": 5077.901,
      "target": 5045.378,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.05,
        "bb_width_pct": 0.348
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T17-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T17:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5062.32,
      "stop": 5058.814,
      "target": 5069.332,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.9,
        "bb_width_pct": 0.381
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T17-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T17:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5054.92,
      "stop": 5050.391,
      "target": 5063.978,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.97,
        "bb_width_pct": 0.446
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T18-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T18:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5053.345,
      "stop": 5046.631,
      "target": 5066.773,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.81,
        "bb_width_pct": 0.629
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T18-00-00Z_long_rsi_range_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T18:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5053.345,
      "stop": 5046.631,
      "target": 5066.773,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.81,
        "bb_width_pct": 0.629
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T18-00-00Z_long_vwap_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T18:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5053.345,
      "stop": 5048.4,
      "target": 5063.235,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.81,
        "bb_width_pct": 0.629
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T18-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T18:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5053.345,
      "stop": 5049.296,
      "target": 5061.442,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.81,
        "bb_width_pct": 0.629
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T18-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T18:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5050.155,
      "stop": 5043.755,
      "target": 5062.954,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.99,
        "bb_width_pct": 0.661
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T18-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T18:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5050.155,
      "stop": 5045.745,
      "target": 5058.974,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.99,
        "bb_width_pct": 0.661
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T19-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T19:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5067.26,
      "stop": 5071.838,
      "target": 5058.104,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.32,
        "bb_width_pct": 0.461
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T19-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T19:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5067.26,
      "stop": 5070.393,
      "target": 5060.995,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.32,
        "bb_width_pct": 0.461
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T19-40-00Z_short_rsi_range_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T19:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5075.79,
      "stop": 5082.269,
      "target": 5062.833,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 26.47,
        "bb_width_pct": 0.677
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T19-40-00Z_short_vwap_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T19:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5075.79,
      "stop": 5082.336,
      "target": 5062.698,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 26.47,
        "bb_width_pct": 0.677
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T19-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T19:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5075.79,
      "stop": 5083.22,
      "target": 5060.93,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 26.47,
        "bb_width_pct": 0.677
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T19-45-00Z_short_rsi_range_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T19:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5074.61,
      "stop": 5080.042,
      "target": 5063.746,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 26.96,
        "bb_width_pct": 0.695
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T19-45-00Z_short_vwap_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T19:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5074.61,
      "stop": 5080.385,
      "target": 5063.06,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 26.96,
        "bb_width_pct": 0.695
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T19-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T19:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5074.61,
      "stop": 5081.45,
      "target": 5060.93,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 26.96,
        "bb_width_pct": 0.695
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T20-05-00Z_short_rsi_range_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T20:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5076.13,
      "stop": 5080.113,
      "target": 5068.165,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 17.03,
        "bb_width_pct": 0.639
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T20-05-00Z_short_vwap_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T20:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5076.13,
      "stop": 5081.998,
      "target": 5064.394,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 17.03,
        "bb_width_pct": 0.639
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T20-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T20:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5076.13,
      "stop": 5083.917,
      "target": 5060.555,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.03,
        "bb_width_pct": 0.639
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T20-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T20:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5076.13,
      "stop": 5079.12,
      "target": 5070.15,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.03,
        "bb_width_pct": 0.639
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T20-25-00Z_short_rsi_range_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T20:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5080.54,
      "stop": 5084.351,
      "target": 5072.918,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 20.06,
        "bb_width_pct": 0.516
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T20-25-00Z_short_vwap_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T20:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5080.54,
      "stop": 5087.898,
      "target": 5065.823,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 20.06,
        "bb_width_pct": 0.516
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T20-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T20:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5080.54,
      "stop": 5090.104,
      "target": 5061.413,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 20.06,
        "bb_width_pct": 0.516
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T20-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T20:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5076.92,
      "stop": 5078.396,
      "target": 5073.969,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.21,
        "bb_width_pct": 0.417
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T20-30-00Z_short_vwap_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T20:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5076.92,
      "stop": 5082.304,
      "target": 5066.153,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.21,
        "bb_width_pct": 0.417
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T20-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T20:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5076.92,
      "stop": 5084.674,
      "target": 5061.413,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.21,
        "bb_width_pct": 0.417
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T20-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T20:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5076.92,
      "stop": 5078.497,
      "target": 5073.765,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.21,
        "bb_width_pct": 0.417
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T20-45-00Z_short_vwap_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T20:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5076.18,
      "stop": 5080.842,
      "target": 5066.856,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.61,
        "bb_width_pct": 0.306
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T20-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T20:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5079.705,
      "stop": 5081.008,
      "target": 5077.099,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.68,
        "bb_width_pct": 0.22
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T20-55-00Z_short_vwap_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T20:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5079.705,
      "stop": 5085.859,
      "target": 5067.396,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.68,
        "bb_width_pct": 0.22
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T20-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T20:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5079.705,
      "stop": 5087.646,
      "target": 5063.823,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.68,
        "bb_width_pct": 0.22
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T21-00-00Z_short_vwap_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T21:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5075.655,
      "stop": 5111.372,
      "target": 5004.221,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 1.39,
        "bb_width_pct": 0.168
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T21-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T21:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5075.655,
      "stop": 5081.571,
      "target": 5063.823,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.39,
        "bb_width_pct": 0.168
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T21-05-00Z_short_vwap_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T21:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5069.305,
      "stop": 5100.567,
      "target": 5006.781,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 9.37,
        "bb_width_pct": 0.212
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T21-10-00Z_short_vwap_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T21:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5063.305,
      "stop": 5090.481,
      "target": 5008.953,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.96,
        "bb_width_pct": 0.317
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T21-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T21:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5065.06,
      "stop": 5061.027,
      "target": 5073.126,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.71,
        "bb_width_pct": 0.373
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T21-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T21:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5065.38,
      "stop": 5060.405,
      "target": 5075.331,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.96,
        "bb_width_pct": 0.414
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T21-20-00Z_long_rsi_range_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T21:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5065.38,
      "stop": 5060.405,
      "target": 5075.331,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.96,
        "bb_width_pct": 0.414
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T21-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T21:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5065.38,
      "stop": 5061.876,
      "target": 5072.388,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.96,
        "bb_width_pct": 0.414
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T21-25-00Z_short_vwap_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T21:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5055.18,
      "stop": 5075.647,
      "target": 5014.246,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 26.26,
        "bb_width_pct": 0.54
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T21-30-00Z_long_rsi_range_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T21:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5057.785,
      "stop": 5049.947,
      "target": 5073.461,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.12,
        "bb_width_pct": 0.609
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T21-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T21:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5060.19,
      "stop": 5053.915,
      "target": 5072.74,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.23,
        "bb_width_pct": 0.65
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T21-35-00Z_long_rsi_range_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T21:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5060.19,
      "stop": 5053.915,
      "target": 5072.74,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.23,
        "bb_width_pct": 0.65
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T21-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T21:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5060.19,
      "stop": 5055.972,
      "target": 5068.627,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.23,
        "bb_width_pct": 0.65
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T21-50-00Z_short_vwap_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T21:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5062.52,
      "stop": 5083.311,
      "target": 5020.939,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.11,
        "bb_width_pct": 0.677
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T21-55-00Z_short_vwap_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T21:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5057.775,
      "stop": 5075.661,
      "target": 5022.003,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 24.17,
        "bb_width_pct": 0.69
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-09T23-00-00Z_short_vwap_mean_reversion",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5056.23,
      "stop": 5072.878,
      "target": 5022.935,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 24.97,
        "bb_width_pct": 0.696
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T00-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T00:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5023.82,
      "stop": 5017.72,
      "target": 5036.02,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.11,
        "bb_width_pct": 0.788
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T00-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T00:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5017.355,
      "stop": 5008.911,
      "target": 5034.242,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.89,
        "bb_width_pct": 0.81
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T00-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T00:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5018.91,
      "stop": 5012.795,
      "target": 5031.141,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.88,
        "bb_width_pct": 0.759
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T01-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5023.695,
      "stop": 5020.327,
      "target": 5030.432,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.22,
        "bb_width_pct": 0.717
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T02-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T02:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5042.13,
      "stop": 5049.306,
      "target": 5027.778,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.72,
        "bb_width_pct": 0.65
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T02-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T02:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5041.865,
      "stop": 5048.335,
      "target": 5028.925,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.81,
        "bb_width_pct": 0.672
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T02-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T02:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5047.41,
      "stop": 5055.136,
      "target": 5031.957,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.49,
        "bb_width_pct": 0.81
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T02-25-00Z_short_vwap_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T02:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5047.41,
      "stop": 5055.168,
      "target": 5031.894,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 17.49,
        "bb_width_pct": 0.81
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T02-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T02:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5047.41,
      "stop": 5060.626,
      "target": 5020.977,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.49,
        "bb_width_pct": 0.81
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T02-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T02:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5047.41,
      "stop": 5052.804,
      "target": 5036.623,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.49,
        "bb_width_pct": 0.81
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T02-30-00Z_short_rsi_range_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5047.08,
      "stop": 5053.844,
      "target": 5033.551,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 23.48,
        "bb_width_pct": 0.789
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T02-30-00Z_short_vwap_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5047.08,
      "stop": 5054.417,
      "target": 5032.407,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 23.48,
        "bb_width_pct": 0.789
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T02-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5047.08,
      "stop": 5055.96,
      "target": 5029.32,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 23.48,
        "bb_width_pct": 0.789
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T02-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5047.08,
      "stop": 5051.811,
      "target": 5037.619,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 23.48,
        "bb_width_pct": 0.789
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T02-35-00Z_short_rsi_range_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T02:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5045.735,
      "stop": 5051.156,
      "target": 5034.893,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 17.69,
        "bb_width_pct": 0.768
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T02-35-00Z_short_vwap_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T02:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5045.735,
      "stop": 5052.197,
      "target": 5032.81,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 17.69,
        "bb_width_pct": 0.768
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T02-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T02:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5050.5,
      "stop": 5055.978,
      "target": 5039.545,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.78,
        "bb_width_pct": 0.785
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T02-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5042.66,
      "stop": 5047.651,
      "target": 5032.677,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.12,
        "bb_width_pct": 0.786
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T03-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T03:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5025.175,
      "stop": 5018.409,
      "target": 5038.707,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.39,
        "bb_width_pct": 0.695
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T03-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T03:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5025.175,
      "stop": 5020.312,
      "target": 5034.901,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.39,
        "bb_width_pct": 0.695
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T03-30-00Z_long_rsi_range_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5027.405,
      "stop": 5022.192,
      "target": 5037.83,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.03,
        "bb_width_pct": 0.766
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T03-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T03:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5030.155,
      "stop": 5029.697,
      "target": 5031.071,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.36,
        "bb_width_pct": 0.812
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T04-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5024.48,
      "stop": 5019.487,
      "target": 5034.465,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.51,
        "bb_width_pct": 0.724
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T04-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T04:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5031.745,
      "stop": 5034.404,
      "target": 5026.428,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.66,
        "bb_width_pct": 0.25
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T04-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T04:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5031.725,
      "stop": 5034.085,
      "target": 5027.005,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.2,
        "bb_width_pct": 0.239
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T05-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5031.485,
      "stop": 5033.567,
      "target": 5027.321,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.5,
        "bb_width_pct": 0.248
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T05-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5019.33,
      "stop": 5015.571,
      "target": 5026.847,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.69,
        "bb_width_pct": 0.31
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T05-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5019.33,
      "stop": 5015.414,
      "target": 5027.163,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.69,
        "bb_width_pct": 0.31
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T05-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5021.055,
      "stop": 5018.288,
      "target": 5026.59,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.44,
        "bb_width_pct": 0.326
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T05-30-00Z_long_vwap_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5021.055,
      "stop": 5016.245,
      "target": 5030.676,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.44,
        "bb_width_pct": 0.326
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T05-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5021.055,
      "stop": 5014.636,
      "target": 5033.892,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.44,
        "bb_width_pct": 0.326
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T05-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5021.055,
      "stop": 5018.292,
      "target": 5026.581,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.44,
        "bb_width_pct": 0.326
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T05-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T05:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5034.64,
      "stop": 5038.177,
      "target": 5027.566,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.93,
        "bb_width_pct": 0.351
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T05-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5038.43,
      "stop": 5043.113,
      "target": 5029.064,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.55,
        "bb_width_pct": 0.391
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T05-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T05:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5039.295,
      "stop": 5044.495,
      "target": 5028.896,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.21,
        "bb_width_pct": 0.434
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T05-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T05:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5039.295,
      "stop": 5043.923,
      "target": 5030.038,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.21,
        "bb_width_pct": 0.434
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T06-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5039.355,
      "stop": 5043.57,
      "target": 5030.925,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.31,
        "bb_width_pct": 0.467
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T06-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5040.015,
      "stop": 5044.929,
      "target": 5030.187,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.0,
        "bb_width_pct": 0.498
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T06-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5040.015,
      "stop": 5044.127,
      "target": 5031.791,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.0,
        "bb_width_pct": 0.498
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T06-35-00Z_short_rsi_range_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5034.25,
      "stop": 5035.414,
      "target": 5031.921,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 13.85,
        "bb_width_pct": 0.507
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T06-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T06:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5022.185,
      "stop": 5017.513,
      "target": 5031.528,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.31,
        "bb_width_pct": 0.535
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T07-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T07:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5029.585,
      "stop": 5028.41,
      "target": 5031.934,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.09,
        "bb_width_pct": 0.487
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T07-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T07:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5029.585,
      "stop": 5029.004,
      "target": 5030.748,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.09,
        "bb_width_pct": 0.487
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T07-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T07:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5022.51,
      "stop": 5017.602,
      "target": 5032.325,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.67,
        "bb_width_pct": 0.426
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T07-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T07:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5025.425,
      "stop": 5022.205,
      "target": 5031.864,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.85,
        "bb_width_pct": 0.44
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T08-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T08:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5035.92,
      "stop": 5038.885,
      "target": 5029.989,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.77,
        "bb_width_pct": 0.349
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T08-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T08:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5035.92,
      "stop": 5039.586,
      "target": 5028.587,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.77,
        "bb_width_pct": 0.349
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T08-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T08:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5035.92,
      "stop": 5038.274,
      "target": 5031.212,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.77,
        "bb_width_pct": 0.349
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T08-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T08:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5033.155,
      "stop": 5034.851,
      "target": 5029.762,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.87,
        "bb_width_pct": 0.325
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T08-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T08:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5038.8,
      "stop": 5042.923,
      "target": 5030.555,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.32,
        "bb_width_pct": 0.396
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T08-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T08:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5038.8,
      "stop": 5043.906,
      "target": 5028.587,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.32,
        "bb_width_pct": 0.396
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T08-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T08:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5035.7,
      "stop": 5039.256,
      "target": 5028.587,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.55,
        "bb_width_pct": 0.406
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T08-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5044.2,
      "stop": 5048.976,
      "target": 5034.647,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.32,
        "bb_width_pct": 0.427
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T08-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T08:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5047.555,
      "stop": 5053.514,
      "target": 5035.636,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.97,
        "bb_width_pct": 0.612
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T08-50-00Z_short_rsi_range_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T08:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5047.555,
      "stop": 5053.514,
      "target": 5035.636,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 18.97,
        "bb_width_pct": 0.612
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T08-50-00Z_short_vwap_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T08:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5047.555,
      "stop": 5054.065,
      "target": 5034.534,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 18.97,
        "bb_width_pct": 0.612
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T08-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T08:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5047.555,
      "stop": 5052.85,
      "target": 5036.965,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.97,
        "bb_width_pct": 0.612
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T08-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T08:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5047.555,
      "stop": 5052.132,
      "target": 5038.401,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.97,
        "bb_width_pct": 0.612
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T09-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5049.75,
      "stop": 5054.726,
      "target": 5039.798,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.57,
        "bb_width_pct": 0.6
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T09-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T09:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5051.705,
      "stop": 5057.38,
      "target": 5040.354,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.38,
        "bb_width_pct": 0.656
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T09-10-00Z_short_vwap_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T09:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5051.705,
      "stop": 5059.134,
      "target": 5036.848,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.38,
        "bb_width_pct": 0.656
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T09-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T09:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5051.705,
      "stop": 5057.002,
      "target": 5041.11,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.38,
        "bb_width_pct": 0.656
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T09-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T09:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5051.705,
      "stop": 5056.324,
      "target": 5042.468,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.38,
        "bb_width_pct": 0.656
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T09-15-00Z_short_vwap_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T09:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5048.39,
      "stop": 5053.942,
      "target": 5037.286,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.82,
        "bb_width_pct": 0.63
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T09-25-00Z_short_vwap_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T09:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5052.345,
      "stop": 5059.36,
      "target": 5038.316,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.62,
        "bb_width_pct": 0.601
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T10-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T10:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5041.245,
      "stop": 5037.655,
      "target": 5048.425,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.29,
        "bb_width_pct": 0.298
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T10-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T10:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5041.555,
      "stop": 5038.186,
      "target": 5048.293,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.02,
        "bb_width_pct": 0.313
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T10-15-00Z_long_rsi_range_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T10:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5041.555,
      "stop": 5038.186,
      "target": 5048.293,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.02,
        "bb_width_pct": 0.313
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T10-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T10:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5055.085,
      "stop": 5058.932,
      "target": 5047.391,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.78,
        "bb_width_pct": 0.315
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T10-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T10:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5054.18,
      "stop": 5056.649,
      "target": 5049.241,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.25,
        "bb_width_pct": 0.327
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T10-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T10:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5054.18,
      "stop": 5060.493,
      "target": 5041.555,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.25,
        "bb_width_pct": 0.327
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T10-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T10:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5054.18,
      "stop": 5057.251,
      "target": 5048.038,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.25,
        "bb_width_pct": 0.327
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T10-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T10:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5049.515,
      "stop": 5049.794,
      "target": 5048.956,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.79,
        "bb_width_pct": 0.3
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T11-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T11:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5056.135,
      "stop": 5058.867,
      "target": 5050.671,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.89,
        "bb_width_pct": 0.244
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T12-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5052.02,
      "stop": 5052.625,
      "target": 5050.811,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.89,
        "bb_width_pct": 0.244
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T12-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T12:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5046.48,
      "stop": 5044.347,
      "target": 5050.746,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.18,
        "bb_width_pct": 0.25
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T12-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T12:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5046.48,
      "stop": 5044.678,
      "target": 5050.084,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.18,
        "bb_width_pct": 0.25
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T12-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T12:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5044.055,
      "stop": 5040.909,
      "target": 5050.348,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.26,
        "bb_width_pct": 0.274
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T12-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T12:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5048.415,
      "stop": 5047.615,
      "target": 5050.014,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.81,
        "bb_width_pct": 0.261
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T12-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T12:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5046.11,
      "stop": 5044.36,
      "target": 5049.611,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.33,
        "bb_width_pct": 0.258
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T12-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T12:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5044.635,
      "stop": 5042.455,
      "target": 5048.995,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.93,
        "bb_width_pct": 0.262
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T12-50-00Z_long_rsi_range_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T12:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5028.82,
      "stop": 5020.409,
      "target": 5045.643,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.77,
        "bb_width_pct": 0.63
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T12-50-00Z_long_vwap_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T12:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5028.82,
      "stop": 5022.309,
      "target": 5041.841,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.77,
        "bb_width_pct": 0.63
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T12-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T12:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5028.82,
      "stop": 5023.457,
      "target": 5039.545,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 20.77,
        "bb_width_pct": 0.63
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T12-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T12:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5032.215,
      "stop": 5025.877,
      "target": 5044.891,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.7,
        "bb_width_pct": 0.67
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T12-55-00Z_long_rsi_range_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T12:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5032.215,
      "stop": 5025.877,
      "target": 5044.891,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.7,
        "bb_width_pct": 0.67
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T12-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T12:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5032.215,
      "stop": 5027.331,
      "target": 5041.984,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.7,
        "bb_width_pct": 0.67
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T13-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5030.255,
      "stop": 5024.949,
      "target": 5040.867,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.44,
        "bb_width_pct": 0.715
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T13-05-00Z_long_rsi_range_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T13:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5034.455,
      "stop": 5029.988,
      "target": 5043.39,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.89,
        "bb_width_pct": 0.73
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T13-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5053.14,
      "stop": 5058.956,
      "target": 5041.507,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.94,
        "bb_width_pct": 0.673
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T13-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5053.14,
      "stop": 5058.851,
      "target": 5041.718,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.94,
        "bb_width_pct": 0.673
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T13-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5049.18,
      "stop": 5054.021,
      "target": 5039.498,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.31,
        "bb_width_pct": 0.635
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T13-50-00Z_short_rsi_range_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T13:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5052.835,
      "stop": 5058.195,
      "target": 5042.116,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 21.4,
        "bb_width_pct": 0.709
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T13-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T13:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5052.835,
      "stop": 5059.504,
      "target": 5039.498,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 21.4,
        "bb_width_pct": 0.709
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T13-55-00Z_short_rsi_range_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T13:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5051.175,
      "stop": 5055.636,
      "target": 5042.254,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 18.58,
        "bb_width_pct": 0.719
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T13-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T13:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5051.175,
      "stop": 5057.014,
      "target": 5039.498,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.58,
        "bb_width_pct": 0.719
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T14-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5048.875,
      "stop": 5053.564,
      "target": 5039.498,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.45,
        "bb_width_pct": 0.725
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T14-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T14:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5067.7,
      "stop": 5078.224,
      "target": 5046.653,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.93,
        "bb_width_pct": 0.971
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T14-20-00Z_short_vwap_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T14:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5067.7,
      "stop": 5078.654,
      "target": 5045.792,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 17.93,
        "bb_width_pct": 0.971
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T14-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T14:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5067.7,
      "stop": 5077.851,
      "target": 5047.398,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.93,
        "bb_width_pct": 0.971
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T14-35-00Z_short_vwap_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T14:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5062.435,
      "stop": 5069.623,
      "target": 5048.06,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.83,
        "bb_width_pct": 0.965
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T14-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T14:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5062.435,
      "stop": 5068.983,
      "target": 5049.34,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.83,
        "bb_width_pct": 0.965
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T14-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T14:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5062.435,
      "stop": 5065.454,
      "target": 5056.397,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.83,
        "bb_width_pct": 0.965
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T14-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T14:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5040.805,
      "stop": 5034.359,
      "target": 5053.698,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.5,
        "bb_width_pct": 0.913
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T14-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T14:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5040.805,
      "stop": 5034.879,
      "target": 5052.657,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.5,
        "bb_width_pct": 0.913
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T15-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T15:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5035.085,
      "stop": 5026.031,
      "target": 5053.192,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.83,
        "bb_width_pct": 0.957
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T15-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T15:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5035.085,
      "stop": 5027.702,
      "target": 5049.852,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.83,
        "bb_width_pct": 0.957
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T15-30-00Z_long_rsi_range_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T15:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5032.57,
      "stop": 5023.902,
      "target": 5049.906,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.65,
        "bb_width_pct": 1.085
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T15-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T15:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5032.57,
      "stop": 5024.185,
      "target": 5049.34,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 22.65,
        "bb_width_pct": 1.085
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T16-10-00Z_long_vwap_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T16:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5020.91,
      "stop": 5010.551,
      "target": 5041.628,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.46,
        "bb_width_pct": 1.125
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T16-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T16:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5012.49,
      "stop": 5005.01,
      "target": 5027.45,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.01,
        "bb_width_pct": 0.929
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T16-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T16:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5010.24,
      "stop": 5002.454,
      "target": 5025.811,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.01,
        "bb_width_pct": 0.976
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T16-30-00Z_long_vwap_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T16:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5018.675,
      "stop": 5008.162,
      "target": 5039.7,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.42,
        "bb_width_pct": 0.951
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T16-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T16:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5018.675,
      "stop": 5008.589,
      "target": 5038.847,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.42,
        "bb_width_pct": 0.951
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T16-35-00Z_long_vwap_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5019.305,
      "stop": 5009.28,
      "target": 5039.354,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.71,
        "bb_width_pct": 0.923
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T16-40-00Z_long_vwap_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T16:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5022.03,
      "stop": 5013.542,
      "target": 5039.007,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.21,
        "bb_width_pct": 0.904
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T16-50-00Z_long_vwap_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T16:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5020.16,
      "stop": 5011.055,
      "target": 5038.37,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.26,
        "bb_width_pct": 0.77
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T16-55-00Z_long_vwap_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5023.94,
      "stop": 5016.856,
      "target": 5038.108,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.53,
        "bb_width_pct": 0.681
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T17-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T17:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5036.75,
      "stop": 5041.855,
      "target": 5026.539,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.68,
        "bb_width_pct": 0.551
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T17-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T17:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5037.17,
      "stop": 5044.621,
      "target": 5022.268,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 26.71,
        "bb_width_pct": 0.607
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T17-35-00Z_short_rsi_range_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T17:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5034.165,
      "stop": 5039.749,
      "target": 5022.996,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 16.56,
        "bb_width_pct": 0.638
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T17-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T17:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5037.84,
      "stop": 5042.209,
      "target": 5029.101,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.0,
        "bb_width_pct": 0.666
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T17-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T17:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5030.01,
      "stop": 5030.421,
      "target": 5029.188,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.56,
        "bb_width_pct": 0.645
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T18-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T18:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5020.98,
      "stop": 5017.749,
      "target": 5027.442,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.29,
        "bb_width_pct": 0.517
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T18-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T18:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5011.835,
      "stop": 5004.621,
      "target": 5026.264,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.06,
        "bb_width_pct": 0.574
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T18-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5010.165,
      "stop": 5002.995,
      "target": 5024.505,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 27.73,
        "bb_width_pct": 0.763
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T18-30-00Z_long_rsi_range_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5010.165,
      "stop": 5002.995,
      "target": 5024.505,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 27.73,
        "bb_width_pct": 0.763
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T18-30-00Z_long_vwap_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5010.165,
      "stop": 5002.887,
      "target": 5024.721,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 27.73,
        "bb_width_pct": 0.763
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T18-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5010.165,
      "stop": 5003.5,
      "target": 5023.495,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 27.73,
        "bb_width_pct": 0.763
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T18-35-00Z_long_rsi_range_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T18:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5013.895,
      "stop": 5008.841,
      "target": 5024.002,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.58,
        "bb_width_pct": 0.785
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T18-35-00Z_long_vwap_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T18:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5013.895,
      "stop": 5008.773,
      "target": 5024.138,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.58,
        "bb_width_pct": 0.785
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T18-40-00Z_long_rsi_range_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T18:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5015.595,
      "stop": 5011.641,
      "target": 5023.504,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.11,
        "bb_width_pct": 0.797
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T18-55-00Z_long_vwap_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T18:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5013.17,
      "stop": 5008.674,
      "target": 5022.161,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.47,
        "bb_width_pct": 0.852
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T18-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T18:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5013.17,
      "stop": 5008.517,
      "target": 5022.475,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.47,
        "bb_width_pct": 0.852
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T18-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T18:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5013.17,
      "stop": 5011.052,
      "target": 5017.406,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.47,
        "bb_width_pct": 0.852
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T19-05-00Z_long_vwap_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T19:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5011.535,
      "stop": 5006.634,
      "target": 5021.337,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.28,
        "bb_width_pct": 0.789
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T19-10-00Z_long_vwap_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T19:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5012.595,
      "stop": 5008.399,
      "target": 5020.987,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.23,
        "bb_width_pct": 0.719
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T19-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T19:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5012.595,
      "stop": 5007.655,
      "target": 5022.475,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.23,
        "bb_width_pct": 0.719
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T19-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T19:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5026.58,
      "stop": 5032.232,
      "target": 5015.275,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.22,
        "bb_width_pct": 0.468
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T19-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T19:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5026.695,
      "stop": 5032.403,
      "target": 5015.28,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.7,
        "bb_width_pct": 0.469
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T19-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T19:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5026.695,
      "stop": 5030.713,
      "target": 5018.659,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.7,
        "bb_width_pct": 0.469
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T19-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T19:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5024.535,
      "stop": 5029.104,
      "target": 5015.398,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.4,
        "bb_width_pct": 0.482
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T19-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T19:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5024.535,
      "stop": 5027.193,
      "target": 5019.219,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.4,
        "bb_width_pct": 0.482
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T19-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T19:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5026.935,
      "stop": 5030.426,
      "target": 5019.954,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.65,
        "bb_width_pct": 0.514
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T19-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T19:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5028.255,
      "stop": 5034.247,
      "target": 5016.272,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.95,
        "bb_width_pct": 0.558
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T19-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T19:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5028.255,
      "stop": 5032.01,
      "target": 5020.744,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.95,
        "bb_width_pct": 0.558
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T20-00-00Z_short_rsi_range_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T20:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5023.0,
      "stop": 5025.528,
      "target": 5017.943,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 14.41,
        "bb_width_pct": 0.559
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T20-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T20:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5023.0,
      "stop": 5023.701,
      "target": 5021.598,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.41,
        "bb_width_pct": 0.559
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T20-20-00Z_short_rsi_range_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T20:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5028.11,
      "stop": 5031.586,
      "target": 5021.158,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 12.66,
        "bb_width_pct": 0.581
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T20-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T20:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5028.11,
      "stop": 5030.253,
      "target": 5023.824,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.66,
        "bb_width_pct": 0.581
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T20-35-00Z_short_vwap_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T20:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5029.3,
      "stop": 5032.523,
      "target": 5022.853,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.7,
        "bb_width_pct": 0.503
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T20-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T20:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5036.01,
      "stop": 5040.783,
      "target": 5026.463,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.77,
        "bb_width_pct": 0.446
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T20-45-00Z_short_vwap_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T20:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5036.01,
      "stop": 5042.294,
      "target": 5023.442,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.77,
        "bb_width_pct": 0.446
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T20-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T20:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5036.01,
      "stop": 5042.778,
      "target": 5022.475,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.77,
        "bb_width_pct": 0.446
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T20-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T20:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5034.05,
      "stop": 5037.307,
      "target": 5027.536,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.86,
        "bb_width_pct": 0.386
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T20-50-00Z_short_vwap_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T20:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5034.05,
      "stop": 5039.23,
      "target": 5023.69,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.86,
        "bb_width_pct": 0.386
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T20-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T20:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5034.05,
      "stop": 5037.114,
      "target": 5027.922,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.86,
        "bb_width_pct": 0.386
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T20-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T20:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5030.315,
      "stop": 5031.417,
      "target": 5028.11,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.4,
        "bb_width_pct": 0.354
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T21-10-00Z_long_vwap_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T21:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5029.335,
      "stop": 5020.377,
      "target": 5047.25,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.27,
        "bb_width_pct": 0.282
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T21-25-00Z_long_vwap_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T21:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5026.17,
      "stop": 5016.658,
      "target": 5045.193,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.64,
        "bb_width_pct": 0.276
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T21-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T21:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5023.375,
      "stop": 5020.67,
      "target": 5028.785,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.97,
        "bb_width_pct": 0.292
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T21-50-00Z_long_rsi_range_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T21:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5025.875,
      "stop": 5024.427,
      "target": 5028.77,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.52,
        "bb_width_pct": 0.292
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T21-50-00Z_long_vwap_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T21:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5025.875,
      "stop": 5017.659,
      "target": 5042.308,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.52,
        "bb_width_pct": 0.292
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T23-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5034.11,
      "stop": 5036.706,
      "target": 5028.919,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.87,
        "bb_width_pct": 0.315
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T23-05-00Z_long_vwap_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5034.11,
      "stop": 5030.479,
      "target": 5041.373,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.87,
        "bb_width_pct": 0.315
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T23-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5034.11,
      "stop": 5037.266,
      "target": 5027.799,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.87,
        "bb_width_pct": 0.315
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T23-10-00Z_long_vwap_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5034.24,
      "stop": 5030.764,
      "target": 5041.192,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.71,
        "bb_width_pct": 0.327
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T23-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5034.24,
      "stop": 5037.154,
      "target": 5028.412,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.71,
        "bb_width_pct": 0.327
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T23-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5040.77,
      "stop": 5045.515,
      "target": 5031.281,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.6,
        "bb_width_pct": 0.602
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T23-30-00Z_short_rsi_range_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5040.77,
      "stop": 5045.515,
      "target": 5031.281,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 20.6,
        "bb_width_pct": 0.602
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T23-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5040.77,
      "stop": 5044.256,
      "target": 5033.797,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.6,
        "bb_width_pct": 0.602
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T23-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5043.39,
      "stop": 5047.73,
      "target": 5034.711,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 23.4,
        "bb_width_pct": 0.637
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T23-40-00Z_short_rsi_range_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5042.5,
      "stop": 5047.434,
      "target": 5032.632,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 24.03,
        "bb_width_pct": 0.659
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T23-45-00Z_short_rsi_range_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5041.045,
      "stop": 5044.894,
      "target": 5033.347,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 21.73,
        "bb_width_pct": 0.665
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T23-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5041.045,
      "stop": 5043.575,
      "target": 5035.985,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.73,
        "bb_width_pct": 0.665
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-10T23-50-00Z_short_rsi_range_reversion",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T23:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5040.67,
      "stop": 5044.048,
      "target": 5033.914,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 22.34,
        "bb_width_pct": 0.672
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T00-05-00Z_short_rsi_range_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T00:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5039.67,
      "stop": 5041.527,
      "target": 5035.956,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 7.36,
        "bb_width_pct": 0.642
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T00-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T00:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5045.695,
      "stop": 5048.149,
      "target": 5040.786,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.4,
        "bb_width_pct": 0.335
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T00-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T00:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5045.695,
      "stop": 5048.884,
      "target": 5039.316,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.4,
        "bb_width_pct": 0.335
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T00-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T00:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5038.905,
      "stop": 5037.594,
      "target": 5041.527,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.23,
        "bb_width_pct": 0.269
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T01-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5044.635,
      "stop": 5046.436,
      "target": 5041.033,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.69,
        "bb_width_pct": 0.251
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T01-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T01:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5041.385,
      "stop": 5041.655,
      "target": 5040.845,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.48,
        "bb_width_pct": 0.231
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T02-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T02:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5043.97,
      "stop": 5044.679,
      "target": 5042.553,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.79,
        "bb_width_pct": 0.342
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T02-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T02:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5043.97,
      "stop": 5047.141,
      "target": 5037.627,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.79,
        "bb_width_pct": 0.342
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T02-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T02:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5043.97,
      "stop": 5044.468,
      "target": 5042.975,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.79,
        "bb_width_pct": 0.342
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T02-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5053.035,
      "stop": 5057.412,
      "target": 5044.28,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.87,
        "bb_width_pct": 0.406
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T02-45-00Z_short_vwap_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5053.035,
      "stop": 5058.416,
      "target": 5042.274,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.87,
        "bb_width_pct": 0.406
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T02-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5053.035,
      "stop": 5058.234,
      "target": 5042.638,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.87,
        "bb_width_pct": 0.406
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T02-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5053.035,
      "stop": 5056.976,
      "target": 5045.153,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.87,
        "bb_width_pct": 0.406
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T02-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T02:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5055.875,
      "stop": 5061.31,
      "target": 5045.005,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.25,
        "bb_width_pct": 0.449
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T02-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T02:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5055.875,
      "stop": 5060.725,
      "target": 5046.174,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.25,
        "bb_width_pct": 0.449
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T02-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T02:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5055.89,
      "stop": 5060.894,
      "target": 5045.882,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.4,
        "bb_width_pct": 0.469
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T02-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T02:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5055.89,
      "stop": 5060.285,
      "target": 5047.099,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.4,
        "bb_width_pct": 0.469
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T03-00-00Z_short_vwap_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5053.45,
      "stop": 5058.527,
      "target": 5043.295,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.91,
        "bb_width_pct": 0.463
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T03-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5053.45,
      "stop": 5058.634,
      "target": 5043.083,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.91,
        "bb_width_pct": 0.463
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T03-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T03:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5049.335,
      "stop": 5052.461,
      "target": 5043.083,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.35,
        "bb_width_pct": 0.431
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T03-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T03:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5056.325,
      "stop": 5059.869,
      "target": 5049.238,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.11,
        "bb_width_pct": 0.433
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T03-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5057.215,
      "stop": 5060.824,
      "target": 5049.997,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.97,
        "bb_width_pct": 0.456
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T03-30-00Z_short_vwap_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5053.905,
      "stop": 5058.52,
      "target": 5044.675,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.92,
        "bb_width_pct": 0.463
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T03-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5053.905,
      "stop": 5058.961,
      "target": 5043.792,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.92,
        "bb_width_pct": 0.463
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T03-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5053.905,
      "stop": 5055.673,
      "target": 5050.37,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.92,
        "bb_width_pct": 0.463
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T03-45-00Z_short_vwap_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T03:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5058.18,
      "stop": 5064.524,
      "target": 5045.491,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.67,
        "bb_width_pct": 0.466
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T03-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T03:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5058.18,
      "stop": 5064.394,
      "target": 5045.753,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.67,
        "bb_width_pct": 0.466
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T03-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T03:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5058.18,
      "stop": 5061.179,
      "target": 5052.181,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.67,
        "bb_width_pct": 0.466
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T03-50-00Z_short_vwap_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T03:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5055.435,
      "stop": 5060.295,
      "target": 5045.716,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.53,
        "bb_width_pct": 0.395
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T03-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T03:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5055.435,
      "stop": 5060.186,
      "target": 5045.933,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.53,
        "bb_width_pct": 0.395
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T03-55-00Z_short_vwap_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T03:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5054.49,
      "stop": 5058.787,
      "target": 5045.897,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.14,
        "bb_width_pct": 0.369
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T04-05-00Z_short_vwap_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5054.8,
      "stop": 5059.056,
      "target": 5046.289,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.15,
        "bb_width_pct": 0.252
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T04-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5054.8,
      "stop": 5059.234,
      "target": 5045.933,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.15,
        "bb_width_pct": 0.252
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T04-20-00Z_short_vwap_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5057.475,
      "stop": 5062.748,
      "target": 5046.929,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.78,
        "bb_width_pct": 0.201
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T04-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5057.475,
      "stop": 5062.78,
      "target": 5046.865,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.78,
        "bb_width_pct": 0.201
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T04-30-00Z_short_vwap_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T04:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5056.79,
      "stop": 5061.524,
      "target": 5047.322,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.84,
        "bb_width_pct": 0.204
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T04-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T04:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5056.79,
      "stop": 5061.753,
      "target": 5046.865,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.84,
        "bb_width_pct": 0.204
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T04-35-00Z_short_vwap_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5055.635,
      "stop": 5059.707,
      "target": 5047.491,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.5,
        "bb_width_pct": 0.204
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T04-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5055.635,
      "stop": 5060.02,
      "target": 5046.865,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.5,
        "bb_width_pct": 0.204
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T04-40-00Z_short_vwap_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5052.39,
      "stop": 5054.788,
      "target": 5047.595,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.42,
        "bb_width_pct": 0.209
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T04-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T04:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5048.655,
      "stop": 5046.055,
      "target": 5053.856,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.57,
        "bb_width_pct": 0.229
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T05-00-00Z_long_rsi_range_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5047.085,
      "stop": 5043.276,
      "target": 5054.702,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.57,
        "bb_width_pct": 0.293
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T05-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5047.23,
      "stop": 5043.743,
      "target": 5054.203,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.74,
        "bb_width_pct": 0.316
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T05-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5047.23,
      "stop": 5044.808,
      "target": 5052.075,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.74,
        "bb_width_pct": 0.316
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T05-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5062.46,
      "stop": 5066.903,
      "target": 5053.575,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.38,
        "bb_width_pct": 0.363
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T05-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5062.325,
      "stop": 5066.544,
      "target": 5053.887,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.04,
        "bb_width_pct": 0.391
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T05-40-00Z_short_vwap_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5062.325,
      "stop": 5069.321,
      "target": 5048.332,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.04,
        "bb_width_pct": 0.391
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T05-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5062.325,
      "stop": 5067.42,
      "target": 5052.135,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.04,
        "bb_width_pct": 0.391
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T05-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T05:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5053.85,
      "stop": 5054.454,
      "target": 5052.642,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.23,
        "bb_width_pct": 0.391
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T05-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T05:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5053.15,
      "stop": 5052.765,
      "target": 5053.92,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.43,
        "bb_width_pct": 0.385
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T06-20-00Z_short_vwap_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T06:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5056.925,
      "stop": 5060.905,
      "target": 5048.965,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.58,
        "bb_width_pct": 0.397
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T06-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T06:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5056.925,
      "stop": 5058.427,
      "target": 5053.92,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.58,
        "bb_width_pct": 0.397
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T06-25-00Z_short_vwap_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T06:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5056.835,
      "stop": 5060.72,
      "target": 5049.064,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 9.61,
        "bb_width_pct": 0.399
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T07-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T07:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5063.575,
      "stop": 5066.888,
      "target": 5056.948,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.42,
        "bb_width_pct": 0.344
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T07-00-00Z_short_rsi_range_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T07:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5063.575,
      "stop": 5066.888,
      "target": 5056.948,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 12.42,
        "bb_width_pct": 0.344
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T07-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T07:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5063.575,
      "stop": 5068.237,
      "target": 5054.25,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.42,
        "bb_width_pct": 0.344
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T07-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T07:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5059.42,
      "stop": 5060.348,
      "target": 5057.564,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.05,
        "bb_width_pct": 0.36
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T07-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T07:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5059.42,
      "stop": 5061.632,
      "target": 5054.995,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.05,
        "bb_width_pct": 0.36
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T07-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T07:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5059.42,
      "stop": 5060.141,
      "target": 5057.977,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.05,
        "bb_width_pct": 0.36
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T07-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T07:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5059.375,
      "stop": 5060.358,
      "target": 5057.41,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.17,
        "bb_width_pct": 0.351
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T07-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T07:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5059.375,
      "stop": 5060.804,
      "target": 5056.517,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.17,
        "bb_width_pct": 0.351
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T07-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T07:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5052.485,
      "stop": 5049.635,
      "target": 5058.184,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.75,
        "bb_width_pct": 0.262
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T08-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5047.98,
      "stop": 5043.683,
      "target": 5056.574,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.54,
        "bb_width_pct": 0.341
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T08-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5047.98,
      "stop": 5044.616,
      "target": 5054.707,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.54,
        "bb_width_pct": 0.341
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T08-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5051.48,
      "stop": 5049.252,
      "target": 5055.936,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.44,
        "bb_width_pct": 0.322
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T08-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5051.48,
      "stop": 5048.431,
      "target": 5057.577,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.44,
        "bb_width_pct": 0.322
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T08-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5051.48,
      "stop": 5050.02,
      "target": 5054.4,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.44,
        "bb_width_pct": 0.322
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T09-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T09:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5051.635,
      "stop": 5050.59,
      "target": 5053.725,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.86,
        "bb_width_pct": 0.195
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T09-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5057.82,
      "stop": 5060.021,
      "target": 5053.417,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.28,
        "bb_width_pct": 0.184
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T09-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5058.89,
      "stop": 5061.079,
      "target": 5054.513,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.5,
        "bb_width_pct": 0.204
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T09-45-00Z_short_rsi_range_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T09:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5063.885,
      "stop": 5068.648,
      "target": 5054.359,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 17.01,
        "bb_width_pct": 0.316
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T09-45-00Z_short_vwap_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T09:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5063.885,
      "stop": 5067.896,
      "target": 5055.864,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 17.01,
        "bb_width_pct": 0.316
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T09-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T09:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5063.885,
      "stop": 5067.039,
      "target": 5057.577,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.01,
        "bb_width_pct": 0.316
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T09-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T09:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5061.57,
      "stop": 5064.933,
      "target": 5054.844,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.96,
        "bb_width_pct": 0.336
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T09-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T09:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5061.57,
      "stop": 5063.963,
      "target": 5056.784,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.96,
        "bb_width_pct": 0.336
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T10-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T10:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5064.805,
      "stop": 5069.267,
      "target": 5055.882,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.57,
        "bb_width_pct": 0.394
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T10-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T10:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5064.805,
      "stop": 5068.169,
      "target": 5058.077,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.57,
        "bb_width_pct": 0.394
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T10-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T10:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5071.065,
      "stop": 5076.256,
      "target": 5060.684,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 26.39,
        "bb_width_pct": 0.584
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T10-25-00Z_short_rsi_range_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T10:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5071.065,
      "stop": 5076.256,
      "target": 5060.684,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 26.39,
        "bb_width_pct": 0.584
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T10-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T10:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5071.065,
      "stop": 5075.946,
      "target": 5061.302,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 26.39,
        "bb_width_pct": 0.584
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T10-30-00Z_short_rsi_range_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T10:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5069.285,
      "stop": 5073.185,
      "target": 5061.484,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 20.5,
        "bb_width_pct": 0.586
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T10-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T10:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5069.285,
      "stop": 5073.276,
      "target": 5061.302,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 20.5,
        "bb_width_pct": 0.586
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T10-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T10:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5069.285,
      "stop": 5072.027,
      "target": 5063.801,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.5,
        "bb_width_pct": 0.586
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T11-00-00Z_short_rsi_range_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5086.0,
      "stop": 5092.516,
      "target": 5072.967,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 21.39,
        "bb_width_pct": 1.085
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T11-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5086.0,
      "stop": 5092.148,
      "target": 5073.705,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 21.39,
        "bb_width_pct": 1.085
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T11-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5086.0,
      "stop": 5090.879,
      "target": 5076.241,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.39,
        "bb_width_pct": 1.085
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T11-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T11:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5089.635,
      "stop": 5097.6,
      "target": 5073.705,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 19.94,
        "bb_width_pct": 1.07
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T11-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T11:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5089.635,
      "stop": 5094.923,
      "target": 5079.059,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.94,
        "bb_width_pct": 1.07
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T11-30-00Z_short_vwap_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T11:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5103.64,
      "stop": 5113.109,
      "target": 5084.702,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 24.05,
        "bb_width_pct": 1.136
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T11-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T11:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5103.64,
      "stop": 5116.916,
      "target": 5077.087,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 24.05,
        "bb_width_pct": 1.136
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T11-35-00Z_short_rsi_range_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T11:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5102.45,
      "stop": 5110.513,
      "target": 5086.324,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 24.76,
        "bb_width_pct": 1.106
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T11-35-00Z_short_vwap_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T11:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5102.45,
      "stop": 5110.833,
      "target": 5085.683,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 24.76,
        "bb_width_pct": 1.106
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T11-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T11:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5102.45,
      "stop": 5115.131,
      "target": 5077.087,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 24.76,
        "bb_width_pct": 1.106
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T11-50-00Z_short_vwap_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T11:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5113.055,
      "stop": 5125.081,
      "target": 5089.002,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.43,
        "bb_width_pct": 1.09
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T11-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T11:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5113.055,
      "stop": 5129.09,
      "target": 5080.985,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.43,
        "bb_width_pct": 1.09
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T11-55-00Z_short_vwap_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T11:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5111.67,
      "stop": 5122.531,
      "target": 5089.948,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.39,
        "bb_width_pct": 1.065
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T11-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T11:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5111.67,
      "stop": 5126.488,
      "target": 5082.035,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.39,
        "bb_width_pct": 1.065
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T12-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5105.2,
      "stop": 5116.782,
      "target": 5082.035,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.17,
        "bb_width_pct": 1.018
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T12-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5105.2,
      "stop": 5109.395,
      "target": 5096.811,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.17,
        "bb_width_pct": 1.018
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T12-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T12:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5084.45,
      "stop": 5076.712,
      "target": 5099.925,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.69,
        "bb_width_pct": 0.666
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T12-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T12:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5083.845,
      "stop": 5076.04,
      "target": 5099.455,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.63,
        "bb_width_pct": 0.713
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T12-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T12:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5083.845,
      "stop": 5078.352,
      "target": 5094.832,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.63,
        "bb_width_pct": 0.713
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T12-45-00Z_long_rsi_range_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T12:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5070.94,
      "stop": 5057.696,
      "target": 5097.428,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.4,
        "bb_width_pct": 0.98
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T12-45-00Z_long_vwap_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T12:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5070.94,
      "stop": 5060.706,
      "target": 5091.409,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.4,
        "bb_width_pct": 0.98
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T12-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T12:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5078.535,
      "stop": 5069.366,
      "target": 5096.873,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.76,
        "bb_width_pct": 1.025
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T12-50-00Z_long_rsi_range_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T12:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5078.535,
      "stop": 5069.366,
      "target": 5096.873,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.76,
        "bb_width_pct": 1.025
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T12-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T12:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5078.535,
      "stop": 5073.212,
      "target": 5089.18,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.76,
        "bb_width_pct": 1.025
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T12-55-00Z_long_rsi_range_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T12:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5083.525,
      "stop": 5077.168,
      "target": 5096.239,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.65,
        "bb_width_pct": 1.05
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T13-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T13:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5072.95,
      "stop": 5066.557,
      "target": 5085.736,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.64,
        "bb_width_pct": 1.117
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T13-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5064.36,
      "stop": 5054.855,
      "target": 5083.371,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.33,
        "bb_width_pct": 1.065
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T13-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5064.36,
      "stop": 5056.424,
      "target": 5080.232,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.33,
        "bb_width_pct": 1.065
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T13-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T13:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5060.445,
      "stop": 5050.101,
      "target": 5081.133,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.83,
        "bb_width_pct": 1.058
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T14-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T14:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5047.66,
      "stop": 5037.72,
      "target": 5067.54,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.45,
        "bb_width_pct": 0.956
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T14-45-00Z_long_vwap_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T14:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5047.66,
      "stop": 5033.583,
      "target": 5075.814,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.45,
        "bb_width_pct": 0.956
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T14-50-00Z_long_vwap_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T14:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5059.22,
      "stop": 5051.227,
      "target": 5075.207,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.88,
        "bb_width_pct": 0.925
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T14-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T14:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5059.22,
      "stop": 5055.759,
      "target": 5066.141,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.88,
        "bb_width_pct": 0.925
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T14-55-00Z_long_vwap_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T14:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5059.445,
      "stop": 5051.771,
      "target": 5074.793,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.63,
        "bb_width_pct": 0.924
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T15-30-00Z_long_vwap_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T15:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5053.655,
      "stop": 5044.147,
      "target": 5072.671,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.6,
        "bb_width_pct": 0.896
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T15-40-00Z_long_vwap_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T15:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5048.695,
      "stop": 5037.252,
      "target": 5071.58,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.31,
        "bb_width_pct": 0.942
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T16-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T16:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5075.045,
      "stop": 5083.316,
      "target": 5058.502,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.22,
        "bb_width_pct": 0.679
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T16-35-00Z_short_rsi_range_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5074.82,
      "stop": 5082.594,
      "target": 5059.271,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 13.76,
        "bb_width_pct": 0.735
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T16-40-00Z_short_rsi_range_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T16:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5074.015,
      "stop": 5081.163,
      "target": 5059.72,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 18.62,
        "bb_width_pct": 0.773
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T16-45-00Z_short_rsi_range_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5073.01,
      "stop": 5079.823,
      "target": 5059.384,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 17.99,
        "bb_width_pct": 0.726
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T16-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5073.01,
      "stop": 5083.496,
      "target": 5052.038,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.99,
        "bb_width_pct": 0.726
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T17-00-00Z_short_rsi_range_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T17:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5073.265,
      "stop": 5079.224,
      "target": 5061.346,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 11.23,
        "bb_width_pct": 0.803
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T17-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T17:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5073.265,
      "stop": 5080.116,
      "target": 5059.562,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.23,
        "bb_width_pct": 0.803
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T17-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T17:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5080.355,
      "stop": 5086.752,
      "target": 5067.562,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.01,
        "bb_width_pct": 0.834
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T17-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T17:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5083.65,
      "stop": 5092.306,
      "target": 5066.337,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.72,
        "bb_width_pct": 0.891
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T17-15-00Z_short_rsi_range_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T17:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5083.65,
      "stop": 5092.306,
      "target": 5066.337,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 22.72,
        "bb_width_pct": 0.891
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T17-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T17:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5083.65,
      "stop": 5095.182,
      "target": 5060.585,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 22.72,
        "bb_width_pct": 0.891
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T17-25-00Z_short_rsi_range_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T17:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5087.515,
      "stop": 5096.126,
      "target": 5070.294,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 27.63,
        "bb_width_pct": 0.888
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T17-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T17:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5087.515,
      "stop": 5099.498,
      "target": 5063.55,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 27.63,
        "bb_width_pct": 0.888
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T17-30-00Z_short_rsi_range_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T17:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5082.95,
      "stop": 5088.708,
      "target": 5071.434,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 21.15,
        "bb_width_pct": 0.894
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T17-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T17:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5082.95,
      "stop": 5092.65,
      "target": 5063.55,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 21.15,
        "bb_width_pct": 0.894
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T17-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T17:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5082.95,
      "stop": 5087.113,
      "target": 5074.623,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.15,
        "bb_width_pct": 0.894
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T17-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T17:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5083.945,
      "stop": 5088.162,
      "target": 5075.511,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.63,
        "bb_width_pct": 0.893
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T17-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T17:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5096.32,
      "stop": 5107.181,
      "target": 5074.598,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.54,
        "bb_width_pct": 0.933
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T17-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T17:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5089.145,
      "stop": 5099.944,
      "target": 5067.547,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.68,
        "bb_width_pct": 0.885
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T17-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T17:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5089.145,
      "stop": 5094.416,
      "target": 5078.603,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.68,
        "bb_width_pct": 0.885
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T17-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T17:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5091.53,
      "stop": 5103.521,
      "target": 5067.547,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.64,
        "bb_width_pct": 0.773
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T17-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T17:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5091.53,
      "stop": 5096.773,
      "target": 5081.043,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.64,
        "bb_width_pct": 0.773
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T18-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T18:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5089.53,
      "stop": 5099.64,
      "target": 5069.31,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.84,
        "bb_width_pct": 0.677
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T18-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T18:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5089.53,
      "stop": 5093.369,
      "target": 5081.852,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.84,
        "bb_width_pct": 0.677
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T18-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T18:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5072.975,
      "stop": 5068.233,
      "target": 5082.458,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.5,
        "bb_width_pct": 0.577
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T18-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T18:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5072.975,
      "stop": 5068.989,
      "target": 5080.948,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.5,
        "bb_width_pct": 0.577
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T19-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T19:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5089.085,
      "stop": 5098.02,
      "target": 5071.215,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 16.18,
        "bb_width_pct": 0.552
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T19-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T19:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5092.465,
      "stop": 5096.763,
      "target": 5083.87,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.33,
        "bb_width_pct": 0.529
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T19-25-00Z_short_rsi_range_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T19:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5091.695,
      "stop": 5095.652,
      "target": 5083.781,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 26.25,
        "bb_width_pct": 0.539
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T19-25-00Z_short_vwap_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T19:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5091.695,
      "stop": 5095.5,
      "target": 5084.084,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 26.25,
        "bb_width_pct": 0.539
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T19-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T19:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5091.695,
      "stop": 5101.935,
      "target": 5071.215,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 26.25,
        "bb_width_pct": 0.539
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T19-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T19:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5091.695,
      "stop": 5095.235,
      "target": 5084.615,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 26.25,
        "bb_width_pct": 0.539
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T19-30-00Z_short_rsi_range_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T19:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5087.435,
      "stop": 5089.392,
      "target": 5083.52,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 16.74,
        "bb_width_pct": 0.519
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T19-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T19:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5087.435,
      "stop": 5095.545,
      "target": 5071.215,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 16.74,
        "bb_width_pct": 0.519
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T20-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T20:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5080.235,
      "stop": 5077.379,
      "target": 5085.947,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.61,
        "bb_width_pct": 0.255
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T21-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T21:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5091.545,
      "stop": 5094.224,
      "target": 5086.186,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.97,
        "bb_width_pct": 0.229
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T21-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T21:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5091.545,
      "stop": 5093.83,
      "target": 5086.975,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.97,
        "bb_width_pct": 0.229
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T21-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T21:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5082.365,
      "stop": 5080.54,
      "target": 5086.016,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.6,
        "bb_width_pct": 0.238
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T21-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T21:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5082.365,
      "stop": 5083.235,
      "target": 5080.625,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.6,
        "bb_width_pct": 0.238
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T21-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T21:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5082.365,
      "stop": 5080.28,
      "target": 5086.536,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.6,
        "bb_width_pct": 0.238
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T21-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T21:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5079.565,
      "stop": 5076.564,
      "target": 5085.567,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.84,
        "bb_width_pct": 0.294
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T21-35-00Z_long_vwap_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T21:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5079.565,
      "stop": 5074.93,
      "target": 5088.836,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.84,
        "bb_width_pct": 0.294
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T21-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T21:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5079.565,
      "stop": 5076.818,
      "target": 5085.06,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.84,
        "bb_width_pct": 0.294
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T21-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T21:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5080.675,
      "stop": 5078.239,
      "target": 5085.546,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.72,
        "bb_width_pct": 0.296
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T21-40-00Z_long_vwap_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T21:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5080.675,
      "stop": 5076.733,
      "target": 5088.56,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.72,
        "bb_width_pct": 0.296
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T21-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T21:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5078.9,
      "stop": 5075.765,
      "target": 5085.171,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.49,
        "bb_width_pct": 0.316
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T23-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5095.17,
      "stop": 5101.691,
      "target": 5082.128,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.18,
        "bb_width_pct": 0.36
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T23-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5082.86,
      "stop": 5081.709,
      "target": 5085.162,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.92,
        "bb_width_pct": 0.362
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T23-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5082.86,
      "stop": 5082.921,
      "target": 5082.738,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.92,
        "bb_width_pct": 0.362
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T23-15-00Z_long_vwap_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5067.14,
      "stop": 5057.236,
      "target": 5086.948,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.45,
        "bb_width_pct": 0.594
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T23-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5067.14,
      "stop": 5063.259,
      "target": 5074.903,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 17.45,
        "bb_width_pct": 0.594
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T23-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5067.14,
      "stop": 5060.061,
      "target": 5081.299,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.45,
        "bb_width_pct": 0.594
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T23-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T23:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5069.29,
      "stop": 5062.655,
      "target": 5082.559,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.56,
        "bb_width_pct": 0.638
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T23-20-00Z_long_vwap_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T23:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5069.29,
      "stop": 5060.693,
      "target": 5086.484,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.56,
        "bb_width_pct": 0.638
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T23-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T23:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5069.29,
      "stop": 5063.857,
      "target": 5080.155,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.56,
        "bb_width_pct": 0.638
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T23-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5063.045,
      "stop": 5054.406,
      "target": 5080.324,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.45,
        "bb_width_pct": 0.728
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T23-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5063.045,
      "stop": 5055.788,
      "target": 5077.558,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.45,
        "bb_width_pct": 0.728
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T23-35-00Z_long_vwap_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5064.925,
      "stop": 5054.858,
      "target": 5085.058,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.83,
        "bb_width_pct": 0.764
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T23-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5064.925,
      "stop": 5059.21,
      "target": 5076.355,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.83,
        "bb_width_pct": 0.764
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-11T23-45-00Z_long_vwap_mean_reversion",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5068.64,
      "stop": 5060.849,
      "target": 5084.222,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.62,
        "bb_width_pct": 0.798
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T00-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5061.01,
      "stop": 5055.757,
      "target": 5071.516,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.4,
        "bb_width_pct": 0.746
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T00-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T00:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5056.93,
      "stop": 5049.975,
      "target": 5070.841,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.42,
        "bb_width_pct": 0.806
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T00-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T00:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5056.93,
      "stop": 5050.93,
      "target": 5068.93,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.42,
        "bb_width_pct": 0.806
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T00-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T00:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5059.09,
      "stop": 5052.161,
      "target": 5072.948,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.25,
        "bb_width_pct": 0.821
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T00-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T00:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5059.09,
      "stop": 5055.182,
      "target": 5066.905,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.25,
        "bb_width_pct": 0.821
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T01-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5051.615,
      "stop": 5045.805,
      "target": 5063.235,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.7,
        "bb_width_pct": 0.326
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T01-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T01:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5054.34,
      "stop": 5051.037,
      "target": 5060.946,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.83,
        "bb_width_pct": 0.322
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T01-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T01:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5054.34,
      "stop": 5045.55,
      "target": 5071.92,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.83,
        "bb_width_pct": 0.322
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T01-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T01:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5054.34,
      "stop": 5050.316,
      "target": 5062.388,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.83,
        "bb_width_pct": 0.322
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T01-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T01:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5050.03,
      "stop": 5044.439,
      "target": 5061.211,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.74,
        "bb_width_pct": 0.37
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T01-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T01:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5058.49,
      "stop": 5057.748,
      "target": 5059.974,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.33,
        "bb_width_pct": 0.361
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T01-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T01:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5058.49,
      "stop": 5052.395,
      "target": 5070.68,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.33,
        "bb_width_pct": 0.361
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T01-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T01:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5058.49,
      "stop": 5057.259,
      "target": 5060.952,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.33,
        "bb_width_pct": 0.361
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T02-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T02:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5067.54,
      "stop": 5071.396,
      "target": 5059.828,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.78,
        "bb_width_pct": 0.381
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T02-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T02:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5066.26,
      "stop": 5069.045,
      "target": 5060.69,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.88,
        "bb_width_pct": 0.428
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T02-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5065.025,
      "stop": 5067.864,
      "target": 5059.347,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.99,
        "bb_width_pct": 0.444
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T03-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T03:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5071.755,
      "stop": 5075.614,
      "target": 5064.036,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.08,
        "bb_width_pct": 0.336
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T03-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T03:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5068.655,
      "stop": 5070.671,
      "target": 5064.623,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.3,
        "bb_width_pct": 0.319
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T03-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T03:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5068.655,
      "stop": 5073.159,
      "target": 5059.648,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.3,
        "bb_width_pct": 0.319
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T03-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T03:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5068.655,
      "stop": 5070.558,
      "target": 5064.849,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.3,
        "bb_width_pct": 0.319
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T03-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T03:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5064.525,
      "stop": 5066.707,
      "target": 5060.16,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.67,
        "bb_width_pct": 0.312
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T03-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5060.15,
      "stop": 5057.624,
      "target": 5065.202,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.42,
        "bb_width_pct": 0.293
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T03-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T03:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5057.835,
      "stop": 5054.505,
      "target": 5064.496,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.93,
        "bb_width_pct": 0.299
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T03-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T03:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5056.995,
      "stop": 5053.47,
      "target": 5064.045,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.64,
        "bb_width_pct": 0.324
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T04-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T04:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5057.775,
      "stop": 5054.852,
      "target": 5063.621,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.65,
        "bb_width_pct": 0.338
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T04-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T04:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5057.775,
      "stop": 5055.402,
      "target": 5062.522,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.65,
        "bb_width_pct": 0.338
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T04-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T04:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5053.14,
      "stop": 5048.6,
      "target": 5062.22,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.71,
        "bb_width_pct": 0.411
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T04-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T04:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5053.14,
      "stop": 5049.461,
      "target": 5060.498,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.71,
        "bb_width_pct": 0.411
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T04-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5055.45,
      "stop": 5052.13,
      "target": 5062.089,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.41,
        "bb_width_pct": 0.422
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T04-20-00Z_long_rsi_range_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5055.45,
      "stop": 5052.13,
      "target": 5062.089,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.41,
        "bb_width_pct": 0.422
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T04-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5055.45,
      "stop": 5053.167,
      "target": 5060.017,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.41,
        "bb_width_pct": 0.422
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T04-25-00Z_long_rsi_range_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T04:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5056.47,
      "stop": 5053.758,
      "target": 5061.894,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.86,
        "bb_width_pct": 0.432
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T05-25-00Z_short_rsi_range_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5071.78,
      "stop": 5076.256,
      "target": 5062.828,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 23.74,
        "bb_width_pct": 0.656
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T05-25-00Z_short_vwap_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5071.78,
      "stop": 5076.633,
      "target": 5062.073,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 23.74,
        "bb_width_pct": 0.656
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T05-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5071.78,
      "stop": 5075.319,
      "target": 5064.702,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 23.74,
        "bb_width_pct": 0.656
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T05-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5071.78,
      "stop": 5074.375,
      "target": 5066.59,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 23.74,
        "bb_width_pct": 0.656
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T05-45-00Z_short_vwap_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T05:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5070.55,
      "stop": 5074.598,
      "target": 5062.453,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 16.27,
        "bb_width_pct": 0.639
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T06-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5069.11,
      "stop": 5071.314,
      "target": 5064.702,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.59,
        "bb_width_pct": 0.567
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T06-35-00Z_long_vwap_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5052.71,
      "stop": 5047.725,
      "target": 5062.68,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.33,
        "bb_width_pct": 0.597
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T06-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5052.71,
      "stop": 5047.035,
      "target": 5064.06,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 13.33,
        "bb_width_pct": 0.597
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T06-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T06:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5057.89,
      "stop": 5053.152,
      "target": 5067.366,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.56,
        "bb_width_pct": 0.62
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T06-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T06:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5057.89,
      "stop": 5055.448,
      "target": 5062.775,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.56,
        "bb_width_pct": 0.62
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T06-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T06:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5057.89,
      "stop": 5055.209,
      "target": 5063.251,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.56,
        "bb_width_pct": 0.62
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T07-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T07:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5059.815,
      "stop": 5058.772,
      "target": 5061.9,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.38,
        "bb_width_pct": 0.559
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T08-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T08:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5067.97,
      "stop": 5071.08,
      "target": 5061.751,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.85,
        "bb_width_pct": 0.342
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T08-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T08:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5067.97,
      "stop": 5070.052,
      "target": 5063.805,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.85,
        "bb_width_pct": 0.342
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T08-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5060.495,
      "stop": 5059.194,
      "target": 5063.096,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.59,
        "bb_width_pct": 0.277
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T08-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5060.495,
      "stop": 5058.945,
      "target": 5063.596,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.59,
        "bb_width_pct": 0.277
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T08-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T08:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5068.625,
      "stop": 5071.086,
      "target": 5063.703,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.37,
        "bb_width_pct": 0.291
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T08-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T08:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5068.625,
      "stop": 5070.945,
      "target": 5063.985,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.37,
        "bb_width_pct": 0.291
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T09-10-00Z_short_vwap_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T09:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5074.055,
      "stop": 5078.963,
      "target": 5064.239,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.21,
        "bb_width_pct": 0.398
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T09-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T09:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5074.055,
      "stop": 5080.181,
      "target": 5061.802,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.21,
        "bb_width_pct": 0.398
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T09-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T09:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5074.055,
      "stop": 5077.76,
      "target": 5066.646,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.21,
        "bb_width_pct": 0.398
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T09-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T09:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5073.59,
      "stop": 5077.269,
      "target": 5066.233,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.52,
        "bb_width_pct": 0.412
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T09-15-00Z_short_vwap_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T09:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5073.59,
      "stop": 5078.078,
      "target": 5064.614,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.52,
        "bb_width_pct": 0.412
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T09-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T09:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5073.59,
      "stop": 5079.484,
      "target": 5061.802,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.52,
        "bb_width_pct": 0.412
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T09-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T09:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5073.59,
      "stop": 5076.731,
      "target": 5067.307,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.52,
        "bb_width_pct": 0.412
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T09-25-00Z_short_vwap_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T09:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5071.48,
      "stop": 5074.628,
      "target": 5065.185,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.79,
        "bb_width_pct": 0.405
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T09-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T09:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5071.48,
      "stop": 5075.944,
      "target": 5062.552,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.79,
        "bb_width_pct": 0.405
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T09-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T09:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5079.1,
      "stop": 5084.071,
      "target": 5069.159,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 24.9,
        "bb_width_pct": 0.434
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T09-55-00Z_short_vwap_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T09:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5073.265,
      "stop": 5076.609,
      "target": 5066.576,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.93,
        "bb_width_pct": 0.434
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T09-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T09:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5073.265,
      "stop": 5076.76,
      "target": 5066.275,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.93,
        "bb_width_pct": 0.434
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T09-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T09:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5073.265,
      "stop": 5074.534,
      "target": 5070.727,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.93,
        "bb_width_pct": 0.434
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T10-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T10:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5071.775,
      "stop": 5074.435,
      "target": 5066.455,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.55,
        "bb_width_pct": 0.432
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T10-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T10:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5062.69,
      "stop": 5058.771,
      "target": 5070.529,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.32,
        "bb_width_pct": 0.36
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T10-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T10:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5059.37,
      "stop": 5054.612,
      "target": 5068.886,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.3,
        "bb_width_pct": 0.426
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T10-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T10:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5059.37,
      "stop": 5055.956,
      "target": 5066.197,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.3,
        "bb_width_pct": 0.426
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T10-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T10:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5060.56,
      "stop": 5056.734,
      "target": 5068.212,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.81,
        "bb_width_pct": 0.438
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T10-50-00Z_long_rsi_range_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T10:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5060.56,
      "stop": 5056.734,
      "target": 5068.212,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.81,
        "bb_width_pct": 0.438
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T10-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T10:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5060.56,
      "stop": 5057.505,
      "target": 5066.67,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 19.81,
        "bb_width_pct": 0.438
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T10-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T10:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5060.56,
      "stop": 5058.01,
      "target": 5065.661,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.81,
        "bb_width_pct": 0.438
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T11-05-00Z_long_rsi_range_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T11:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5063.48,
      "stop": 5061.898,
      "target": 5066.644,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.05,
        "bb_width_pct": 0.428
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T11-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T11:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5064.19,
      "stop": 5064.8,
      "target": 5062.971,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.26,
        "bb_width_pct": 0.14
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T12-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5065.195,
      "stop": 5066.295,
      "target": 5062.994,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.67,
        "bb_width_pct": 0.142
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T12-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T12:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5061.47,
      "stop": 5060.706,
      "target": 5062.998,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.68,
        "bb_width_pct": 0.142
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T12-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T12:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5061.47,
      "stop": 5060.1,
      "target": 5064.21,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.68,
        "bb_width_pct": 0.142
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T12-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T12:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5062.49,
      "stop": 5062.241,
      "target": 5062.988,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.9,
        "bb_width_pct": 0.142
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T12-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T12:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5062.49,
      "stop": 5059.435,
      "target": 5068.6,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.9,
        "bb_width_pct": 0.142
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T12-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T12:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5063.8,
      "stop": 5063.983,
      "target": 5063.435,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.36,
        "bb_width_pct": 0.136
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T12-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T12:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5057.88,
      "stop": 5055.206,
      "target": 5063.227,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.66,
        "bb_width_pct": 0.164
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T12-55-00Z_long_vwap_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T12:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5052.85,
      "stop": 5049.125,
      "target": 5060.301,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.69,
        "bb_width_pct": 0.329
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T12-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T12:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5052.85,
      "stop": 5046.528,
      "target": 5065.495,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 21.69,
        "bb_width_pct": 0.329
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T13-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5055.115,
      "stop": 5051.945,
      "target": 5061.454,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.57,
        "bb_width_pct": 0.348
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T13-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5055.115,
      "stop": 5050.211,
      "target": 5064.923,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.57,
        "bb_width_pct": 0.348
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T13-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5055.115,
      "stop": 5052.619,
      "target": 5060.106,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.57,
        "bb_width_pct": 0.348
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T13-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T13:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5070.005,
      "stop": 5074.097,
      "target": 5061.821,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.05,
        "bb_width_pct": 0.382
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T13-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T13:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5071.415,
      "stop": 5076.024,
      "target": 5062.198,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.06,
        "bb_width_pct": 0.415
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T13-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T13:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5062.87,
      "stop": 5063.434,
      "target": 5061.743,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.1,
        "bb_width_pct": 0.412
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T13-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5072.575,
      "stop": 5077.705,
      "target": 5062.315,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.87,
        "bb_width_pct": 0.439
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T13-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5072.575,
      "stop": 5077.098,
      "target": 5063.529,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.87,
        "bb_width_pct": 0.439
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T13-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5074.8,
      "stop": 5080.777,
      "target": 5062.846,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.88,
        "bb_width_pct": 0.488
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T13-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5074.8,
      "stop": 5079.899,
      "target": 5064.603,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.88,
        "bb_width_pct": 0.488
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T13-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T13:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5075.58,
      "stop": 5081.687,
      "target": 5063.365,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.16,
        "bb_width_pct": 0.535
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T13-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T13:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5075.58,
      "stop": 5080.546,
      "target": 5065.648,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.16,
        "bb_width_pct": 0.535
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T13-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5078.03,
      "stop": 5084.948,
      "target": 5064.193,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.47,
        "bb_width_pct": 0.589
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T13-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T13:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5075.455,
      "stop": 5080.346,
      "target": 5065.673,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 24.71,
        "bb_width_pct": 0.673
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T13-55-00Z_short_rsi_range_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T13:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5075.455,
      "stop": 5080.346,
      "target": 5065.673,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 24.71,
        "bb_width_pct": 0.673
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T13-55-00Z_short_vwap_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T13:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5075.455,
      "stop": 5080.655,
      "target": 5065.055,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 24.71,
        "bb_width_pct": 0.673
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T13-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T13:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5075.455,
      "stop": 5080.659,
      "target": 5065.048,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 24.71,
        "bb_width_pct": 0.673
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T13-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T13:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5075.455,
      "stop": 5078.778,
      "target": 5068.809,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 24.71,
        "bb_width_pct": 0.673
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T14-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T14:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5058.29,
      "stop": 5053.406,
      "target": 5068.057,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.18,
        "bb_width_pct": 0.697
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T14-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T14:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5056.385,
      "stop": 5050.466,
      "target": 5068.223,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.52,
        "bb_width_pct": 0.551
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T14-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T14:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5055.39,
      "stop": 5049.117,
      "target": 5067.936,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.66,
        "bb_width_pct": 0.582
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T14-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T14:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5054.29,
      "stop": 5047.753,
      "target": 5067.364,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.92,
        "bb_width_pct": 0.627
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T15-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T15:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5053.975,
      "stop": 5048.351,
      "target": 5065.223,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.95,
        "bb_width_pct": 0.758
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T15-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T15:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5053.975,
      "stop": 5050.074,
      "target": 5061.778,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 13.95,
        "bb_width_pct": 0.758
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T15-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T15:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5053.975,
      "stop": 5050.489,
      "target": 5060.946,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.95,
        "bb_width_pct": 0.758
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T18-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T18:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4933.895,
      "stop": 4924.653,
      "target": 4952.379,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.52,
        "bb_width_pct": 1.067
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T18-10-00Z_long_vwap_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T18:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4933.895,
      "stop": 4923.527,
      "target": 4954.631,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.52,
        "bb_width_pct": 1.067
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T20-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T20:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4928.57,
      "stop": 4922.201,
      "target": 4941.307,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.31,
        "bb_width_pct": 0.556
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T20-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T20:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4928.57,
      "stop": 4921.886,
      "target": 4941.937,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.31,
        "bb_width_pct": 0.556
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T20-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T20:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4920.365,
      "stop": 4911.303,
      "target": 4938.489,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.69,
        "bb_width_pct": 0.803
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T20-35-00Z_long_vwap_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T20:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4920.365,
      "stop": 4909.121,
      "target": 4942.853,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.69,
        "bb_width_pct": 0.803
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T20-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T20:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4920.365,
      "stop": 4908.045,
      "target": 4945.005,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 19.69,
        "bb_width_pct": 0.803
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T20-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4920.925,
      "stop": 4912.436,
      "target": 4937.902,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.0,
        "bb_width_pct": 0.856
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T20-40-00Z_long_rsi_range_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4920.925,
      "stop": 4912.436,
      "target": 4937.902,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.0,
        "bb_width_pct": 0.856
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T20-40-00Z_long_vwap_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4920.925,
      "stop": 4910.214,
      "target": 4942.346,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.0,
        "bb_width_pct": 0.856
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T20-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4920.925,
      "stop": 4908.885,
      "target": 4945.005,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 22.0,
        "bb_width_pct": 0.856
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T20-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T20:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4921.575,
      "stop": 4913.788,
      "target": 4937.15,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.16,
        "bb_width_pct": 0.903
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T20-45-00Z_long_rsi_range_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T20:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4921.575,
      "stop": 4913.788,
      "target": 4937.15,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.16,
        "bb_width_pct": 0.903
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T20-45-00Z_long_vwap_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T20:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4921.575,
      "stop": 4911.44,
      "target": 4941.846,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.16,
        "bb_width_pct": 0.903
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T20-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T20:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4921.575,
      "stop": 4911.897,
      "target": 4940.93,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 20.16,
        "bb_width_pct": 0.903
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T20-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T20:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4921.575,
      "stop": 4915.489,
      "target": 4933.747,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.16,
        "bb_width_pct": 0.903
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T20-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T20:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4920.215,
      "stop": 4912.075,
      "target": 4936.495,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.26,
        "bb_width_pct": 0.95
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T20-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T20:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4920.215,
      "stop": 4914.093,
      "target": 4932.458,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.26,
        "bb_width_pct": 0.95
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T21-00-00Z_long_rsi_range_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T21:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4920.03,
      "stop": 4913.011,
      "target": 4934.068,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.12,
        "bb_width_pct": 1.041
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T21-00-00Z_long_vwap_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T21:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4920.03,
      "stop": 4850.943,
      "target": 5058.203,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.12,
        "bb_width_pct": 1.041
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T21-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T21:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4920.03,
      "stop": 4910.435,
      "target": 4939.22,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 19.12,
        "bb_width_pct": 1.041
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T21-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T21:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4920.03,
      "stop": 4915.155,
      "target": 4929.781,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.12,
        "bb_width_pct": 1.041
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T21-10-00Z_long_rsi_range_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T21:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4916.9,
      "stop": 4909.516,
      "target": 4931.667,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.75,
        "bb_width_pct": 1.117
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T21-10-00Z_long_vwap_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T21:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4916.9,
      "stop": 4851.511,
      "target": 5047.678,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.75,
        "bb_width_pct": 1.117
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T21-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T21:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4916.9,
      "stop": 4909.12,
      "target": 4932.46,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 18.75,
        "bb_width_pct": 1.117
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T21-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T21:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4916.9,
      "stop": 4911.818,
      "target": 4927.063,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.75,
        "bb_width_pct": 1.117
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T21-15-00Z_long_rsi_range_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T21:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4921.46,
      "stop": 4917.008,
      "target": 4930.363,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.56,
        "bb_width_pct": 1.09
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T21-15-00Z_long_vwap_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T21:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4921.46,
      "stop": 4860.651,
      "target": 5043.077,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.56,
        "bb_width_pct": 1.09
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T21-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T21:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4921.46,
      "stop": 4915.96,
      "target": 4932.46,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.56,
        "bb_width_pct": 1.09
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T21-20-00Z_long_vwap_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T21:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4922.975,
      "stop": 4865.012,
      "target": 5038.902,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.19,
        "bb_width_pct": 1.054
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T21-30-00Z_long_vwap_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T21:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4923.635,
      "stop": 4869.757,
      "target": 5031.392,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.62,
        "bb_width_pct": 0.818
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T21-45-00Z_long_vwap_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T21:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4920.02,
      "stop": 4869.244,
      "target": 5021.571,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.86,
        "bb_width_pct": 0.531
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T21-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T21:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4920.02,
      "stop": 4912.688,
      "target": 4934.685,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.86,
        "bb_width_pct": 0.531
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T21-50-00Z_long_vwap_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T21:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4925.975,
      "stop": 4879.564,
      "target": 5018.796,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.22,
        "bb_width_pct": 0.409
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T23-00-00Z_long_vwap_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4892.55,
      "stop": 4832.433,
      "target": 5012.783,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.66,
        "bb_width_pct": 0.547
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T23-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4892.55,
      "stop": 4871.483,
      "target": 4934.685,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 23.66,
        "bb_width_pct": 0.547
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T23-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4908.3,
      "stop": 4903.321,
      "target": 4918.258,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.01,
        "bb_width_pct": 0.573
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T23-05-00Z_long_vwap_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4908.3,
      "stop": 4857.501,
      "target": 5009.898,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.01,
        "bb_width_pct": 0.573
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T23-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4908.3,
      "stop": 4900.833,
      "target": 4923.235,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 11.01,
        "bb_width_pct": 0.573
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T23-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4908.3,
      "stop": 4902.548,
      "target": 4919.803,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.01,
        "bb_width_pct": 0.573
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T23-10-00Z_long_vwap_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4911.3,
      "stop": 4863.288,
      "target": 5007.324,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.15,
        "bb_width_pct": 0.585
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T23-15-00Z_long_vwap_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4920.87,
      "stop": 4878.738,
      "target": 5005.134,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.59,
        "bb_width_pct": 0.586
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T23-20-00Z_long_vwap_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T23:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4920.915,
      "stop": 4879.816,
      "target": 5003.113,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.5,
        "bb_width_pct": 0.586
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T23-30-00Z_long_vwap_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4926.19,
      "stop": 4889.605,
      "target": 4999.36,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.97,
        "bb_width_pct": 0.601
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T23-40-00Z_long_vwap_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4914.055,
      "stop": 4873.306,
      "target": 4995.554,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.62,
        "bb_width_pct": 0.615
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T23-50-00Z_long_vwap_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T23:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4916.49,
      "stop": 4878.711,
      "target": 4992.049,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.47,
        "bb_width_pct": 0.615
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-12T23-55-00Z_long_vwap_mean_reversion",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T23:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4920.465,
      "stop": 4885.453,
      "target": 4990.489,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.72,
        "bb_width_pct": 0.613
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T00-10-00Z_short_rsi_range_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T00:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4942.29,
      "stop": 4953.55,
      "target": 4919.769,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 19.28,
        "bb_width_pct": 0.878
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T00-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T00:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4942.29,
      "stop": 4952.392,
      "target": 4922.085,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 19.28,
        "bb_width_pct": 0.878
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T00-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T00:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4940.3,
      "stop": 4950.099,
      "target": 4920.703,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.58,
        "bb_width_pct": 0.95
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T00-15-00Z_short_rsi_range_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T00:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4940.3,
      "stop": 4950.099,
      "target": 4920.703,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 17.58,
        "bb_width_pct": 0.95
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T00-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T00:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4940.3,
      "stop": 4951.121,
      "target": 4918.657,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.58,
        "bb_width_pct": 0.95
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T00-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T00:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4940.3,
      "stop": 4947.976,
      "target": 4924.948,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.58,
        "bb_width_pct": 0.95
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T00-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T00:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4940.36,
      "stop": 4947.332,
      "target": 4926.416,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.82,
        "bb_width_pct": 1.01
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T00-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T00:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4936.345,
      "stop": 4945.189,
      "target": 4918.657,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.76,
        "bb_width_pct": 1.041
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T00-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4939.955,
      "stop": 4945.652,
      "target": 4928.561,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.34,
        "bb_width_pct": 1.085
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T00-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T00:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4939.175,
      "stop": 4949.434,
      "target": 4918.657,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.35,
        "bb_width_pct": 1.12
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T00-45-00Z_short_rsi_range_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T00:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4936.165,
      "stop": 4940.258,
      "target": 4927.98,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 15.04,
        "bb_width_pct": 0.94
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T00-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T00:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4936.165,
      "stop": 4944.919,
      "target": 4918.657,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.04,
        "bb_width_pct": 0.94
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T00-50-00Z_short_rsi_range_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T00:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4934.21,
      "stop": 4936.752,
      "target": 4929.125,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 15.22,
        "bb_width_pct": 0.892
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T02-30-00Z_short_vwap_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4980.72,
      "stop": 4991.052,
      "target": 4960.056,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.28,
        "bb_width_pct": 1.022
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T02-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4980.72,
      "stop": 4997.339,
      "target": 4947.483,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.28,
        "bb_width_pct": 1.022
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T02-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4980.72,
      "stop": 4985.401,
      "target": 4971.358,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.28,
        "bb_width_pct": 1.022
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T02-35-00Z_short_vwap_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T02:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4981.055,
      "stop": 4991.22,
      "target": 4960.725,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.15,
        "bb_width_pct": 0.605
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T02-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T02:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4981.055,
      "stop": 4997.678,
      "target": 4947.81,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.15,
        "bb_width_pct": 0.605
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T02-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T02:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4984.165,
      "stop": 4989.541,
      "target": 4973.413,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.64,
        "bb_width_pct": 0.519
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T02-45-00Z_short_vwap_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4976.67,
      "stop": 4984.083,
      "target": 4961.844,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.72,
        "bb_width_pct": 0.452
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T02-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4976.67,
      "stop": 4991.1,
      "target": 4947.81,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.72,
        "bb_width_pct": 0.452
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T02-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T02:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4988.64,
      "stop": 4993.156,
      "target": 4979.608,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.8,
        "bb_width_pct": 0.419
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T02-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T02:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4988.64,
      "stop": 4994.901,
      "target": 4976.118,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.8,
        "bb_width_pct": 0.419
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T03-00-00Z_short_vwap_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4984.63,
      "stop": 4995.063,
      "target": 4963.764,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.27,
        "bb_width_pct": 0.404
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T03-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4984.63,
      "stop": 5002.459,
      "target": 4948.972,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.27,
        "bb_width_pct": 0.404
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T03-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4984.63,
      "stop": 4988.481,
      "target": 4976.929,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.27,
        "bb_width_pct": 0.404
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T03-05-00Z_short_vwap_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T03:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4981.695,
      "stop": 4990.402,
      "target": 4964.281,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.04,
        "bb_width_pct": 0.358
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T03-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T03:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4981.695,
      "stop": 4996.946,
      "target": 4951.193,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.04,
        "bb_width_pct": 0.358
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T03-15-00Z_short_vwap_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4979.165,
      "stop": 4986.155,
      "target": 4965.186,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 1.11,
        "bb_width_pct": 0.27
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T03-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4979.165,
      "stop": 4992.331,
      "target": 4952.833,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.11,
        "bb_width_pct": 0.27
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T03-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T03:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4975.845,
      "stop": 4972.983,
      "target": 4981.569,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.97,
        "bb_width_pct": 0.289
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T03-20-00Z_short_vwap_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T03:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4975.845,
      "stop": 4981.036,
      "target": 4965.463,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 1.97,
        "bb_width_pct": 0.289
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T03-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4978.26,
      "stop": 4976.827,
      "target": 4981.127,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.78,
        "bb_width_pct": 0.275
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T03-30-00Z_short_vwap_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4977.8,
      "stop": 4983.666,
      "target": 4966.067,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.75,
        "bb_width_pct": 0.281
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T03-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4977.8,
      "stop": 4987.039,
      "target": 4959.323,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.75,
        "bb_width_pct": 0.281
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T03-40-00Z_short_vwap_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T03:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4977.29,
      "stop": 4982.643,
      "target": 4966.584,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.82,
        "bb_width_pct": 0.29
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T04-00-00Z_short_vwap_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T04:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4978.645,
      "stop": 4984.13,
      "target": 4967.676,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.36,
        "bb_width_pct": 0.276
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T04-05-00Z_short_vwap_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4976.915,
      "stop": 4981.415,
      "target": 4967.914,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.12,
        "bb_width_pct": 0.268
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T04-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4976.915,
      "stop": 4985.711,
      "target": 4959.323,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.12,
        "bb_width_pct": 0.268
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T04-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4988.985,
      "stop": 4992.692,
      "target": 4981.571,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.21,
        "bb_width_pct": 0.377
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T04-20-00Z_short_vwap_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4988.985,
      "stop": 4998.933,
      "target": 4969.089,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.21,
        "bb_width_pct": 0.377
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T04-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4988.985,
      "stop": 4995.635,
      "target": 4975.685,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.21,
        "bb_width_pct": 0.377
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T04-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4988.985,
      "stop": 4992.86,
      "target": 4981.236,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.21,
        "bb_width_pct": 0.377
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T04-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T04:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4985.385,
      "stop": 4987.074,
      "target": 4982.006,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.77,
        "bb_width_pct": 0.372
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T04-25-00Z_short_vwap_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T04:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4985.385,
      "stop": 4993.364,
      "target": 4969.427,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.77,
        "bb_width_pct": 0.372
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T04-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T04:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4985.385,
      "stop": 4987.262,
      "target": 4981.631,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.77,
        "bb_width_pct": 0.372
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T04-30-00Z_short_vwap_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T04:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4983.46,
      "stop": 4990.342,
      "target": 4969.696,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.02,
        "bb_width_pct": 0.368
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T04-35-00Z_short_vwap_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4979.935,
      "stop": 4984.954,
      "target": 4969.897,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.54,
        "bb_width_pct": 0.348
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T05-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4978.56,
      "stop": 4975.373,
      "target": 4984.935,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.95,
        "bb_width_pct": 0.374
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T05-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4973.01,
      "stop": 4969.442,
      "target": 4980.146,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.37,
        "bb_width_pct": 0.396
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T05-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4973.01,
      "stop": 4970.072,
      "target": 4978.886,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.37,
        "bb_width_pct": 0.396
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T05-25-00Z_short_vwap_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4979.68,
      "stop": 4984.003,
      "target": 4971.035,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.98,
        "bb_width_pct": 0.39
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T05-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4973.74,
      "stop": 4970.889,
      "target": 4979.442,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.43,
        "bb_width_pct": 0.459
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T05-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4973.74,
      "stop": 4969.992,
      "target": 4981.235,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.43,
        "bb_width_pct": 0.459
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T05-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4973.74,
      "stop": 4971.739,
      "target": 4977.742,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.43,
        "bb_width_pct": 0.459
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T06-00-00Z_long_rsi_range_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4948.415,
      "stop": 4936.568,
      "target": 4972.109,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.76,
        "bb_width_pct": 0.883
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T06-00-00Z_long_vwap_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4948.415,
      "stop": 4937.575,
      "target": 4970.096,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.76,
        "bb_width_pct": 0.883
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T06-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4948.415,
      "stop": 4937.001,
      "target": 4971.243,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 22.76,
        "bb_width_pct": 0.883
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T06-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4960.265,
      "stop": 4954.971,
      "target": 4970.853,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.86,
        "bb_width_pct": 0.871
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T06-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4960.265,
      "stop": 4954.776,
      "target": 4971.243,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.86,
        "bb_width_pct": 0.871
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T06-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4960.265,
      "stop": 4956.514,
      "target": 4967.768,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.86,
        "bb_width_pct": 0.871
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T06-20-00Z_long_vwap_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T06:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4955.01,
      "stop": 4947.833,
      "target": 4969.364,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.57,
        "bb_width_pct": 0.901
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T06-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T06:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4955.01,
      "stop": 4946.894,
      "target": 4971.243,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.57,
        "bb_width_pct": 0.901
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T06-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4962.055,
      "stop": 4957.461,
      "target": 4971.243,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.89,
        "bb_width_pct": 0.909
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T06-40-00Z_long_vwap_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T06:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4955.18,
      "stop": 4948.404,
      "target": 4968.731,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.19,
        "bb_width_pct": 0.864
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T06-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T06:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4957.965,
      "stop": 4951.326,
      "target": 4971.243,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.74,
        "bb_width_pct": 0.824
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T07-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T07:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4960.545,
      "stop": 4955.196,
      "target": 4971.243,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.22,
        "bb_width_pct": 0.489
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T07-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T07:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4974.655,
      "stop": 4980.791,
      "target": 4962.383,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.29,
        "bb_width_pct": 0.498
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T07-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T07:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4966.02,
      "stop": 4969.872,
      "target": 4958.317,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.33,
        "bb_width_pct": 0.507
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T07-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4973.065,
      "stop": 4979.841,
      "target": 4959.513,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.47,
        "bb_width_pct": 0.585
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T07-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T07:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4979.005,
      "stop": 4985.697,
      "target": 4965.62,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.34,
        "bb_width_pct": 0.628
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T07-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T07:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4970.775,
      "stop": 4975.036,
      "target": 4962.253,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.54,
        "bb_width_pct": 0.603
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T07-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T07:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4975.045,
      "stop": 4979.696,
      "target": 4965.743,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.14,
        "bb_width_pct": 0.712
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T08-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T08:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4985.975,
      "stop": 4994.924,
      "target": 4968.078,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.32,
        "bb_width_pct": 0.758
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T08-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T08:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4985.975,
      "stop": 4993.213,
      "target": 4971.498,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.32,
        "bb_width_pct": 0.758
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T08-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T08:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4979.455,
      "stop": 4984.709,
      "target": 4968.948,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.8,
        "bb_width_pct": 0.774
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T08-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T08:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4979.455,
      "stop": 4986.011,
      "target": 4966.343,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.8,
        "bb_width_pct": 0.774
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T08-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T08:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4979.455,
      "stop": 4983.055,
      "target": 4972.256,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.8,
        "bb_width_pct": 0.774
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T08-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T08:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4978.83,
      "stop": 4984.589,
      "target": 4967.312,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.15,
        "bb_width_pct": 0.746
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T08-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T08:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4978.565,
      "stop": 4984.191,
      "target": 4967.312,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.86,
        "bb_width_pct": 0.706
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T08-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4981.545,
      "stop": 4988.661,
      "target": 4967.312,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.74,
        "bb_width_pct": 0.63
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T08-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T08:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4979.205,
      "stop": 4985.151,
      "target": 4967.312,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.45,
        "bb_width_pct": 0.499
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T09-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4968.88,
      "stop": 4965.369,
      "target": 4975.903,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.6,
        "bb_width_pct": 0.371
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T09-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T09:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4971.135,
      "stop": 4967.796,
      "target": 4977.812,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.2,
        "bb_width_pct": 0.454
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T10-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T10:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4963.19,
      "stop": 4959.119,
      "target": 4971.331,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.9,
        "bb_width_pct": 0.349
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T10-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T10:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4963.19,
      "stop": 4959.073,
      "target": 4971.424,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.9,
        "bb_width_pct": 0.349
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T11-05-00Z_long_rsi_range_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T11:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4946.915,
      "stop": 4937.078,
      "target": 4966.59,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.86,
        "bb_width_pct": 0.695
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T11-05-00Z_long_vwap_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T11:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4946.915,
      "stop": 4937.475,
      "target": 4965.796,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.86,
        "bb_width_pct": 0.695
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T11-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T11:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4946.915,
      "stop": 4937.03,
      "target": 4966.685,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 21.86,
        "bb_width_pct": 0.695
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T11-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T11:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4951.645,
      "stop": 4944.604,
      "target": 4965.728,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.06,
        "bb_width_pct": 0.741
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T11-10-00Z_long_rsi_range_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T11:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4951.645,
      "stop": 4944.604,
      "target": 4965.728,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.06,
        "bb_width_pct": 0.741
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T11-10-00Z_long_vwap_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T11:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4951.645,
      "stop": 4945.101,
      "target": 4964.733,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.06,
        "bb_width_pct": 0.741
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T11-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T11:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4951.645,
      "stop": 4944.763,
      "target": 4965.41,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 17.06,
        "bb_width_pct": 0.741
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T11-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T11:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4951.645,
      "stop": 4945.782,
      "target": 4963.371,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.06,
        "bb_width_pct": 0.741
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T11-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T11:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4945.27,
      "stop": 4936.967,
      "target": 4961.877,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.22,
        "bb_width_pct": 0.942
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T11-25-00Z_long_vwap_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T11:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4945.27,
      "stop": 4937.261,
      "target": 4961.288,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.22,
        "bb_width_pct": 0.942
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T11-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T11:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4945.27,
      "stop": 4937.073,
      "target": 4961.665,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 19.22,
        "bb_width_pct": 0.942
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T11-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T11:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4945.27,
      "stop": 4938.71,
      "target": 4958.39,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.22,
        "bb_width_pct": 0.942
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T11-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T11:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4940.845,
      "stop": 4931.11,
      "target": 4960.314,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.68,
        "bb_width_pct": 0.991
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T11-35-00Z_long_rsi_range_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T11:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4944.225,
      "stop": 4936.833,
      "target": 4959.008,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.66,
        "bb_width_pct": 1.012
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T11-35-00Z_long_vwap_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T11:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4944.225,
      "stop": 4936.632,
      "target": 4959.412,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.66,
        "bb_width_pct": 1.012
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T11-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T11:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4944.225,
      "stop": 4936.16,
      "target": 4960.355,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 19.66,
        "bb_width_pct": 1.012
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T11-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T11:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4944.225,
      "stop": 4938.573,
      "target": 4955.529,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.66,
        "bb_width_pct": 1.012
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T11-40-00Z_long_rsi_range_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T11:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4944.395,
      "stop": 4937.777,
      "target": 4957.631,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.19,
        "bb_width_pct": 1.013
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T11-40-00Z_long_vwap_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T11:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4944.395,
      "stop": 4937.227,
      "target": 4958.73,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.19,
        "bb_width_pct": 1.013
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T11-45-00Z_long_rsi_range_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T11:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4944.415,
      "stop": 4938.498,
      "target": 4956.249,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.43,
        "bb_width_pct": 1.002
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T11-45-00Z_long_vwap_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T11:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4944.415,
      "stop": 4937.613,
      "target": 4958.018,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.43,
        "bb_width_pct": 1.002
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T11-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T11:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4944.415,
      "stop": 4936.445,
      "target": 4960.355,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 18.43,
        "bb_width_pct": 1.002
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T12-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T12:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4967.385,
      "stop": 4974.725,
      "target": 4952.705,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.77,
        "bb_width_pct": 0.754
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T12-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T12:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4967.385,
      "stop": 4971.775,
      "target": 4958.606,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.77,
        "bb_width_pct": 0.754
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T12-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T12:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4971.425,
      "stop": 4977.224,
      "target": 4959.827,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 23.13,
        "bb_width_pct": 0.809
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T12-35-00Z_short_rsi_range_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T12:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4969.465,
      "stop": 4977.124,
      "target": 4954.147,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 26.7,
        "bb_width_pct": 0.855
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T12-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T12:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4969.465,
      "stop": 4973.825,
      "target": 4960.744,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 26.7,
        "bb_width_pct": 0.855
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T12-40-00Z_short_rsi_range_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T12:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4966.465,
      "stop": 4972.123,
      "target": 4955.148,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 21.6,
        "bb_width_pct": 0.868
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T12-55-00Z_short_rsi_range_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T12:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4969.605,
      "stop": 4975.242,
      "target": 4958.331,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 18.4,
        "bb_width_pct": 0.931
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T12-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T12:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4969.605,
      "stop": 4975.776,
      "target": 4957.263,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.4,
        "bb_width_pct": 0.931
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T13-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4971.6,
      "stop": 4975.224,
      "target": 4964.351,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.78,
        "bb_width_pct": 0.887
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T13-35-00Z_short_rsi_range_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4992.085,
      "stop": 5003.225,
      "target": 4969.806,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 15.76,
        "bb_width_pct": 0.69
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T13-35-00Z_short_vwap_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4992.085,
      "stop": 5003.535,
      "target": 4969.185,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.76,
        "bb_width_pct": 0.69
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T13-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4992.085,
      "stop": 5004.798,
      "target": 4966.66,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.76,
        "bb_width_pct": 0.69
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T13-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T13:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4983.985,
      "stop": 4990.445,
      "target": 4971.066,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.85,
        "bb_width_pct": 0.701
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T13-40-00Z_short_vwap_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T13:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4983.985,
      "stop": 4990.957,
      "target": 4970.041,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.85,
        "bb_width_pct": 0.701
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T13-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T13:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4983.985,
      "stop": 4992.647,
      "target": 4966.66,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.85,
        "bb_width_pct": 0.701
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T13-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T13:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4983.985,
      "stop": 4990.16,
      "target": 4971.635,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.85,
        "bb_width_pct": 0.701
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T13-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T13:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4987.26,
      "stop": 4993.707,
      "target": 4974.366,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.05,
        "bb_width_pct": 0.731
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T13-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T13:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4987.26,
      "stop": 4993.317,
      "target": 4975.146,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.05,
        "bb_width_pct": 0.731
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T14-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4992.505,
      "stop": 5001.044,
      "target": 4975.427,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.02,
        "bb_width_pct": 0.794
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T14-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4992.505,
      "stop": 5000.358,
      "target": 4976.799,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.02,
        "bb_width_pct": 0.794
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T14-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T14:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4990.955,
      "stop": 4998.129,
      "target": 4976.606,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.3,
        "bb_width_pct": 0.823
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T14-05-00Z_short_vwap_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T14:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4990.955,
      "stop": 4999.806,
      "target": 4973.252,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.3,
        "bb_width_pct": 0.823
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T14-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T14:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4990.955,
      "stop": 5003.102,
      "target": 4966.66,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.3,
        "bb_width_pct": 0.823
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T14-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T14:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4990.955,
      "stop": 4997.359,
      "target": 4978.148,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.3,
        "bb_width_pct": 0.823
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T14-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T14:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5003.34,
      "stop": 5015.173,
      "target": 4979.674,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.78,
        "bb_width_pct": 0.991
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T14-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T14:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5001.495,
      "stop": 5011.53,
      "target": 4981.425,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.9,
        "bb_width_pct": 1.029
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T14-20-00Z_short_rsi_range_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T14:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5001.495,
      "stop": 5011.53,
      "target": 4981.425,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 22.9,
        "bb_width_pct": 1.029
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T14-20-00Z_short_vwap_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T14:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5001.495,
      "stop": 5014.217,
      "target": 4976.052,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 22.9,
        "bb_width_pct": 1.029
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T14-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T14:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5001.495,
      "stop": 5017.269,
      "target": 4969.948,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 22.9,
        "bb_width_pct": 1.029
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T14-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T14:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5001.495,
      "stop": 5010.162,
      "target": 4984.16,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.9,
        "bb_width_pct": 1.029
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T14-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T14:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5002.69,
      "stop": 5011.073,
      "target": 4985.925,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.47,
        "bb_width_pct": 1.071
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T14-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5005.03,
      "stop": 5013.673,
      "target": 4987.744,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.04,
        "bb_width_pct": 1.111
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T14-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T14:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4987.85,
      "stop": 4995.599,
      "target": 4972.352,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.96,
        "bb_width_pct": 1.076
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T14-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T14:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4987.85,
      "stop": 4987.898,
      "target": 4987.755,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.96,
        "bb_width_pct": 1.076
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T15-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T15:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5003.43,
      "stop": 5007.489,
      "target": 4995.312,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.24,
        "bb_width_pct": 0.617
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T15-10-00Z_short_vwap_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T15:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5003.43,
      "stop": 5014.236,
      "target": 4981.817,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.24,
        "bb_width_pct": 0.617
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T15-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T15:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5003.43,
      "stop": 5015.056,
      "target": 4980.177,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.24,
        "bb_width_pct": 0.617
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T15-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T15:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4998.245,
      "stop": 5006.504,
      "target": 4981.727,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.33,
        "bb_width_pct": 0.616
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T15-30-00Z_short_vwap_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T15:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5008.465,
      "stop": 5020.759,
      "target": 4983.878,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.96,
        "bb_width_pct": 0.546
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T15-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T15:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5008.465,
      "stop": 5020.394,
      "target": 4984.608,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.96,
        "bb_width_pct": 0.546
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T15-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T15:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5008.515,
      "stop": 5012.705,
      "target": 5000.135,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.71,
        "bb_width_pct": 0.524
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T15-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T15:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5008.515,
      "stop": 5013.449,
      "target": 4998.648,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.71,
        "bb_width_pct": 0.524
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T15-40-00Z_short_vwap_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T15:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5006.83,
      "stop": 5017.721,
      "target": 4985.048,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 9.75,
        "bb_width_pct": 0.517
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T15-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T15:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5006.83,
      "stop": 5015.648,
      "target": 4989.195,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.75,
        "bb_width_pct": 0.517
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T15-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T15:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4986.675,
      "stop": 4979.792,
      "target": 5000.44,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.58,
        "bb_width_pct": 0.556
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T16-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4990.885,
      "stop": 4987.034,
      "target": 4998.587,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.85,
        "bb_width_pct": 0.701
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T16-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4990.885,
      "stop": 4988.647,
      "target": 4995.362,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.85,
        "bb_width_pct": 0.701
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T16-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T16:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5019.055,
      "stop": 5027.398,
      "target": 5002.369,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.01,
        "bb_width_pct": 0.896
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T16-30-00Z_short_vwap_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T16:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5019.055,
      "stop": 5034.711,
      "target": 4987.742,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.01,
        "bb_width_pct": 0.896
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T16-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T16:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5019.055,
      "stop": 5030.721,
      "target": 4995.722,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.01,
        "bb_width_pct": 0.896
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T16-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T16:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5019.055,
      "stop": 5027.425,
      "target": 5002.315,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.01,
        "bb_width_pct": 0.896
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T16-35-00Z_short_vwap_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5015.65,
      "stop": 5029.347,
      "target": 4988.256,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.1,
        "bb_width_pct": 0.917
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T16-45-00Z_short_vwap_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5015.79,
      "stop": 5029.075,
      "target": 4989.219,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.36,
        "bb_width_pct": 0.961
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T16-50-00Z_short_vwap_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T16:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5014.62,
      "stop": 5027.104,
      "target": 4989.653,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.19,
        "bb_width_pct": 0.976
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T16-55-00Z_short_vwap_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5007.995,
      "stop": 5016.992,
      "target": 4990.0,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.01,
        "bb_width_pct": 0.969
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T17-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T17:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5020.595,
      "stop": 5031.404,
      "target": 4998.977,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.42,
        "bb_width_pct": 0.753
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T17-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T17:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5020.595,
      "stop": 5024.64,
      "target": 5012.505,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.42,
        "bb_width_pct": 0.753
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T17-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T17:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5021.57,
      "stop": 5032.866,
      "target": 4998.977,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.53,
        "bb_width_pct": 0.533
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T18-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T18:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5023.09,
      "stop": 5025.472,
      "target": 5018.327,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.37,
        "bb_width_pct": 0.403
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T18-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T18:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5023.09,
      "stop": 5032.693,
      "target": 5003.885,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.37,
        "bb_width_pct": 0.403
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T18-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T18:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5023.09,
      "stop": 5025.539,
      "target": 5018.191,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.37,
        "bb_width_pct": 0.403
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T18-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T18:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5027.76,
      "stop": 5032.209,
      "target": 5018.863,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.07,
        "bb_width_pct": 0.434
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T18-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T18:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5027.76,
      "stop": 5032.089,
      "target": 5019.103,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.07,
        "bb_width_pct": 0.434
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T18-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T18:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5022.34,
      "stop": 5031.568,
      "target": 5003.885,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.08,
        "bb_width_pct": 0.434
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T18-40-00Z_short_vwap_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T18:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5029.92,
      "stop": 5034.313,
      "target": 5021.135,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.25,
        "bb_width_pct": 0.44
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T18-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T18:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5029.92,
      "stop": 5042.938,
      "target": 5003.885,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.25,
        "bb_width_pct": 0.44
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T18-45-00Z_short_vwap_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T18:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5029.705,
      "stop": 5033.786,
      "target": 5021.542,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.48,
        "bb_width_pct": 0.438
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T18-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T18:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5029.705,
      "stop": 5042.615,
      "target": 5003.885,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.48,
        "bb_width_pct": 0.438
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T18-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T18:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5033.64,
      "stop": 5038.683,
      "target": 5023.554,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.81,
        "bb_width_pct": 0.458
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T18-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T18:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5031.185,
      "stop": 5034.487,
      "target": 5024.58,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.65,
        "bb_width_pct": 0.411
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T18-55-00Z_short_vwap_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T18:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5031.185,
      "stop": 5035.565,
      "target": 5022.425,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.65,
        "bb_width_pct": 0.411
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T18-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T18:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5031.185,
      "stop": 5044.381,
      "target": 5004.792,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.65,
        "bb_width_pct": 0.411
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T18-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T18:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5031.185,
      "stop": 5034.483,
      "target": 5024.589,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.65,
        "bb_width_pct": 0.411
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T19-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T19:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5033.25,
      "stop": 5037.088,
      "target": 5025.574,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.79,
        "bb_width_pct": 0.383
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T19-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T19:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5033.25,
      "stop": 5037.168,
      "target": 5025.414,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.79,
        "bb_width_pct": 0.383
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T19-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T19:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5039.81,
      "stop": 5045.862,
      "target": 5027.705,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.01,
        "bb_width_pct": 0.54
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T19-10-00Z_short_vwap_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T19:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5039.81,
      "stop": 5047.6,
      "target": 5024.23,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 19.01,
        "bb_width_pct": 0.54
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T19-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T19:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5039.81,
      "stop": 5054.701,
      "target": 5010.028,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 19.01,
        "bb_width_pct": 0.54
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T19-25-00Z_short_vwap_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T19:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5041.435,
      "stop": 5049.159,
      "target": 5025.987,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.72,
        "bb_width_pct": 0.631
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T19-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T19:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5041.435,
      "stop": 5053.634,
      "target": 5017.038,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.72,
        "bb_width_pct": 0.631
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T19-30-00Z_short_vwap_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T19:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5040.65,
      "stop": 5047.739,
      "target": 5026.473,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 21.97,
        "bb_width_pct": 0.621
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T19-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T19:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5040.65,
      "stop": 5050.411,
      "target": 5021.128,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 21.97,
        "bb_width_pct": 0.621
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T19-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T19:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5040.65,
      "stop": 5044.517,
      "target": 5032.916,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.97,
        "bb_width_pct": 0.621
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T19-35-00Z_short_vwap_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T19:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5038.31,
      "stop": 5044.032,
      "target": 5026.865,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.66,
        "bb_width_pct": 0.598
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T19-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T19:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5038.31,
      "stop": 5044.826,
      "target": 5025.278,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.66,
        "bb_width_pct": 0.598
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T19-40-00Z_short_vwap_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T19:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5034.51,
      "stop": 5038.204,
      "target": 5027.122,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.08,
        "bb_width_pct": 0.559
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T21-05-00Z_short_vwap_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T21:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5032.77,
      "stop": 5067.541,
      "target": 4963.228,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.75,
        "bb_width_pct": 0.308
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T21-15-00Z_short_vwap_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T21:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5032.78,
      "stop": 5065.07,
      "target": 4968.2,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.79,
        "bb_width_pct": 0.228
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T21-20-00Z_short_vwap_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T21:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5032.14,
      "stop": 5063.007,
      "target": 4970.405,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.83,
        "bb_width_pct": 0.219
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T21-35-00Z_short_vwap_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T21:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5034.42,
      "stop": 5063.459,
      "target": 4976.342,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.41,
        "bb_width_pct": 0.194
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T21-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T21:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5042.74,
      "stop": 5047.385,
      "target": 5033.451,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.66,
        "bb_width_pct": 0.394
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T21-55-00Z_short_rsi_range_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T21:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5042.74,
      "stop": 5047.385,
      "target": 5033.451,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 21.66,
        "bb_width_pct": 0.394
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T21-55-00Z_short_vwap_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T21:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5042.74,
      "stop": 5072.347,
      "target": 4983.526,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 21.66,
        "bb_width_pct": 0.394
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T21-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T21:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5042.74,
      "stop": 5047.064,
      "target": 5034.092,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 21.66,
        "bb_width_pct": 0.394
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-13T21-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T21:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5042.74,
      "stop": 5046.384,
      "target": 5035.453,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.66,
        "bb_width_pct": 0.394
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-15T23-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-15",
      "timestamp": "2026-02-15T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5023.14,
      "stop": 5018.522,
      "target": 5032.376,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.91,
        "bb_width_pct": 0.521
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-15T23-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-15",
      "timestamp": "2026-02-15T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5023.14,
      "stop": 5019.124,
      "target": 5031.172,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 16.91,
        "bb_width_pct": 0.521
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-15T23-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-15",
      "timestamp": "2026-02-15T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5023.14,
      "stop": 5018.414,
      "target": 5032.592,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.91,
        "bb_width_pct": 0.521
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-15T23-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-15",
      "timestamp": "2026-02-15T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5022.85,
      "stop": 5018.164,
      "target": 5032.223,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.81,
        "bb_width_pct": 0.536
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-15T23-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-15",
      "timestamp": "2026-02-15T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5022.85,
      "stop": 5018.443,
      "target": 5031.664,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.81,
        "bb_width_pct": 0.536
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-15T23-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-15",
      "timestamp": "2026-02-15T23:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5019.195,
      "stop": 5014.762,
      "target": 5028.06,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 21.65,
        "bb_width_pct": 0.68
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-15T23-55-00Z_long_rsi_range_reversion",
      "date": "2026-02-15",
      "timestamp": "2026-02-15T23:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5020.215,
      "stop": 5015.968,
      "target": 5028.709,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.63,
        "bb_width_pct": 0.695
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T00-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5008.665,
      "stop": 4999.23,
      "target": 5027.535,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 27.62,
        "bb_width_pct": 0.773
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T00-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5008.665,
      "stop": 5000.746,
      "target": 5024.503,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 27.62,
        "bb_width_pct": 0.773
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T00-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T00:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5012.605,
      "stop": 5008.403,
      "target": 5021.009,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.99,
        "bb_width_pct": 0.697
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T01-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5016.935,
      "stop": 5013.75,
      "target": 5023.305,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 3.19,
        "bb_width_pct": 0.431
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T01-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5016.935,
      "stop": 5016.186,
      "target": 5018.433,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.19,
        "bb_width_pct": 0.431
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T01-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T01:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5029.125,
      "stop": 5033.62,
      "target": 5020.136,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.45,
        "bb_width_pct": 0.362
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T01-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T01:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5027.375,
      "stop": 5032.262,
      "target": 5017.602,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.51,
        "bb_width_pct": 0.403
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T01-20-00Z_short_vwap_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T01:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5027.375,
      "stop": 5032.6,
      "target": 5016.925,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.51,
        "bb_width_pct": 0.403
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T01-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T01:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5027.375,
      "stop": 5030.65,
      "target": 5020.825,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.51,
        "bb_width_pct": 0.403
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T01-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T01:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5029.405,
      "stop": 5034.945,
      "target": 5018.325,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.63,
        "bb_width_pct": 0.448
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T01-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T01:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5029.405,
      "stop": 5033.286,
      "target": 5021.642,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.63,
        "bb_width_pct": 0.448
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T01-35-00Z_short_rsi_range_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T01:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5028.46,
      "stop": 5033.063,
      "target": 5019.255,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 23.07,
        "bb_width_pct": 0.516
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T01-35-00Z_short_vwap_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T01:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5028.46,
      "stop": 5033.323,
      "target": 5018.733,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 23.07,
        "bb_width_pct": 0.516
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T01-45-00Z_short_rsi_range_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T01:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5028.59,
      "stop": 5032.388,
      "target": 5020.993,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 19.04,
        "bb_width_pct": 0.525
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T01-45-00Z_short_vwap_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T01:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5028.59,
      "stop": 5033.03,
      "target": 5019.711,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 19.04,
        "bb_width_pct": 0.525
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T01-50-00Z_short_rsi_range_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T01:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5026.87,
      "stop": 5029.571,
      "target": 5021.468,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 11.33,
        "bb_width_pct": 0.53
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T01-50-00Z_short_vwap_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T01:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5026.87,
      "stop": 5030.291,
      "target": 5020.029,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.33,
        "bb_width_pct": 0.53
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T03-10-00Z_long_rsi_range_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T03:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4997.705,
      "stop": 4989.296,
      "target": 5014.524,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.97,
        "bb_width_pct": 1.124
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T03-10-00Z_long_vwap_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T03:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4997.705,
      "stop": 4988.309,
      "target": 5016.497,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.97,
        "bb_width_pct": 1.124
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T03-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T03:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4997.705,
      "stop": 4991.574,
      "target": 5009.968,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 26.97,
        "bb_width_pct": 1.124
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T03-30-00Z_long_rsi_range_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4995.1,
      "stop": 4988.641,
      "target": 5008.018,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.78,
        "bb_width_pct": 1.084
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T03-30-00Z_long_vwap_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4995.1,
      "stop": 4985.353,
      "target": 5014.595,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.78,
        "bb_width_pct": 1.084
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T03-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4995.1,
      "stop": 4987.666,
      "target": 5009.968,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 25.78,
        "bb_width_pct": 1.084
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T03-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4995.1,
      "stop": 4990.241,
      "target": 5004.817,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.78,
        "bb_width_pct": 1.084
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T03-40-00Z_long_rsi_range_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T03:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4991.02,
      "stop": 4984.433,
      "target": 5004.194,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.51,
        "bb_width_pct": 0.993
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T03-40-00Z_long_vwap_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T03:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4991.02,
      "stop": 4979.739,
      "target": 5013.582,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.51,
        "bb_width_pct": 0.993
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T03-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T03:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4991.02,
      "stop": 4981.549,
      "target": 5009.962,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 18.51,
        "bb_width_pct": 0.993
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T03-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T03:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4985.55,
      "stop": 4977.187,
      "target": 5002.275,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.7,
        "bb_width_pct": 0.975
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T03-50-00Z_long_vwap_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T03:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4991.265,
      "stop": 4980.671,
      "target": 5012.453,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.26,
        "bb_width_pct": 0.919
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T03-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T03:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4991.265,
      "stop": 4986.997,
      "target": 4999.8,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.26,
        "bb_width_pct": 0.919
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T04-00-00Z_long_vwap_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T04:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4987.925,
      "stop": 4976.138,
      "target": 5011.5,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.77,
        "bb_width_pct": 0.726
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T04-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T04:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4987.925,
      "stop": 4983.08,
      "target": 4997.614,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.77,
        "bb_width_pct": 0.726
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T04-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4977.58,
      "stop": 4971.419,
      "target": 4989.903,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.88,
        "bb_width_pct": 0.602
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T04-20-00Z_long_rsi_range_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4977.58,
      "stop": 4971.419,
      "target": 4989.903,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.88,
        "bb_width_pct": 0.602
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T04-20-00Z_long_vwap_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4977.58,
      "stop": 4961.913,
      "target": 5008.914,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.88,
        "bb_width_pct": 0.602
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T04-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4977.58,
      "stop": 4965.193,
      "target": 5002.355,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 20.88,
        "bb_width_pct": 0.602
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T04-35-00Z_long_rsi_range_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4974.755,
      "stop": 4968.731,
      "target": 4986.802,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.37,
        "bb_width_pct": 0.687
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T04-35-00Z_long_vwap_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4974.755,
      "stop": 4958.554,
      "target": 5007.156,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.37,
        "bb_width_pct": 0.687
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T04-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4974.755,
      "stop": 4960.97,
      "target": 5002.325,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 21.37,
        "bb_width_pct": 0.687
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T04-40-00Z_long_rsi_range_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4976.2,
      "stop": 4971.4,
      "target": 4985.8,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.39,
        "bb_width_pct": 0.688
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T04-40-00Z_long_vwap_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4976.2,
      "stop": 4960.996,
      "target": 5006.608,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.39,
        "bb_width_pct": 0.688
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T04-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4976.2,
      "stop": 4963.14,
      "target": 5002.32,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.39,
        "bb_width_pct": 0.688
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T04-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4976.2,
      "stop": 4971.472,
      "target": 4985.656,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.39,
        "bb_width_pct": 0.688
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T04-45-00Z_long_vwap_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4978.39,
      "stop": 4964.529,
      "target": 5006.112,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.96,
        "bb_width_pct": 0.691
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T04-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4978.39,
      "stop": 4966.425,
      "target": 5002.32,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 13.96,
        "bb_width_pct": 0.691
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T04-50-00Z_long_vwap_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T04:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4979.065,
      "stop": 4965.775,
      "target": 5005.646,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.2,
        "bb_width_pct": 0.658
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T04-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T04:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4979.065,
      "stop": 4967.438,
      "target": 5002.32,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.2,
        "bb_width_pct": 0.658
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T04-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T04:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4977.9,
      "stop": 4974.958,
      "target": 4983.783,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.75,
        "bb_width_pct": 0.618
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T05-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4977.875,
      "stop": 4975.677,
      "target": 4982.271,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.19,
        "bb_width_pct": 0.57
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T05-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4977.875,
      "stop": 4975.202,
      "target": 4983.221,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.19,
        "bb_width_pct": 0.57
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T05-05-00Z_long_vwap_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4983.66,
      "stop": 4973.347,
      "target": 5004.286,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.19,
        "bb_width_pct": 0.523
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T05-15-00Z_long_vwap_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4986.85,
      "stop": 4978.439,
      "target": 5003.671,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.65,
        "bb_width_pct": 0.441
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T05-20-00Z_short_rsi_range_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4986.7,
      "stop": 4989.687,
      "target": 4980.726,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 17.18,
        "bb_width_pct": 0.415
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T05-25-00Z_short_rsi_range_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4986.425,
      "stop": 4989.253,
      "target": 4980.77,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 12.66,
        "bb_width_pct": 0.419
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T05-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4985.78,
      "stop": 4988.422,
      "target": 4980.496,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.19,
        "bb_width_pct": 0.384
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T05-30-00Z_short_rsi_range_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4985.78,
      "stop": 4988.422,
      "target": 4980.496,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 13.19,
        "bb_width_pct": 0.384
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T05-35-00Z_short_rsi_range_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4985.135,
      "stop": 4987.515,
      "target": 4980.375,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 15.73,
        "bb_width_pct": 0.372
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T05-40-00Z_long_vwap_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4986.025,
      "stop": 4977.838,
      "target": 5002.398,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.59,
        "bb_width_pct": 0.361
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T05-45-00Z_long_vwap_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T05:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4986.935,
      "stop": 4979.312,
      "target": 5002.181,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.43,
        "bb_width_pct": 0.374
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T05-50-00Z_long_vwap_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4989.17,
      "stop": 4982.764,
      "target": 5001.982,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.21,
        "bb_width_pct": 0.394
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T05-55-00Z_long_vwap_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T05:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4990.77,
      "stop": 4985.246,
      "target": 5001.817,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.69,
        "bb_width_pct": 0.406
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T06-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4988.61,
      "stop": 4991.546,
      "target": 4982.738,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.07,
        "bb_width_pct": 0.411
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T06-00-00Z_short_rsi_range_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4988.61,
      "stop": 4991.546,
      "target": 4982.738,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 15.07,
        "bb_width_pct": 0.411
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T06-05-00Z_long_vwap_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4989.55,
      "stop": 4983.582,
      "target": 5001.486,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.07,
        "bb_width_pct": 0.412
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T06-10-00Z_long_vwap_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T06:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4990.41,
      "stop": 4984.948,
      "target": 5001.334,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.93,
        "bb_width_pct": 0.393
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T06-20-00Z_long_vwap_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T06:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4990.575,
      "stop": 4985.362,
      "target": 5001.001,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.98,
        "bb_width_pct": 0.331
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T06-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T06:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4993.17,
      "stop": 4996.623,
      "target": 4986.263,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.1,
        "bb_width_pct": 0.33
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T06-25-00Z_long_vwap_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T06:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4993.17,
      "stop": 4989.307,
      "target": 5000.897,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.1,
        "bb_width_pct": 0.33
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T06-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T06:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4993.17,
      "stop": 4995.905,
      "target": 4987.7,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.1,
        "bb_width_pct": 0.33
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T06-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T06:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4997.99,
      "stop": 5002.052,
      "target": 4989.865,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.16,
        "bb_width_pct": 0.379
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T06-45-00Z_short_rsi_range_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T06:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4997.99,
      "stop": 5002.052,
      "target": 4989.865,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 20.16,
        "bb_width_pct": 0.379
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T06-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T06:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4997.99,
      "stop": 5004.964,
      "target": 4984.042,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 20.16,
        "bb_width_pct": 0.379
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T06-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T06:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4996.3,
      "stop": 5002.429,
      "target": 4984.042,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.94,
        "bb_width_pct": 0.376
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T06-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T06:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4996.3,
      "stop": 4998.67,
      "target": 4991.561,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.94,
        "bb_width_pct": 0.376
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T07-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T07:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4996.435,
      "stop": 5002.631,
      "target": 4984.042,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.19,
        "bb_width_pct": 0.367
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T07-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T07:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5001.505,
      "stop": 5004.497,
      "target": 4995.521,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.53,
        "bb_width_pct": 0.328
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T07-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T07:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5001.505,
      "stop": 5004.453,
      "target": 4995.608,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.53,
        "bb_width_pct": 0.328
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T07-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T07:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5007.335,
      "stop": 5012.353,
      "target": 4997.299,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.59,
        "bb_width_pct": 0.405
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T07-50-00Z_short_vwap_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T07:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5007.335,
      "stop": 5011.475,
      "target": 4999.055,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.59,
        "bb_width_pct": 0.405
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T07-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T07:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5007.335,
      "stop": 5017.257,
      "target": 4987.49,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.59,
        "bb_width_pct": 0.405
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T08-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T08:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5006.375,
      "stop": 5009.585,
      "target": 4999.956,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.27,
        "bb_width_pct": 0.421
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T08-05-00Z_short_rsi_range_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T08:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5006.375,
      "stop": 5009.585,
      "target": 4999.956,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 22.27,
        "bb_width_pct": 0.421
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T08-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T08:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5006.375,
      "stop": 5015.014,
      "target": 4989.097,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 22.27,
        "bb_width_pct": 0.421
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T08-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T08:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5006.375,
      "stop": 5009.343,
      "target": 5000.439,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.27,
        "bb_width_pct": 0.421
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T08-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T08:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4998.245,
      "stop": 5002.819,
      "target": 4989.097,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.96,
        "bb_width_pct": 0.4
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T09-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5012.685,
      "stop": 5016.487,
      "target": 5005.081,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.39,
        "bb_width_pct": 0.31
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T09-05-00Z_short_vwap_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T09:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5011.305,
      "stop": 5015.278,
      "target": 5003.36,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 1.6,
        "bb_width_pct": 0.302
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T09-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T09:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5011.305,
      "stop": 5016.968,
      "target": 4999.98,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.6,
        "bb_width_pct": 0.302
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T09-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T09:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5011.305,
      "stop": 5014.358,
      "target": 5005.198,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.6,
        "bb_width_pct": 0.302
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T09-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T09:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5013.2,
      "stop": 5015.963,
      "target": 5007.673,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.26,
        "bb_width_pct": 0.314
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T09-20-00Z_short_rsi_range_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T09:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5013.2,
      "stop": 5015.963,
      "target": 5007.673,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 18.26,
        "bb_width_pct": 0.314
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T09-20-00Z_short_vwap_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T09:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5013.2,
      "stop": 5017.628,
      "target": 5004.344,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 18.26,
        "bb_width_pct": 0.314
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T09-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T09:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5013.2,
      "stop": 5019.514,
      "target": 5000.573,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.26,
        "bb_width_pct": 0.314
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T09-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T09:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5013.2,
      "stop": 5016.132,
      "target": 5007.336,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.26,
        "bb_width_pct": 0.314
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T09-30-00Z_short_vwap_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5010.54,
      "stop": 5013.369,
      "target": 5004.882,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.83,
        "bb_width_pct": 0.334
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T09-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5010.54,
      "stop": 5015.524,
      "target": 5000.573,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.83,
        "bb_width_pct": 0.334
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T09-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5010.54,
      "stop": 5011.711,
      "target": 5008.197,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.83,
        "bb_width_pct": 0.334
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T09-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5014.42,
      "stop": 5017.235,
      "target": 5008.79,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.87,
        "bb_width_pct": 0.351
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T09-40-00Z_short_vwap_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T09:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5010.555,
      "stop": 5013.157,
      "target": 5005.351,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.26,
        "bb_width_pct": 0.352
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T09-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T09:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5010.555,
      "stop": 5014.45,
      "target": 5002.765,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.26,
        "bb_width_pct": 0.352
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T09-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T09:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5010.555,
      "stop": 5011.353,
      "target": 5008.958,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.26,
        "bb_width_pct": 0.352
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T09-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T09:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5015.89,
      "stop": 5018.779,
      "target": 5010.113,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.15,
        "bb_width_pct": 0.329
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T09-55-00Z_short_vwap_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T09:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5013.66,
      "stop": 5017.432,
      "target": 5006.115,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.82,
        "bb_width_pct": 0.304
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T09-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T09:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5013.66,
      "stop": 5018.887,
      "target": 5003.205,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.82,
        "bb_width_pct": 0.304
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T09-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T09:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5013.66,
      "stop": 5015.265,
      "target": 5010.45,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.82,
        "bb_width_pct": 0.304
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T10-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T10:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5013.335,
      "stop": 5018.4,
      "target": 5003.205,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.78,
        "bb_width_pct": 0.277
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T10-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T10:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5013.335,
      "stop": 5014.64,
      "target": 5010.725,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.78,
        "bb_width_pct": 0.277
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T10-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T10:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5011.94,
      "stop": 5016.307,
      "target": 5003.205,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.27,
        "bb_width_pct": 0.265
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T10-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T10:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5010.05,
      "stop": 5009.362,
      "target": 5011.426,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.24,
        "bb_width_pct": 0.241
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T10-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T10:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5006.385,
      "stop": 5003.868,
      "target": 5011.418,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.88,
        "bb_width_pct": 0.24
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T10-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T10:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5006.385,
      "stop": 5004.845,
      "target": 5009.464,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.88,
        "bb_width_pct": 0.24
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T10-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T10:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5004.695,
      "stop": 5001.419,
      "target": 5011.247,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.78,
        "bb_width_pct": 0.262
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T10-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T10:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5008.395,
      "stop": 5007.076,
      "target": 5011.033,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.87,
        "bb_width_pct": 0.265
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T11-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T11:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5001.08,
      "stop": 4997.246,
      "target": 5008.747,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.75,
        "bb_width_pct": 0.334
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T11-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T11:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5001.08,
      "stop": 4998.145,
      "target": 5006.95,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.75,
        "bb_width_pct": 0.334
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T12-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T12:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4999.55,
      "stop": 4997.351,
      "target": 5003.947,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.0,
        "bb_width_pct": 0.221
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T12-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T12:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4999.55,
      "stop": 4995.566,
      "target": 5007.517,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 3.0,
        "bb_width_pct": 0.221
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T12-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T12:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4999.55,
      "stop": 4997.431,
      "target": 5003.788,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.0,
        "bb_width_pct": 0.221
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T12-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T12:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4999.055,
      "stop": 4996.914,
      "target": 5003.337,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.89,
        "bb_width_pct": 0.22
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T12-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T12:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5003.37,
      "stop": 5003.753,
      "target": 5002.603,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.99,
        "bb_width_pct": 0.207
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T13-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T13:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4999.09,
      "stop": 4997.662,
      "target": 5001.947,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.98,
        "bb_width_pct": 0.224
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T13-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T13:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4999.09,
      "stop": 4996.148,
      "target": 5004.975,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.98,
        "bb_width_pct": 0.224
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T13-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T13:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4994.455,
      "stop": 4991.082,
      "target": 5001.202,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.29,
        "bb_width_pct": 0.239
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T13-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4996.21,
      "stop": 4993.912,
      "target": 5000.807,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.36,
        "bb_width_pct": 0.244
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T13-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4996.21,
      "stop": 4993.048,
      "target": 5002.535,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.36,
        "bb_width_pct": 0.244
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T13-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4993.805,
      "stop": 4990.578,
      "target": 5000.26,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.64,
        "bb_width_pct": 0.261
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T13-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T13:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4995.325,
      "stop": 4993.047,
      "target": 4999.881,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.69,
        "bb_width_pct": 0.27
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T13-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T13:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4995.325,
      "stop": 4992.087,
      "target": 5001.8,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 13.69,
        "bb_width_pct": 0.27
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T13-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T13:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4995.325,
      "stop": 4993.18,
      "target": 4999.616,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.69,
        "bb_width_pct": 0.27
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T13-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4993.62,
      "stop": 4990.714,
      "target": 4999.432,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.21,
        "bb_width_pct": 0.286
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T13-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4993.62,
      "stop": 4990.908,
      "target": 4999.045,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.21,
        "bb_width_pct": 0.286
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T14-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T14:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4994.69,
      "stop": 4993.258,
      "target": 4997.553,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.77,
        "bb_width_pct": 0.25
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T14-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T14:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4992.575,
      "stop": 4990.331,
      "target": 4997.063,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.25,
        "bb_width_pct": 0.248
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T14-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4993.72,
      "stop": 4991.113,
      "target": 4998.935,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.16,
        "bb_width_pct": 0.247
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T14-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T14:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4990.14,
      "stop": 4987.14,
      "target": 4996.14,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.96,
        "bb_width_pct": 0.253
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T14-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T14:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4990.14,
      "stop": 4987.243,
      "target": 4995.935,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.96,
        "bb_width_pct": 0.253
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T14-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T14:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4989.075,
      "stop": 4985.972,
      "target": 4995.281,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.2,
        "bb_width_pct": 0.25
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T14-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T14:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4988.41,
      "stop": 4985.83,
      "target": 4993.569,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.6,
        "bb_width_pct": 0.29
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T14-55-00Z_long_vwap_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T14:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4988.41,
      "stop": 4984.143,
      "target": 4996.944,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.6,
        "bb_width_pct": 0.29
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T14-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T14:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4988.41,
      "stop": 4985.116,
      "target": 4994.997,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.6,
        "bb_width_pct": 0.29
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T14-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T14:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4988.41,
      "stop": 4986.01,
      "target": 4993.211,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.6,
        "bb_width_pct": 0.29
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T15-05-00Z_long_rsi_range_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T15:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4977.76,
      "stop": 4970.957,
      "target": 4991.367,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.85,
        "bb_width_pct": 0.488
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T15-05-00Z_long_vwap_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T15:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4977.76,
      "stop": 4968.697,
      "target": 4995.885,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.85,
        "bb_width_pct": 0.488
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T15-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T15:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4977.76,
      "stop": 4971.603,
      "target": 4990.075,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 20.85,
        "bb_width_pct": 0.488
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T15-15-00Z_long_rsi_range_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T15:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4977.815,
      "stop": 4971.931,
      "target": 4989.584,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.8,
        "bb_width_pct": 0.582
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T15-15-00Z_long_vwap_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T15:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4977.815,
      "stop": 4969.25,
      "target": 4994.946,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.8,
        "bb_width_pct": 0.582
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T15-20-00Z_long_rsi_range_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T15:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4979.43,
      "stop": 4974.751,
      "target": 4988.789,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.34,
        "bb_width_pct": 0.598
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T15-20-00Z_long_vwap_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T15:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4979.43,
      "stop": 4971.864,
      "target": 4994.562,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.34,
        "bb_width_pct": 0.598
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T15-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T15:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4979.43,
      "stop": 4975.671,
      "target": 4986.949,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.34,
        "bb_width_pct": 0.598
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T15-25-00Z_long_rsi_range_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T15:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4980.525,
      "stop": 4976.72,
      "target": 4988.134,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.11,
        "bb_width_pct": 0.607
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T15-25-00Z_long_vwap_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T15:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4980.525,
      "stop": 4973.676,
      "target": 4994.223,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.11,
        "bb_width_pct": 0.607
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T15-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T15:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4976.965,
      "stop": 4972.725,
      "target": 4985.444,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.78,
        "bb_width_pct": 0.624
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T15-35-00Z_long_rsi_range_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T15:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4977.42,
      "stop": 4973.006,
      "target": 4986.249,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.97,
        "bb_width_pct": 0.618
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T15-35-00Z_long_vwap_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T15:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4977.42,
      "stop": 4969.399,
      "target": 4993.462,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.97,
        "bb_width_pct": 0.618
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T15-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T15:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4977.42,
      "stop": 4973.79,
      "target": 4984.68,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.97,
        "bb_width_pct": 0.618
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T15-40-00Z_long_vwap_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T15:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4980.675,
      "stop": 4974.435,
      "target": 4993.155,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.4,
        "bb_width_pct": 0.602
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T15-50-00Z_long_vwap_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T15:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4981.415,
      "stop": 4975.831,
      "target": 4992.583,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.37,
        "bb_width_pct": 0.543
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T16-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4976.43,
      "stop": 4973.395,
      "target": 4982.501,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.57,
        "bb_width_pct": 0.471
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T16-10-00Z_long_vwap_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T16:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4979.585,
      "stop": 4973.664,
      "target": 4991.427,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.79,
        "bb_width_pct": 0.382
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T16-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T16:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4979.585,
      "stop": 4978.575,
      "target": 4981.604,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.79,
        "bb_width_pct": 0.382
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T16-20-00Z_long_vwap_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T16:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4980.055,
      "stop": 4974.619,
      "target": 4990.928,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.65,
        "bb_width_pct": 0.304
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T16-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T16:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4986.305,
      "stop": 4989.738,
      "target": 4979.44,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.37,
        "bb_width_pct": 0.298
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T16-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T16:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4987.655,
      "stop": 4990.445,
      "target": 4982.075,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.97,
        "bb_width_pct": 0.309
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T16-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4987.375,
      "stop": 4989.773,
      "target": 4982.58,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.0,
        "bb_width_pct": 0.3
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T16-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T16:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4989.0,
      "stop": 4991.904,
      "target": 4983.191,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.24,
        "bb_width_pct": 0.325
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T17-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T17:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4991.655,
      "stop": 4993.997,
      "target": 4986.97,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.76,
        "bb_width_pct": 0.464
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T17-30-00Z_short_rsi_range_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T17:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4993.765,
      "stop": 4997.355,
      "target": 4986.585,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 15.97,
        "bb_width_pct": 0.502
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T17-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T17:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4993.765,
      "stop": 4998.455,
      "target": 4984.385,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.97,
        "bb_width_pct": 0.502
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T17-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T17:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4993.765,
      "stop": 4996.263,
      "target": 4988.769,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.97,
        "bb_width_pct": 0.502
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T17-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T17:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4992.04,
      "stop": 4996.734,
      "target": 4982.653,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.68,
        "bb_width_pct": 0.494
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T17-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T17:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4992.04,
      "stop": 4993.52,
      "target": 4989.081,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.68,
        "bb_width_pct": 0.494
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T17-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T17:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4991.595,
      "stop": 4996.066,
      "target": 4982.653,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.51,
        "bb_width_pct": 0.401
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T17-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T17:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4991.765,
      "stop": 4996.321,
      "target": 4982.653,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.1,
        "bb_width_pct": 0.274
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T18-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T18:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4989.32,
      "stop": 4992.654,
      "target": 4982.653,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.39,
        "bb_width_pct": 0.201
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T18-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T18:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4993.14,
      "stop": 4998.384,
      "target": 4982.653,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.45,
        "bb_width_pct": 0.165
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T18-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T18:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4995.47,
      "stop": 4997.235,
      "target": 4991.941,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.67,
        "bb_width_pct": 0.171
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T18-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T18:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4995.47,
      "stop": 4997.587,
      "target": 4991.236,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.67,
        "bb_width_pct": 0.171
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T18-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T18:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4994.365,
      "stop": 4998.834,
      "target": 4985.427,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.76,
        "bb_width_pct": 0.15
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T18-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T18:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4994.365,
      "stop": 4995.78,
      "target": 4991.534,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.76,
        "bb_width_pct": 0.15
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T18-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4993.88,
      "stop": 4998.106,
      "target": 4985.427,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.81,
        "bb_width_pct": 0.133
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T18-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T18:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4993.14,
      "stop": 4996.996,
      "target": 4985.427,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.61,
        "bb_width_pct": 0.108
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T18-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T18:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4996.285,
      "stop": 4997.722,
      "target": 4993.41,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.87,
        "bb_width_pct": 0.144
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T18-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T18:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4996.285,
      "stop": 5001.669,
      "target": 4985.517,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.87,
        "bb_width_pct": 0.144
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T18-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T18:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4996.285,
      "stop": 4997.909,
      "target": 4993.037,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.87,
        "bb_width_pct": 0.144
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T18-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T18:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4994.59,
      "stop": 4999.083,
      "target": 4985.605,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.45,
        "bb_width_pct": 0.142
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T19-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T19:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4995.365,
      "stop": 5000.245,
      "target": 4985.605,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 16.33,
        "bb_width_pct": 0.148
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T19-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T19:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4991.2,
      "stop": 4993.997,
      "target": 4985.605,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.94,
        "bb_width_pct": 0.155
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T23-00-00Z_long_vwap_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4998.35,
      "stop": 4994.636,
      "target": 5005.777,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.0,
        "bb_width_pct": 0.178
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T23-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4997.66,
      "stop": 4999.447,
      "target": 4994.086,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.86,
        "bb_width_pct": 0.186
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T23-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4997.66,
      "stop": 5003.012,
      "target": 4986.955,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.86,
        "bb_width_pct": 0.186
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T23-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4997.66,
      "stop": 4999.549,
      "target": 4993.882,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.86,
        "bb_width_pct": 0.186
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T23-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4991.07,
      "stop": 4989.518,
      "target": 4994.173,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.43,
        "bb_width_pct": 0.174
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T23-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4991.07,
      "stop": 4991.744,
      "target": 4989.722,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.43,
        "bb_width_pct": 0.174
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T23-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4991.07,
      "stop": 4989.798,
      "target": 4993.614,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.43,
        "bb_width_pct": 0.174
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T23-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4989.595,
      "stop": 4987.355,
      "target": 4994.075,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.79,
        "bb_width_pct": 0.186
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T23-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4989.595,
      "stop": 4987.777,
      "target": 4993.231,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.79,
        "bb_width_pct": 0.186
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T23-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T23:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4997.42,
      "stop": 4999.0,
      "target": 4994.259,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.53,
        "bb_width_pct": 0.195
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T23-20-00Z_long_vwap_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T23:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4997.42,
      "stop": 4994.089,
      "target": 5004.081,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.53,
        "bb_width_pct": 0.195
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T23-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T23:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4997.42,
      "stop": 4999.315,
      "target": 4993.63,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.53,
        "bb_width_pct": 0.195
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T23-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T23:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4994.065,
      "stop": 4994.491,
      "target": 4993.212,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.47,
        "bb_width_pct": 0.194
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T23-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4989.96,
      "stop": 4988.101,
      "target": 4993.679,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.58,
        "bb_width_pct": 0.223
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T23-45-00Z_long_vwap_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4993.82,
      "stop": 4989.565,
      "target": 5002.331,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.49,
        "bb_width_pct": 0.223
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-16T23-50-00Z_long_vwap_mean_reversion",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T23:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4993.895,
      "stop": 4989.809,
      "target": 5002.067,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.94,
        "bb_width_pct": 0.22
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T00-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4985.23,
      "stop": 4981.847,
      "target": 4991.996,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.53,
        "bb_width_pct": 0.253
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T00-10-00Z_long_rsi_range_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T00:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4979.425,
      "stop": 4973.581,
      "target": 4991.114,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.84,
        "bb_width_pct": 0.405
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T00-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T00:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4979.425,
      "stop": 4974.835,
      "target": 4988.605,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 19.84,
        "bb_width_pct": 0.405
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T00-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T00:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4979.595,
      "stop": 4974.23,
      "target": 4990.326,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.48,
        "bb_width_pct": 0.444
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T00-15-00Z_long_rsi_range_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T00:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4979.595,
      "stop": 4974.23,
      "target": 4990.326,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.48,
        "bb_width_pct": 0.444
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T00-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T00:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4979.595,
      "stop": 4975.358,
      "target": 4988.07,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.48,
        "bb_width_pct": 0.444
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T00-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T00:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4979.595,
      "stop": 4975.048,
      "target": 4988.689,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.48,
        "bb_width_pct": 0.444
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T00-30-00Z_long_rsi_range_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4976.435,
      "stop": 4970.682,
      "target": 4987.942,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.53,
        "bb_width_pct": 0.608
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T00-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4976.435,
      "stop": 4971.556,
      "target": 4986.193,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 23.53,
        "bb_width_pct": 0.608
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T00-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T00:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4970.485,
      "stop": 4962.852,
      "target": 4985.752,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.74,
        "bb_width_pct": 0.665
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T02-20-00Z_short_rsi_range_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T02:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4967.58,
      "stop": 4973.269,
      "target": 4956.201,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 27.14,
        "bb_width_pct": 0.759
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T02-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T02:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4967.58,
      "stop": 4969.958,
      "target": 4962.824,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 27.14,
        "bb_width_pct": 0.759
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T02-25-00Z_short_rsi_range_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T02:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4965.59,
      "stop": 4970.37,
      "target": 4956.03,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 17.06,
        "bb_width_pct": 0.742
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T03-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4962.635,
      "stop": 4962.843,
      "target": 4962.219,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.78,
        "bb_width_pct": 0.296
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T03-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4955.43,
      "stop": 4951.993,
      "target": 4962.305,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.25,
        "bb_width_pct": 0.298
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T03-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4955.43,
      "stop": 4952.333,
      "target": 4961.624,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.25,
        "bb_width_pct": 0.298
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T03-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4955.25,
      "stop": 4951.814,
      "target": 4962.123,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.04,
        "bb_width_pct": 0.317
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T03-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T03:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4953.72,
      "stop": 4949.754,
      "target": 4961.653,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.83,
        "bb_width_pct": 0.379
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T03-40-00Z_long_vwap_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T03:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4953.72,
      "stop": 4949.534,
      "target": 4962.092,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.83,
        "bb_width_pct": 0.379
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T03-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T03:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4953.72,
      "stop": 4950.83,
      "target": 4959.501,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.83,
        "bb_width_pct": 0.379
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T04-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T04:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4950.83,
      "stop": 4946.49,
      "target": 4959.511,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.52,
        "bb_width_pct": 0.371
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T04-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4949.73,
      "stop": 4945.236,
      "target": 4958.718,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.04,
        "bb_width_pct": 0.391
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T04-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4949.73,
      "stop": 4945.925,
      "target": 4957.341,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.04,
        "bb_width_pct": 0.391
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T04-10-00Z_long_vwap_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T04:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4952.18,
      "stop": 4947.682,
      "target": 4961.176,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.0,
        "bb_width_pct": 0.396
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T04-15-00Z_long_vwap_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T04:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4953.86,
      "stop": 4950.278,
      "target": 4961.024,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.17,
        "bb_width_pct": 0.386
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T04-35-00Z_long_vwap_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4954.61,
      "stop": 4951.574,
      "target": 4960.682,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.91,
        "bb_width_pct": 0.304
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T04-55-00Z_long_vwap_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T04:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4953.03,
      "stop": 4949.486,
      "target": 4960.117,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.44,
        "bb_width_pct": 0.222
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T06-45-00Z_long_vwap_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T06:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4909.095,
      "stop": 4891.49,
      "target": 4944.305,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.99,
        "bb_width_pct": 0.908
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T06-50-00Z_long_vwap_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T06:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4913.4,
      "stop": 4898.143,
      "target": 4943.913,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.32,
        "bb_width_pct": 0.762
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T06-55-00Z_short_rsi_range_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T06:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4910.355,
      "stop": 4917.187,
      "target": 4896.691,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 18.71,
        "bb_width_pct": 0.798
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T07-05-00Z_short_rsi_range_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T07:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4908.535,
      "stop": 4913.939,
      "target": 4897.728,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 16.11,
        "bb_width_pct": 0.859
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T07-10-00Z_short_rsi_range_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T07:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4906.825,
      "stop": 4910.825,
      "target": 4898.825,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 14.4,
        "bb_width_pct": 0.837
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T07-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T07:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4919.845,
      "stop": 4925.144,
      "target": 4909.247,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.81,
        "bb_width_pct": 0.642
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T07-40-00Z_short_rsi_range_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T07:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4917.51,
      "stop": 4923.03,
      "target": 4906.471,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 8.28,
        "bb_width_pct": 0.624
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T07-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T07:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4917.51,
      "stop": 4921.248,
      "target": 4910.034,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.28,
        "bb_width_pct": 0.624
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T07-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T07:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4921.2,
      "stop": 4926.025,
      "target": 4911.551,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.4,
        "bb_width_pct": 0.543
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T07-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T07:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4917.1,
      "stop": 4919.61,
      "target": 4912.079,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.27,
        "bb_width_pct": 0.531
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T08-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T08:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4921.61,
      "stop": 4925.994,
      "target": 4912.842,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.52,
        "bb_width_pct": 0.466
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T08-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T08:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4921.61,
      "stop": 4925.317,
      "target": 4914.196,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.52,
        "bb_width_pct": 0.466
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T08-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T08:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4924.35,
      "stop": 4929.159,
      "target": 4914.733,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.44,
        "bb_width_pct": 0.532
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T08-15-00Z_short_vwap_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T08:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4924.35,
      "stop": 4928.73,
      "target": 4915.59,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 18.44,
        "bb_width_pct": 0.532
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T08-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T08:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4924.35,
      "stop": 4928.364,
      "target": 4916.322,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.44,
        "bb_width_pct": 0.532
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T08-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T08:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4925.44,
      "stop": 4929.565,
      "target": 4917.191,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.32,
        "bb_width_pct": 0.553
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T08-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4919.63,
      "stop": 4932.039,
      "target": 4894.812,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.89,
        "bb_width_pct": 0.546
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T08-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4918.345,
      "stop": 4930.111,
      "target": 4894.812,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.32,
        "bb_width_pct": 0.535
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T08-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T08:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4918.29,
      "stop": 4930.029,
      "target": 4894.812,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.65,
        "bb_width_pct": 0.523
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T08-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T08:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4922.24,
      "stop": 4932.29,
      "target": 4902.14,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.69,
        "bb_width_pct": 0.468
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T08-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T08:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4920.78,
      "stop": 4930.1,
      "target": 4902.14,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.46,
        "bb_width_pct": 0.422
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T09-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T09:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4922.93,
      "stop": 4930.725,
      "target": 4907.34,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.41,
        "bb_width_pct": 0.348
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T09-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T09:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4921.95,
      "stop": 4929.255,
      "target": 4907.34,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.39,
        "bb_width_pct": 0.284
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T09-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T09:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4919.815,
      "stop": 4925.466,
      "target": 4908.513,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.08,
        "bb_width_pct": 0.284
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T09-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T09:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4918.45,
      "stop": 4916.778,
      "target": 4921.795,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.21,
        "bb_width_pct": 0.233
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T09-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T09:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4927.63,
      "stop": 4930.947,
      "target": 4920.996,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.21,
        "bb_width_pct": 0.233
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T09-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T09:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4926.09,
      "stop": 4928.194,
      "target": 4921.881,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.65,
        "bb_width_pct": 0.241
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T09-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T09:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4926.09,
      "stop": 4931.055,
      "target": 4916.16,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.65,
        "bb_width_pct": 0.241
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T10-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T10:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4927.46,
      "stop": 4930.199,
      "target": 4921.982,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.08,
        "bb_width_pct": 0.253
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T10-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T10:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4929.315,
      "stop": 4932.748,
      "target": 4922.449,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.59,
        "bb_width_pct": 0.281
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T10-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T10:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4932.955,
      "stop": 4937.422,
      "target": 4924.02,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.32,
        "bb_width_pct": 0.394
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T10-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T10:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4932.955,
      "stop": 4938.615,
      "target": 4921.635,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.32,
        "bb_width_pct": 0.394
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T10-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T10:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4932.955,
      "stop": 4936.985,
      "target": 4924.896,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.32,
        "bb_width_pct": 0.394
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T10-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T10:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4932.235,
      "stop": 4935.994,
      "target": 4924.718,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.3,
        "bb_width_pct": 0.405
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T10-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T10:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4932.235,
      "stop": 4937.445,
      "target": 4921.815,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.3,
        "bb_width_pct": 0.405
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T10-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T10:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4932.235,
      "stop": 4935.555,
      "target": 4925.595,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.3,
        "bb_width_pct": 0.405
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T10-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T10:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4913.385,
      "stop": 4908.115,
      "target": 4923.926,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.3,
        "bb_width_pct": 0.509
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T10-55-00Z_long_vwap_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T10:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4913.385,
      "stop": 4907.439,
      "target": 4925.276,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.3,
        "bb_width_pct": 0.509
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T10-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T10:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4913.385,
      "stop": 4908.256,
      "target": 4923.642,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.3,
        "bb_width_pct": 0.509
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T10-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T10:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4913.385,
      "stop": 4908.841,
      "target": 4922.472,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.3,
        "bb_width_pct": 0.509
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T12-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4930.61,
      "stop": 4932.9,
      "target": 4926.03,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.84,
        "bb_width_pct": 0.419
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T12-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T12:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4933.88,
      "stop": 4938.119,
      "target": 4925.402,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.25,
        "bb_width_pct": 0.503
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T12-10-00Z_short_rsi_range_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T12:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4933.88,
      "stop": 4938.119,
      "target": 4925.402,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 14.25,
        "bb_width_pct": 0.503
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T12-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T12:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4933.88,
      "stop": 4938.999,
      "target": 4923.642,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.25,
        "bb_width_pct": 0.503
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T12-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T12:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4933.88,
      "stop": 4936.921,
      "target": 4927.797,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.25,
        "bb_width_pct": 0.503
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T12-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T12:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4937.755,
      "stop": 4943.644,
      "target": 4925.977,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.73,
        "bb_width_pct": 0.549
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T12-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T12:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4941.035,
      "stop": 4948.085,
      "target": 4926.935,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.96,
        "bb_width_pct": 0.603
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T12-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T12:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4943.125,
      "stop": 4950.551,
      "target": 4928.274,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.44,
        "bb_width_pct": 0.634
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T12-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T12:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4940.41,
      "stop": 4945.774,
      "target": 4929.682,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.83,
        "bb_width_pct": 0.593
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T12-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T12:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4940.41,
      "stop": 4947.469,
      "target": 4926.292,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.83,
        "bb_width_pct": 0.593
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T12-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T12:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4940.41,
      "stop": 4944.588,
      "target": 4932.054,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.83,
        "bb_width_pct": 0.593
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T12-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T12:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4938.545,
      "stop": 4944.671,
      "target": 4926.292,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 16.07,
        "bb_width_pct": 0.529
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T12-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T12:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4938.545,
      "stop": 4941.482,
      "target": 4932.672,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.07,
        "bb_width_pct": 0.529
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T13-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T13:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4924.935,
      "stop": 4921.443,
      "target": 4931.918,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.75,
        "bb_width_pct": 0.457
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T13-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T13:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4922.08,
      "stop": 4916.743,
      "target": 4932.755,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.56,
        "bb_width_pct": 0.473
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T13-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T13:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4922.08,
      "stop": 4917.629,
      "target": 4930.981,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.56,
        "bb_width_pct": 0.473
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T13-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T13:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4916.41,
      "stop": 4908.88,
      "target": 4931.469,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.86,
        "bb_width_pct": 0.641
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T13-20-00Z_long_rsi_range_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T13:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4916.41,
      "stop": 4908.88,
      "target": 4931.469,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.86,
        "bb_width_pct": 0.641
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T13-20-00Z_long_vwap_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T13:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4916.41,
      "stop": 4908.401,
      "target": 4932.428,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.86,
        "bb_width_pct": 0.641
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T13-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T13:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4916.41,
      "stop": 4911.469,
      "target": 4926.292,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 22.86,
        "bb_width_pct": 0.641
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T13-25-00Z_long_rsi_range_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T13:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4919.75,
      "stop": 4914.133,
      "target": 4930.984,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.01,
        "bb_width_pct": 0.673
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T13-25-00Z_long_vwap_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T13:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4919.75,
      "stop": 4913.785,
      "target": 4931.68,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.01,
        "bb_width_pct": 0.673
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T13-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T13:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4919.75,
      "stop": 4915.994,
      "target": 4927.262,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.01,
        "bb_width_pct": 0.673
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T13-35-00Z_long_rsi_range_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4916.09,
      "stop": 4909.31,
      "target": 4929.65,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.12,
        "bb_width_pct": 0.788
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T13-35-00Z_long_vwap_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4916.09,
      "stop": 4909.15,
      "target": 4929.971,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.12,
        "bb_width_pct": 0.788
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T13-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4916.09,
      "stop": 4910.989,
      "target": 4926.292,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 24.12,
        "bb_width_pct": 0.788
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T13-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4916.09,
      "stop": 4911.69,
      "target": 4924.89,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.12,
        "bb_width_pct": 0.788
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T13-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T13:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4922.04,
      "stop": 4919.914,
      "target": 4926.292,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.88,
        "bb_width_pct": 0.799
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T13-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T13:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4922.04,
      "stop": 4920.751,
      "target": 4924.619,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.88,
        "bb_width_pct": 0.799
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T13-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T13:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4916.945,
      "stop": 4913.67,
      "target": 4923.495,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.15,
        "bb_width_pct": 0.815
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T15-45-00Z_long_vwap_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T15:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4868.455,
      "stop": 4851.826,
      "target": 4901.712,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.97,
        "bb_width_pct": 1.165
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T15-55-00Z_long_vwap_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T15:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4878.6,
      "stop": 4867.689,
      "target": 4900.422,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.97,
        "bb_width_pct": 1.024
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T16-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T16:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4888.66,
      "stop": 4897.952,
      "target": 4870.075,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.98,
        "bb_width_pct": 0.833
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T16-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T16:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4883.605,
      "stop": 4890.724,
      "target": 4869.367,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.24,
        "bb_width_pct": 0.703
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T16-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T16:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4885.14,
      "stop": 4892.782,
      "target": 4869.856,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.85,
        "bb_width_pct": 0.751
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T16-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T16:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4885.78,
      "stop": 4893.361,
      "target": 4870.617,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.74,
        "bb_width_pct": 0.803
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T16-40-00Z_short_rsi_range_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T16:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4877.67,
      "stop": 4879.954,
      "target": 4873.101,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 8.49,
        "bb_width_pct": 0.834
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T17-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T17:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4866.475,
      "stop": 4861.474,
      "target": 4876.477,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.29,
        "bb_width_pct": 0.733
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T17-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T17:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4863.33,
      "stop": 4857.595,
      "target": 4874.799,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.3,
        "bb_width_pct": 0.713
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T17-15-00Z_long_rsi_range_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T17:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4863.33,
      "stop": 4857.595,
      "target": 4874.799,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.3,
        "bb_width_pct": 0.713
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T17-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T17:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4863.33,
      "stop": 4858.716,
      "target": 4872.559,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.3,
        "bb_width_pct": 0.713
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T17-25-00Z_long_rsi_range_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T17:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4865.155,
      "stop": 4860.642,
      "target": 4874.182,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.93,
        "bb_width_pct": 0.768
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T17-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T17:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4865.155,
      "stop": 4858.631,
      "target": 4878.202,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.93,
        "bb_width_pct": 0.768
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T17-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T17:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4863.24,
      "stop": 4855.759,
      "target": 4878.202,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 11.41,
        "bb_width_pct": 0.776
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T18-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4882.005,
      "stop": 4889.188,
      "target": 4867.64,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.6,
        "bb_width_pct": 0.717
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T18-30-00Z_short_vwap_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4882.005,
      "stop": 4889.429,
      "target": 4867.156,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.6,
        "bb_width_pct": 0.717
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T18-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4882.005,
      "stop": 4886.984,
      "target": 4872.048,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.6,
        "bb_width_pct": 0.717
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T18-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4882.005,
      "stop": 4886.826,
      "target": 4872.363,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.6,
        "bb_width_pct": 0.717
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T18-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T18:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4889.66,
      "stop": 4899.548,
      "target": 4869.884,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.52,
        "bb_width_pct": 0.909
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T18-40-00Z_short_rsi_range_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T18:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4889.66,
      "stop": 4899.548,
      "target": 4869.884,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 21.52,
        "bb_width_pct": 0.909
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T18-40-00Z_short_vwap_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T18:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4889.66,
      "stop": 4899.835,
      "target": 4869.309,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 21.52,
        "bb_width_pct": 0.909
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T18-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T18:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4889.66,
      "stop": 4898.466,
      "target": 4872.048,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 21.52,
        "bb_width_pct": 0.909
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T19-00-00Z_short_rsi_range_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T19:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4898.465,
      "stop": 4909.238,
      "target": 4876.918,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 27.14,
        "bb_width_pct": 1.138
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T19-00-00Z_short_vwap_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T19:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4898.465,
      "stop": 4910.915,
      "target": 4873.564,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 27.14,
        "bb_width_pct": 1.138
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T19-05-00Z_short_rsi_range_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T19:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4898.235,
      "stop": 4908.066,
      "target": 4878.572,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 25.29,
        "bb_width_pct": 1.176
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T19-05-00Z_short_vwap_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T19:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4898.235,
      "stop": 4910.102,
      "target": 4874.502,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 25.29,
        "bb_width_pct": 1.176
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T19-10-00Z_short_rsi_range_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T19:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4893.96,
      "stop": 4900.92,
      "target": 4880.04,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 25.24,
        "bb_width_pct": 1.175
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T19-10-00Z_short_vwap_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T19:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4893.96,
      "stop": 4903.306,
      "target": 4875.268,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 25.24,
        "bb_width_pct": 1.175
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T19-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T19:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4893.96,
      "stop": 4898.483,
      "target": 4884.915,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 25.24,
        "bb_width_pct": 1.175
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T19-15-00Z_short_rsi_range_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T19:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4890.21,
      "stop": 4894.644,
      "target": 4881.342,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 19.93,
        "bb_width_pct": 1.148
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T19-15-00Z_short_vwap_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T19:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4890.21,
      "stop": 4897.37,
      "target": 4875.889,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 19.93,
        "bb_width_pct": 1.148
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T19-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T19:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4890.21,
      "stop": 4892.606,
      "target": 4885.419,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.93,
        "bb_width_pct": 1.148
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T20-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T20:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4879.065,
      "stop": 4874.334,
      "target": 4888.526,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.6,
        "bb_width_pct": 0.498
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T20-10-00Z_long_rsi_range_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T20:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4879.925,
      "stop": 4875.938,
      "target": 4887.9,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.2,
        "bb_width_pct": 0.548
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T21-00-00Z_long_vwap_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T21:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4883.43,
      "stop": 4863.264,
      "target": 4923.763,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.85,
        "bb_width_pct": 0.254
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T21-10-00Z_long_vwap_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T21:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4881.175,
      "stop": 4861.501,
      "target": 4920.522,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.64,
        "bb_width_pct": 0.246
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T21-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T21:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4883.545,
      "stop": 4885.288,
      "target": 4880.06,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.64,
        "bb_width_pct": 0.235
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T21-15-00Z_long_vwap_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T21:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4883.545,
      "stop": 4865.718,
      "target": 4919.199,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.64,
        "bb_width_pct": 0.235
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T21-25-00Z_long_vwap_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T21:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4880.565,
      "stop": 4862.536,
      "target": 4916.622,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.08,
        "bb_width_pct": 0.195
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T21-40-00Z_long_vwap_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T21:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4879.715,
      "stop": 4862.92,
      "target": 4913.306,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.91,
        "bb_width_pct": 0.183
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T21-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T21:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4879.715,
      "stop": 4873.45,
      "target": 4892.245,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.91,
        "bb_width_pct": 0.183
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T21-50-00Z_long_vwap_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T21:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4878.215,
      "stop": 4861.671,
      "target": 4911.303,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.98,
        "bb_width_pct": 0.18
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T21-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T21:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4878.215,
      "stop": 4871.2,
      "target": 4892.245,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 2.98,
        "bb_width_pct": 0.18
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T23-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4875.09,
      "stop": 4873.088,
      "target": 4879.093,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.46,
        "bb_width_pct": 0.228
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T23-05-00Z_long_vwap_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4875.09,
      "stop": 4858.464,
      "target": 4908.342,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.46,
        "bb_width_pct": 0.228
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T23-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4875.09,
      "stop": 4867.142,
      "target": 4890.985,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 13.46,
        "bb_width_pct": 0.228
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T23-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4875.09,
      "stop": 4873.315,
      "target": 4878.641,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.46,
        "bb_width_pct": 0.228
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T23-10-00Z_long_vwap_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4883.19,
      "stop": 4871.006,
      "target": 4907.558,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.58,
        "bb_width_pct": 0.233
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T23-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4883.19,
      "stop": 4880.609,
      "target": 4888.352,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.58,
        "bb_width_pct": 0.233
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T23-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4874.245,
      "stop": 4871.77,
      "target": 4879.195,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.76,
        "bb_width_pct": 0.251
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T23-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4874.245,
      "stop": 4872.061,
      "target": 4878.614,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.76,
        "bb_width_pct": 0.251
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T23-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T23:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4872.51,
      "stop": 4869.325,
      "target": 4878.879,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.85,
        "bb_width_pct": 0.278
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T23-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T23:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4878.105,
      "stop": 4877.768,
      "target": 4878.778,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.75,
        "bb_width_pct": 0.277
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T23-25-00Z_long_vwap_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T23:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4878.105,
      "stop": 4864.54,
      "target": 4905.235,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.75,
        "bb_width_pct": 0.277
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T23-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T23:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4878.105,
      "stop": 4876.027,
      "target": 4882.26,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.75,
        "bb_width_pct": 0.277
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T23-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4876.555,
      "stop": 4876.225,
      "target": 4877.215,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.47,
        "bb_width_pct": 0.358
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T23-40-00Z_long_vwap_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4876.555,
      "stop": 4863.318,
      "target": 4903.029,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.47,
        "bb_width_pct": 0.358
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T23-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4876.555,
      "stop": 4875.504,
      "target": 4878.658,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 2.47,
        "bb_width_pct": 0.358
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T23-55-00Z_long_vwap_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T23:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4859.44,
      "stop": 4838.912,
      "target": 4900.496,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.91,
        "bb_width_pct": 0.568
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T23-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T23:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4859.44,
      "stop": 4853.514,
      "target": 4871.292,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 13.91,
        "bb_width_pct": 0.568
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-17T23-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T23:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4859.44,
      "stop": 4853.052,
      "target": 4872.217,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.91,
        "bb_width_pct": 0.568
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T00-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4863.615,
      "stop": 4858.748,
      "target": 4873.348,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.84,
        "bb_width_pct": 0.588
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T00-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4863.615,
      "stop": 4860.121,
      "target": 4870.602,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.84,
        "bb_width_pct": 0.588
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T00-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T00:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4870.035,
      "stop": 4869.751,
      "target": 4870.602,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 2.8,
        "bb_width_pct": 0.554
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T00-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T00:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4878.415,
      "stop": 4882.452,
      "target": 4870.341,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.25,
        "bb_width_pct": 0.52
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T00-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T00:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4878.415,
      "stop": 4882.321,
      "target": 4870.602,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.25,
        "bb_width_pct": 0.52
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T01-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4884.18,
      "stop": 4890.789,
      "target": 4870.963,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.12,
        "bb_width_pct": 0.577
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T01-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4884.18,
      "stop": 4889.204,
      "target": 4874.133,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.12,
        "bb_width_pct": 0.577
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T01-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T01:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4886.875,
      "stop": 4894.153,
      "target": 4872.318,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.67,
        "bb_width_pct": 0.698
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T01-10-00Z_short_rsi_range_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T01:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4886.875,
      "stop": 4894.153,
      "target": 4872.318,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 17.67,
        "bb_width_pct": 0.698
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T01-10-00Z_short_vwap_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T01:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4886.875,
      "stop": 4893.041,
      "target": 4874.544,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 17.67,
        "bb_width_pct": 0.698
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T01-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T01:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4886.875,
      "stop": 4894.205,
      "target": 4872.215,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.67,
        "bb_width_pct": 0.698
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T01-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T01:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4886.875,
      "stop": 4892.038,
      "target": 4876.549,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.67,
        "bb_width_pct": 0.698
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T01-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T01:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4885.385,
      "stop": 4891.444,
      "target": 4873.267,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.99,
        "bb_width_pct": 0.726
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T01-15-00Z_short_rsi_range_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T01:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4885.385,
      "stop": 4891.444,
      "target": 4873.267,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 18.99,
        "bb_width_pct": 0.726
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T01-15-00Z_short_vwap_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T01:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4885.385,
      "stop": 4890.422,
      "target": 4875.31,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 18.99,
        "bb_width_pct": 0.726
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T01-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T01:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4885.385,
      "stop": 4891.646,
      "target": 4872.862,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.99,
        "bb_width_pct": 0.726
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T01-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T01:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4885.385,
      "stop": 4889.382,
      "target": 4877.391,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.99,
        "bb_width_pct": 0.726
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T01-20-00Z_short_rsi_range_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T01:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4884.155,
      "stop": 4889.409,
      "target": 4873.647,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 17.16,
        "bb_width_pct": 0.75
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T01-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T01:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4884.155,
      "stop": 4889.727,
      "target": 4873.01,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.16,
        "bb_width_pct": 0.75
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T01-35-00Z_short_rsi_range_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T01:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4887.995,
      "stop": 4893.136,
      "target": 4877.713,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 12.03,
        "bb_width_pct": 0.696
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T01-35-00Z_short_vwap_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T01:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4887.995,
      "stop": 4893.16,
      "target": 4877.665,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.03,
        "bb_width_pct": 0.696
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T01-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T01:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4887.995,
      "stop": 4895.487,
      "target": 4873.01,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.03,
        "bb_width_pct": 0.696
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T01-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T01:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4887.995,
      "stop": 4891.681,
      "target": 4880.623,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.03,
        "bb_width_pct": 0.696
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T01-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T01:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4885.975,
      "stop": 4892.015,
      "target": 4873.895,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.19,
        "bb_width_pct": 0.657
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T02-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T02:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4898.59,
      "stop": 4904.845,
      "target": 4886.081,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.39,
        "bb_width_pct": 0.547
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T02-10-00Z_short_rsi_range_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T02:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4898.59,
      "stop": 4904.845,
      "target": 4886.081,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 11.39,
        "bb_width_pct": 0.547
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T02-10-00Z_short_vwap_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T02:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4898.59,
      "stop": 4907.289,
      "target": 4881.192,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.39,
        "bb_width_pct": 0.547
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T02-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T02:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4898.59,
      "stop": 4909.09,
      "target": 4877.59,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.39,
        "bb_width_pct": 0.547
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T02-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T02:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4896.56,
      "stop": 4901.286,
      "target": 4887.108,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.9,
        "bb_width_pct": 0.543
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T02-15-00Z_short_vwap_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T02:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4896.56,
      "stop": 4903.948,
      "target": 4881.783,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.9,
        "bb_width_pct": 0.543
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T02-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T02:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4896.56,
      "stop": 4905.823,
      "target": 4878.035,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.9,
        "bb_width_pct": 0.543
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T02-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T02:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4896.56,
      "stop": 4900.973,
      "target": 4887.735,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.9,
        "bb_width_pct": 0.543
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T02-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T02:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4900.895,
      "stop": 4906.67,
      "target": 4889.345,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.44,
        "bb_width_pct": 0.578
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T02-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4905.12,
      "stop": 4912.34,
      "target": 4890.68,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.62,
        "bb_width_pct": 0.604
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T02-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T02:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4905.165,
      "stop": 4911.654,
      "target": 4892.188,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.05,
        "bb_width_pct": 0.581
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T02-40-00Z_short_rsi_range_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T02:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4905.075,
      "stop": 4910.996,
      "target": 4893.232,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 23.43,
        "bb_width_pct": 0.604
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T02-40-00Z_short_vwap_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T02:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4905.075,
      "stop": 4915.117,
      "target": 4884.992,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 23.43,
        "bb_width_pct": 0.604
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T02-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T02:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4905.075,
      "stop": 4917.425,
      "target": 4880.375,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 23.43,
        "bb_width_pct": 0.604
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T02-45-00Z_short_rsi_range_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4903.835,
      "stop": 4908.743,
      "target": 4894.019,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 25.53,
        "bb_width_pct": 0.624
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T02-45-00Z_short_vwap_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4903.835,
      "stop": 4912.969,
      "target": 4885.566,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 25.53,
        "bb_width_pct": 0.624
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T02-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4903.835,
      "stop": 4915.565,
      "target": 4880.375,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 25.53,
        "bb_width_pct": 0.624
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T03-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T03:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4915.09,
      "stop": 4923.212,
      "target": 4898.847,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 27.55,
        "bb_width_pct": 0.715
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T03-10-00Z_short_rsi_range_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T03:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4912.695,
      "stop": 4919.02,
      "target": 4900.044,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 20.01,
        "bb_width_pct": 0.729
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T03-10-00Z_short_vwap_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T03:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4912.695,
      "stop": 4924.698,
      "target": 4888.689,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 20.01,
        "bb_width_pct": 0.729
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T03-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T03:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4912.695,
      "stop": 4926.237,
      "target": 4885.61,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 20.01,
        "bb_width_pct": 0.729
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T03-30-00Z_short_rsi_range_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4916.65,
      "stop": 4921.839,
      "target": 4906.272,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 27.95,
        "bb_width_pct": 0.668
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T03-30-00Z_short_vwap_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4916.65,
      "stop": 4929.286,
      "target": 4891.377,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 27.95,
        "bb_width_pct": 0.668
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T03-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4916.65,
      "stop": 4930.389,
      "target": 4889.173,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 27.95,
        "bb_width_pct": 0.668
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T04-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4925.48,
      "stop": 4931.035,
      "target": 4914.369,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.83,
        "bb_width_pct": 0.543
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T04-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T04:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4928.64,
      "stop": 4935.188,
      "target": 4915.545,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 27.38,
        "bb_width_pct": 0.57
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T04-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T04:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4932.98,
      "stop": 4939.828,
      "target": 4919.283,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 27.57,
        "bb_width_pct": 0.563
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T04-55-00Z_short_rsi_range_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T04:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4934.235,
      "stop": 4938.146,
      "target": 4926.413,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 23.28,
        "bb_width_pct": 0.574
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T04-55-00Z_short_vwap_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T04:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4934.235,
      "stop": 4950.547,
      "target": 4901.611,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 23.28,
        "bb_width_pct": 0.574
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T04-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T04:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4934.235,
      "stop": 4945.37,
      "target": 4911.965,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 23.28,
        "bb_width_pct": 0.574
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T05-05-00Z_short_vwap_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4931.88,
      "stop": 4946.491,
      "target": 4902.658,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 16.6,
        "bb_width_pct": 0.561
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T05-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4931.88,
      "stop": 4941.837,
      "target": 4911.965,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 16.6,
        "bb_width_pct": 0.561
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T05-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4931.88,
      "stop": 4934.011,
      "target": 4927.617,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.6,
        "bb_width_pct": 0.561
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T05-25-00Z_short_vwap_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4935.43,
      "stop": 4950.853,
      "target": 4904.584,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.45,
        "bb_width_pct": 0.429
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T05-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4935.43,
      "stop": 4944.094,
      "target": 4918.102,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.45,
        "bb_width_pct": 0.429
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T05-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4935.43,
      "stop": 4938.144,
      "target": 4930.001,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.45,
        "bb_width_pct": 0.429
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T05-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4935.95,
      "stop": 4938.641,
      "target": 4930.568,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.35,
        "bb_width_pct": 0.391
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T05-40-00Z_short_vwap_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4934.875,
      "stop": 4949.321,
      "target": 4905.983,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.0,
        "bb_width_pct": 0.282
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T05-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4934.875,
      "stop": 4941.999,
      "target": 4920.628,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.0,
        "bb_width_pct": 0.282
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T05-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4934.875,
      "stop": 4936.465,
      "target": 4931.696,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.0,
        "bb_width_pct": 0.282
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T05-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4937.24,
      "stop": 4939.572,
      "target": 4932.575,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.06,
        "bb_width_pct": 0.227
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T05-55-00Z_short_vwap_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T05:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4933.49,
      "stop": 4946.624,
      "target": 4907.222,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.81,
        "bb_width_pct": 0.182
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T05-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T05:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4933.49,
      "stop": 4939.267,
      "target": 4921.935,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.81,
        "bb_width_pct": 0.182
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T06-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4932.19,
      "stop": 4930.84,
      "target": 4934.89,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.72,
        "bb_width_pct": 0.154
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T06-00-00Z_short_vwap_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4932.19,
      "stop": 4944.506,
      "target": 4907.558,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.72,
        "bb_width_pct": 0.154
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T06-05-00Z_short_vwap_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4927.795,
      "stop": 4937.77,
      "target": 4907.845,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.99,
        "bb_width_pct": 0.197
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T06-10-00Z_short_vwap_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T06:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4926.95,
      "stop": 4936.371,
      "target": 4908.108,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.8,
        "bb_width_pct": 0.238
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T06-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T06:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4927.665,
      "stop": 4924.54,
      "target": 4933.916,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.08,
        "bb_width_pct": 0.264
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T06-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T06:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4927.665,
      "stop": 4925.857,
      "target": 4931.281,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.08,
        "bb_width_pct": 0.264
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T06-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T06:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4931.5,
      "stop": 4930.339,
      "target": 4933.822,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.61,
        "bb_width_pct": 0.267
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T06-25-00Z_short_vwap_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T06:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4930.67,
      "stop": 4941.539,
      "target": 4908.931,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.17,
        "bb_width_pct": 0.262
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T06-30-00Z_short_vwap_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4927.35,
      "stop": 4936.433,
      "target": 4909.185,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.11,
        "bb_width_pct": 0.276
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T06-50-00Z_short_vwap_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T06:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4934.825,
      "stop": 4947.095,
      "target": 4910.284,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 1.67,
        "bb_width_pct": 0.292
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T06-55-00Z_short_vwap_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T06:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4930.91,
      "stop": 4941.092,
      "target": 4910.546,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.72,
        "bb_width_pct": 0.293
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T07-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T07:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4938.65,
      "stop": 4941.75,
      "target": 4932.451,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.3,
        "bb_width_pct": 0.302
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T07-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T07:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4938.545,
      "stop": 4941.376,
      "target": 4932.884,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.78,
        "bb_width_pct": 0.314
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T07-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T07:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4938.545,
      "stop": 4942.991,
      "target": 4929.653,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 16.78,
        "bb_width_pct": 0.314
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T07-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T07:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4938.545,
      "stop": 4941.302,
      "target": 4933.031,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.78,
        "bb_width_pct": 0.314
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T07-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T07:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4934.275,
      "stop": 4936.186,
      "target": 4930.452,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.65,
        "bb_width_pct": 0.295
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T07-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T07:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4939.335,
      "stop": 4942.576,
      "target": 4932.853,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.46,
        "bb_width_pct": 0.315
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T07-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T07:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4939.335,
      "stop": 4942.04,
      "target": 4933.925,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.46,
        "bb_width_pct": 0.315
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T07-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4938.735,
      "stop": 4941.271,
      "target": 4933.663,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.03,
        "bb_width_pct": 0.323
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T07-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T07:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4937.01,
      "stop": 4938.59,
      "target": 4933.85,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.09,
        "bb_width_pct": 0.331
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T08-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T08:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4926.16,
      "stop": 4923.252,
      "target": 4931.976,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.44,
        "bb_width_pct": 0.298
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T08-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T08:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4926.905,
      "stop": 4923.678,
      "target": 4933.359,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.91,
        "bb_width_pct": 0.318
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T08-20-00Z_long_rsi_range_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T08:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4926.905,
      "stop": 4923.678,
      "target": 4933.359,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.91,
        "bb_width_pct": 0.318
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T08-20-00Z_long_vwap_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T08:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4926.905,
      "stop": 4923.705,
      "target": 4933.304,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.91,
        "bb_width_pct": 0.318
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T08-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T08:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4926.905,
      "stop": 4923.712,
      "target": 4933.29,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.91,
        "bb_width_pct": 0.318
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T08-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T08:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4926.905,
      "stop": 4924.611,
      "target": 4931.493,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.91,
        "bb_width_pct": 0.318
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T08-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T08:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4926.03,
      "stop": 4922.605,
      "target": 4932.88,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.44,
        "bb_width_pct": 0.34
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T08-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T08:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4926.03,
      "stop": 4923.559,
      "target": 4930.973,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.44,
        "bb_width_pct": 0.34
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T08-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4924.385,
      "stop": 4920.399,
      "target": 4932.358,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.67,
        "bb_width_pct": 0.37
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T08-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4924.385,
      "stop": 4921.405,
      "target": 4930.345,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.67,
        "bb_width_pct": 0.37
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T08-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4925.545,
      "stop": 4922.273,
      "target": 4932.089,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.25,
        "bb_width_pct": 0.388
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T08-35-00Z_long_rsi_range_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4925.545,
      "stop": 4922.273,
      "target": 4932.089,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.25,
        "bb_width_pct": 0.388
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T08-35-00Z_long_vwap_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4925.545,
      "stop": 4922.295,
      "target": 4932.045,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.25,
        "bb_width_pct": 0.388
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T08-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4925.545,
      "stop": 4922.321,
      "target": 4931.993,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 24.25,
        "bb_width_pct": 0.388
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T08-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4925.545,
      "stop": 4923.373,
      "target": 4929.888,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.25,
        "bb_width_pct": 0.388
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T08-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T08:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4921.415,
      "stop": 4916.418,
      "target": 4931.408,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.89,
        "bb_width_pct": 0.427
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T08-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T08:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4921.41,
      "stop": 4916.842,
      "target": 4930.546,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.12,
        "bb_width_pct": 0.439
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T08-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T08:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4921.135,
      "stop": 4916.865,
      "target": 4929.676,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.84,
        "bb_width_pct": 0.443
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T08-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T08:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4917.25,
      "stop": 4911.463,
      "target": 4928.824,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.71,
        "bb_width_pct": 0.485
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T09-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4915.1,
      "stop": 4908.743,
      "target": 4927.814,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.84,
        "bb_width_pct": 0.526
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T09-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T09:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4918.78,
      "stop": 4914.777,
      "target": 4926.786,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.83,
        "bb_width_pct": 0.503
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T09-05-00Z_long_rsi_range_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T09:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4918.78,
      "stop": 4914.777,
      "target": 4926.786,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.83,
        "bb_width_pct": 0.503
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T09-05-00Z_long_vwap_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T09:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4918.78,
      "stop": 4913.588,
      "target": 4929.164,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.83,
        "bb_width_pct": 0.503
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T09-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T09:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4918.78,
      "stop": 4913.879,
      "target": 4928.583,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 16.83,
        "bb_width_pct": 0.503
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T09-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T09:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4918.78,
      "stop": 4915.709,
      "target": 4924.923,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.83,
        "bb_width_pct": 0.503
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T09-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T09:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4923.155,
      "stop": 4920.841,
      "target": 4927.782,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.17,
        "bb_width_pct": 0.426
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T09-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T09:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4923.155,
      "stop": 4923.052,
      "target": 4923.361,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.17,
        "bb_width_pct": 0.426
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T09-35-00Z_long_vwap_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4917.09,
      "stop": 4912.04,
      "target": 4927.191,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.28,
        "bb_width_pct": 0.384
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T09-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4917.09,
      "stop": 4911.744,
      "target": 4927.782,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.28,
        "bb_width_pct": 0.384
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T09-40-00Z_long_vwap_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T09:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4920.76,
      "stop": 4917.659,
      "target": 4926.961,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.9,
        "bb_width_pct": 0.356
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T09-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T09:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4920.76,
      "stop": 4917.249,
      "target": 4927.782,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.9,
        "bb_width_pct": 0.356
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T09-50-00Z_long_vwap_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T09:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4920.72,
      "stop": 4917.795,
      "target": 4926.569,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.06,
        "bb_width_pct": 0.288
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T09-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T09:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4920.72,
      "stop": 4917.189,
      "target": 4927.782,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.06,
        "bb_width_pct": 0.288
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T10-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T10:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4921.84,
      "stop": 4918.869,
      "target": 4927.782,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.67,
        "bb_width_pct": 0.251
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T10-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T10:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4922.66,
      "stop": 4924.207,
      "target": 4919.567,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.22,
        "bb_width_pct": 0.194
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T10-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T10:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4914.35,
      "stop": 4911.909,
      "target": 4919.231,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.93,
        "bb_width_pct": 0.213
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T10-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T10:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4914.35,
      "stop": 4911.368,
      "target": 4920.313,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.93,
        "bb_width_pct": 0.213
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T10-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T10:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4913.03,
      "stop": 4910.145,
      "target": 4918.799,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.99,
        "bb_width_pct": 0.26
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T10-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T10:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4913.03,
      "stop": 4907.017,
      "target": 4925.055,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 11.99,
        "bb_width_pct": 0.26
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T10-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T10:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4912.47,
      "stop": 4909.417,
      "target": 4918.576,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.6,
        "bb_width_pct": 0.282
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T10-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T10:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4912.47,
      "stop": 4909.551,
      "target": 4918.307,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.6,
        "bb_width_pct": 0.282
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T10-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T10:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4914.65,
      "stop": 4910.386,
      "target": 4923.177,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.12,
        "bb_width_pct": 0.287
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T11-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T11:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4913.665,
      "stop": 4912.654,
      "target": 4915.687,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.01,
        "bb_width_pct": 0.252
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T11-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T11:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4913.665,
      "stop": 4911.369,
      "target": 4918.257,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 3.01,
        "bb_width_pct": 0.252
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T11-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T11:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4913.665,
      "stop": 4912.655,
      "target": 4915.684,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.01,
        "bb_width_pct": 0.252
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T11-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T11:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4913.075,
      "stop": 4911.948,
      "target": 4915.33,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.18,
        "bb_width_pct": 0.228
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T12-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4919.05,
      "stop": 4921.13,
      "target": 4914.89,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.95,
        "bb_width_pct": 0.194
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T12-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T12:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4921.825,
      "stop": 4924.942,
      "target": 4915.59,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.1,
        "bb_width_pct": 0.252
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T12-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T12:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4921.825,
      "stop": 4924.248,
      "target": 4916.979,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.1,
        "bb_width_pct": 0.252
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T12-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T12:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4921.11,
      "stop": 4923.189,
      "target": 4916.953,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.63,
        "bb_width_pct": 0.364
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T12-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T12:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4921.11,
      "stop": 4922.686,
      "target": 4917.958,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.63,
        "bb_width_pct": 0.364
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T12-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T12:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4921.11,
      "stop": 4922.208,
      "target": 4918.913,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.63,
        "bb_width_pct": 0.364
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T12-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T12:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4929.22,
      "stop": 4934.472,
      "target": 4918.716,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.03,
        "bb_width_pct": 0.427
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T13-45-00Z_short_rsi_range_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4953.765,
      "stop": 4959.708,
      "target": 4941.88,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 23.07,
        "bb_width_pct": 1.196
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T13-45-00Z_short_vwap_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4953.765,
      "stop": 4960.79,
      "target": 4939.714,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 23.07,
        "bb_width_pct": 1.196
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T13-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4953.765,
      "stop": 4958.351,
      "target": 4944.593,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 23.07,
        "bb_width_pct": 1.196
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T13-50-00Z_short_rsi_range_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T13:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4951.23,
      "stop": 4955.17,
      "target": 4943.35,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 18.79,
        "bb_width_pct": 1.145
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T13-50-00Z_short_vwap_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T13:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4951.23,
      "stop": 4956.721,
      "target": 4940.249,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 18.79,
        "bb_width_pct": 1.145
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T14-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4958.93,
      "stop": 4964.718,
      "target": 4947.353,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.68,
        "bb_width_pct": 1.087
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T14-05-00Z_short_vwap_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T14:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4954.7,
      "stop": 4961.029,
      "target": 4942.042,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.85,
        "bb_width_pct": 0.988
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T14-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T14:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4958.38,
      "stop": 4963.052,
      "target": 4949.037,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.04,
        "bb_width_pct": 0.877
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T14-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T14:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4959.5,
      "stop": 4964.233,
      "target": 4950.033,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.91,
        "bb_width_pct": 0.763
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T14-20-00Z_short_vwap_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T14:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4956.81,
      "stop": 4963.375,
      "target": 4943.681,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 1.04,
        "bb_width_pct": 0.644
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T14-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T14:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4956.81,
      "stop": 4966.334,
      "target": 4937.763,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.04,
        "bb_width_pct": 0.644
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T14-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T14:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4960.88,
      "stop": 4965.495,
      "target": 4951.65,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.66,
        "bb_width_pct": 0.517
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T14-40-00Z_short_rsi_range_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T14:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4981.84,
      "stop": 4992.73,
      "target": 4960.06,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 15.68,
        "bb_width_pct": 0.682
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T14-40-00Z_short_vwap_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T14:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4981.84,
      "stop": 4999.162,
      "target": 4947.196,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.68,
        "bb_width_pct": 0.682
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T14-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T14:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4981.84,
      "stop": 4999.682,
      "target": 4946.155,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.68,
        "bb_width_pct": 0.682
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T16-05-00Z_short_vwap_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T16:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4999.055,
      "stop": 5016.192,
      "target": 4964.781,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.87,
        "bb_width_pct": 0.741
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T16-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T16:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4999.055,
      "stop": 5013.855,
      "target": 4969.455,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.87,
        "bb_width_pct": 0.741
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T16-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T16:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4999.055,
      "stop": 5002.423,
      "target": 4992.32,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.87,
        "bb_width_pct": 0.741
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T16-15-00Z_short_vwap_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T16:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4997.315,
      "stop": 5012.931,
      "target": 4966.084,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.94,
        "bb_width_pct": 0.505
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T16-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T16:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4997.315,
      "stop": 5007.914,
      "target": 4976.118,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.94,
        "bb_width_pct": 0.505
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T16-20-00Z_short_vwap_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T16:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4993.555,
      "stop": 5007.022,
      "target": 4966.621,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.94,
        "bb_width_pct": 0.417
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T16-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T16:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4996.985,
      "stop": 4995.723,
      "target": 4999.508,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.46,
        "bb_width_pct": 0.321
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T16-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5001.445,
      "stop": 5004.595,
      "target": 4995.145,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.21,
        "bb_width_pct": 0.259
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T16-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5004.65,
      "stop": 5006.579,
      "target": 5000.791,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.7,
        "bb_width_pct": 0.274
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T16-45-00Z_short_vwap_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5004.65,
      "stop": 5022.162,
      "target": 4969.625,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.7,
        "bb_width_pct": 0.274
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T16-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5004.65,
      "stop": 5017.469,
      "target": 4979.012,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.7,
        "bb_width_pct": 0.274
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T16-50-00Z_short_vwap_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T16:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5003.815,
      "stop": 5020.611,
      "target": 4970.222,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.37,
        "bb_width_pct": 0.273
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T16-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T16:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5003.815,
      "stop": 5015.746,
      "target": 4979.952,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.37,
        "bb_width_pct": 0.273
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T16-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T16:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5003.815,
      "stop": 5006.927,
      "target": 4997.591,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.37,
        "bb_width_pct": 0.273
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T16-55-00Z_short_vwap_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5000.555,
      "stop": 5015.46,
      "target": 4970.745,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.61,
        "bb_width_pct": 0.262
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T16-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5000.555,
      "stop": 5010.856,
      "target": 4979.952,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.61,
        "bb_width_pct": 0.262
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T17-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T17:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4999.81,
      "stop": 5009.739,
      "target": 4979.952,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.57,
        "bb_width_pct": 0.244
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T17-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T17:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4995.065,
      "stop": 4992.685,
      "target": 4999.825,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.98,
        "bb_width_pct": 0.233
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T18-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T18:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4994.62,
      "stop": 4992.158,
      "target": 4999.545,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.53,
        "bb_width_pct": 0.23
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T18-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4991.375,
      "stop": 4988.284,
      "target": 4997.558,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.63,
        "bb_width_pct": 0.269
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T18-30-00Z_long_vwap_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4991.375,
      "stop": 4988.333,
      "target": 4997.459,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.63,
        "bb_width_pct": 0.269
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T18-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4991.375,
      "stop": 4987.653,
      "target": 4998.82,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.63,
        "bb_width_pct": 0.269
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T18-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4991.375,
      "stop": 4988.823,
      "target": 4996.48,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.63,
        "bb_width_pct": 0.269
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T18-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T18:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4984.415,
      "stop": 4978.987,
      "target": 4995.271,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.56,
        "bb_width_pct": 0.437
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T18-45-00Z_long_vwap_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T18:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4984.415,
      "stop": 4978.718,
      "target": 4995.808,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.56,
        "bb_width_pct": 0.437
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T18-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T18:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4984.415,
      "stop": 4978.756,
      "target": 4995.733,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 18.56,
        "bb_width_pct": 0.437
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T18-50-00Z_long_rsi_range_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T18:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4984.46,
      "stop": 4979.422,
      "target": 4994.536,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.37,
        "bb_width_pct": 0.469
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T18-50-00Z_long_vwap_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T18:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4984.46,
      "stop": 4979.02,
      "target": 4995.34,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.37,
        "bb_width_pct": 0.469
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T18-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T18:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4984.46,
      "stop": 4978.824,
      "target": 4995.733,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 19.37,
        "bb_width_pct": 0.469
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T18-55-00Z_long_vwap_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T18:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4987.445,
      "stop": 4983.683,
      "target": 4994.969,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.59,
        "bb_width_pct": 0.478
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T18-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T18:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4987.445,
      "stop": 4983.301,
      "target": 4995.733,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 16.59,
        "bb_width_pct": 0.478
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T18-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T18:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4987.445,
      "stop": 4985.123,
      "target": 4992.089,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.59,
        "bb_width_pct": 0.478
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T19-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T19:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4991.57,
      "stop": 4989.489,
      "target": 4995.733,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.61,
        "bb_width_pct": 0.468
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T19-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T19:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4983.11,
      "stop": 4979.191,
      "target": 4990.948,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.85,
        "bb_width_pct": 0.5
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T19-30-00Z_long_vwap_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T19:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4983.11,
      "stop": 4977.887,
      "target": 4993.556,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.85,
        "bb_width_pct": 0.5
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T19-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T19:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4983.11,
      "stop": 4978.719,
      "target": 4991.892,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.85,
        "bb_width_pct": 0.5
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T19-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T19:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4983.11,
      "stop": 4979.547,
      "target": 4990.235,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.85,
        "bb_width_pct": 0.5
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T19-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T19:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4982.61,
      "stop": 4978.856,
      "target": 4990.119,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.22,
        "bb_width_pct": 0.496
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T19-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T19:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4982.61,
      "stop": 4979.16,
      "target": 4989.509,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.22,
        "bb_width_pct": 0.496
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T19-40-00Z_long_vwap_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T19:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4982.74,
      "stop": 4977.694,
      "target": 4992.832,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.75,
        "bb_width_pct": 0.461
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T19-50-00Z_long_vwap_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T19:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4980.715,
      "stop": 4974.994,
      "target": 4992.157,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.1,
        "bb_width_pct": 0.409
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T19-55-00Z_long_vwap_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T19:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4980.715,
      "stop": 4975.156,
      "target": 4991.833,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.19,
        "bb_width_pct": 0.4
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T20-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T20:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4978.755,
      "stop": 4975.522,
      "target": 4985.222,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.41,
        "bb_width_pct": 0.388
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T20-15-00Z_long_vwap_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T20:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4979.04,
      "stop": 4973.214,
      "target": 4990.692,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.67,
        "bb_width_pct": 0.401
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T20-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T20:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4979.04,
      "stop": 4974.525,
      "target": 4988.07,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.67,
        "bb_width_pct": 0.401
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T20-30-00Z_long_vwap_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T20:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4981.865,
      "stop": 4977.851,
      "target": 4989.893,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.36,
        "bb_width_pct": 0.433
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T20-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T20:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4981.865,
      "stop": 4978.762,
      "target": 4988.07,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 3.36,
        "bb_width_pct": 0.433
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T21-00-00Z_short_vwap_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T21:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4984.19,
      "stop": 5016.937,
      "target": 4918.696,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.62,
        "bb_width_pct": 0.191
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T21-05-00Z_short_vwap_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T21:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4982.95,
      "stop": 5013.849,
      "target": 4921.152,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.25,
        "bb_width_pct": 0.184
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T21-10-00Z_short_vwap_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T21:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4980.775,
      "stop": 5009.469,
      "target": 4923.388,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.88,
        "bb_width_pct": 0.184
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T21-25-00Z_short_vwap_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T21:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4981.65,
      "stop": 5007.802,
      "target": 4929.345,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.85,
        "bb_width_pct": 0.187
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T21-30-00Z_short_vwap_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T21:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4980.525,
      "stop": 5005.282,
      "target": 4931.01,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.15,
        "bb_width_pct": 0.187
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T21-40-00Z_short_vwap_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T21:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4980.23,
      "stop": 5003.347,
      "target": 4933.997,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.84,
        "bb_width_pct": 0.184
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T21-45-00Z_short_vwap_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T21:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4979.52,
      "stop": 5001.607,
      "target": 4935.346,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.59,
        "bb_width_pct": 0.187
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T21-50-00Z_short_vwap_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T21:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4977.03,
      "stop": 4997.262,
      "target": 4936.565,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 19.19,
        "bb_width_pct": 0.198
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T21-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T21:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4977.26,
      "stop": 4975.103,
      "target": 4981.573,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.04,
        "bb_width_pct": 0.207
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T21-55-00Z_long_rsi_range_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T21:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4977.26,
      "stop": 4975.103,
      "target": 4981.573,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.04,
        "bb_width_pct": 0.207
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T21-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T21:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4977.26,
      "stop": 4973.783,
      "target": 4984.215,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.04,
        "bb_width_pct": 0.207
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T21-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T21:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4977.26,
      "stop": 4975.229,
      "target": 4981.323,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.04,
        "bb_width_pct": 0.207
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T23-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4976.125,
      "stop": 4973.583,
      "target": 4981.209,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.06,
        "bb_width_pct": 0.262
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T23-05-00Z_long_rsi_range_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4976.125,
      "stop": 4973.583,
      "target": 4981.209,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.06,
        "bb_width_pct": 0.262
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T23-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4976.125,
      "stop": 4972.208,
      "target": 4983.96,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 19.06,
        "bb_width_pct": 0.262
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T23-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4976.125,
      "stop": 4974.145,
      "target": 4980.086,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.06,
        "bb_width_pct": 0.262
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T23-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4976.58,
      "stop": 4974.398,
      "target": 4980.944,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.18,
        "bb_width_pct": 0.274
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T23-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4976.58,
      "stop": 4974.994,
      "target": 4979.752,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.18,
        "bb_width_pct": 0.274
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T23-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4976.57,
      "stop": 4974.564,
      "target": 4980.581,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.94,
        "bb_width_pct": 0.279
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T23-15-00Z_short_vwap_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4976.57,
      "stop": 4994.159,
      "target": 4941.392,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.94,
        "bb_width_pct": 0.279
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T23-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4976.57,
      "stop": 4975.131,
      "target": 4979.449,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.94,
        "bb_width_pct": 0.279
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T23-25-00Z_short_vwap_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T23:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4981.945,
      "stop": 5001.279,
      "target": 4943.278,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.64,
        "bb_width_pct": 0.255
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T23-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4981.65,
      "stop": 4982.357,
      "target": 4980.236,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.0,
        "bb_width_pct": 0.254
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T23-30-00Z_short_vwap_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4981.65,
      "stop": 5000.365,
      "target": 4944.221,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.0,
        "bb_width_pct": 0.254
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T23-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4981.65,
      "stop": 4982.437,
      "target": 4980.076,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.0,
        "bb_width_pct": 0.254
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T23-45-00Z_short_vwap_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4978.935,
      "stop": 4995.099,
      "target": 4946.607,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 1.86,
        "bb_width_pct": 0.224
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T23-50-00Z_short_vwap_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T23:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4975.91,
      "stop": 4990.236,
      "target": 4947.257,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.95,
        "bb_width_pct": 0.233
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T23-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T23:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4976.15,
      "stop": 4974.653,
      "target": 4979.145,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.08,
        "bb_width_pct": 0.229
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T23-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T23:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4976.15,
      "stop": 4975.331,
      "target": 4977.788,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.08,
        "bb_width_pct": 0.229
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-18T23-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T23:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4976.15,
      "stop": 4974.49,
      "target": 4979.469,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.08,
        "bb_width_pct": 0.229
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T00-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T00:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4964.72,
      "stop": 4959.541,
      "target": 4975.077,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.13,
        "bb_width_pct": 0.414
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T00-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T00:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4968.16,
      "stop": 4963.928,
      "target": 4976.625,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.95,
        "bb_width_pct": 0.439
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T00-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T00:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4968.16,
      "stop": 4964.716,
      "target": 4975.047,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.95,
        "bb_width_pct": 0.439
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T00-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T00:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4968.16,
      "stop": 4964.325,
      "target": 4975.829,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.95,
        "bb_width_pct": 0.439
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T00-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T00:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4967.44,
      "stop": 4964.256,
      "target": 4973.807,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.67,
        "bb_width_pct": 0.48
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T00-30-00Z_long_rsi_range_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4970.615,
      "stop": 4968.674,
      "target": 4974.496,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.16,
        "bb_width_pct": 0.484
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T00-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T00:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4971.185,
      "stop": 4969.254,
      "target": 4975.047,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 11.5,
        "bb_width_pct": 0.484
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T00-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T00:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4962.895,
      "stop": 4958.943,
      "target": 4970.8,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.77,
        "bb_width_pct": 0.564
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T00-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T00:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4961.42,
      "stop": 4957.177,
      "target": 4969.906,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.88,
        "bb_width_pct": 0.591
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T01-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4965.105,
      "stop": 4960.281,
      "target": 4974.753,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 13.1,
        "bb_width_pct": 0.569
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T01-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T01:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4965.185,
      "stop": 4960.401,
      "target": 4974.753,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 2.88,
        "bb_width_pct": 0.539
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T01-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T01:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4966.055,
      "stop": 4961.706,
      "target": 4974.753,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.93,
        "bb_width_pct": 0.499
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T01-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T01:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4966.055,
      "stop": 4964.703,
      "target": 4968.758,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.93,
        "bb_width_pct": 0.499
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T01-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T01:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4964.34,
      "stop": 4959.134,
      "target": 4974.753,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.93,
        "bb_width_pct": 0.328
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T01-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4965.935,
      "stop": 4961.526,
      "target": 4974.753,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 2.34,
        "bb_width_pct": 0.281
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T01-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T01:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4973.95,
      "stop": 4976.608,
      "target": 4968.635,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.33,
        "bb_width_pct": 0.273
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T01-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T01:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4973.14,
      "stop": 4976.192,
      "target": 4967.036,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.29,
        "bb_width_pct": 0.292
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T01-55-00Z_short_rsi_range_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T01:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4973.14,
      "stop": 4976.192,
      "target": 4967.036,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 18.29,
        "bb_width_pct": 0.292
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T01-55-00Z_short_vwap_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T01:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4973.14,
      "stop": 4976.263,
      "target": 4966.894,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 18.29,
        "bb_width_pct": 0.292
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T01-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T01:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4973.14,
      "stop": 4975.178,
      "target": 4969.064,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.29,
        "bb_width_pct": 0.292
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T02-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T02:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4976.01,
      "stop": 4980.037,
      "target": 4967.956,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.47,
        "bb_width_pct": 0.374
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T02-05-00Z_short_rsi_range_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T02:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4976.01,
      "stop": 4980.037,
      "target": 4967.956,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 18.47,
        "bb_width_pct": 0.374
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T02-05-00Z_short_vwap_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T02:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4976.01,
      "stop": 4980.238,
      "target": 4967.555,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 18.47,
        "bb_width_pct": 0.374
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T02-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T02:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4976.01,
      "stop": 4978.797,
      "target": 4970.436,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.47,
        "bb_width_pct": 0.374
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T02-10-00Z_short_vwap_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T02:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4974.24,
      "stop": 4977.457,
      "target": 4967.806,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.67,
        "bb_width_pct": 0.387
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T03-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4976.68,
      "stop": 4979.171,
      "target": 4971.698,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.66,
        "bb_width_pct": 0.218
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T03-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4976.68,
      "stop": 4979.561,
      "target": 4970.918,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.66,
        "bb_width_pct": 0.218
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T03-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T03:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4975.52,
      "stop": 4977.372,
      "target": 4971.817,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.14,
        "bb_width_pct": 0.227
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T03-35-00Z_short_vwap_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T03:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4975.52,
      "stop": 4978.767,
      "target": 4969.026,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 9.14,
        "bb_width_pct": 0.227
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T03-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T03:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4975.52,
      "stop": 4978.319,
      "target": 4969.923,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.14,
        "bb_width_pct": 0.227
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T03-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T03:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4975.52,
      "stop": 4977.602,
      "target": 4971.356,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.14,
        "bb_width_pct": 0.227
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T03-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T03:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4977.265,
      "stop": 4979.99,
      "target": 4971.814,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.43,
        "bb_width_pct": 0.227
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T03-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T03:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4977.265,
      "stop": 4979.938,
      "target": 4971.919,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.43,
        "bb_width_pct": 0.227
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T03-50-00Z_short_rsi_range_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T03:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4981.97,
      "stop": 4986.701,
      "target": 4972.508,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 18.71,
        "bb_width_pct": 0.33
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T03-50-00Z_short_vwap_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T03:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4981.97,
      "stop": 4988.103,
      "target": 4969.704,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 18.71,
        "bb_width_pct": 0.33
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T03-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T03:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4981.97,
      "stop": 4987.211,
      "target": 4971.488,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.71,
        "bb_width_pct": 0.33
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T03-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T03:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4981.675,
      "stop": 4985.966,
      "target": 4973.093,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.62,
        "bb_width_pct": 0.363
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T03-55-00Z_short_vwap_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T03:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4981.675,
      "stop": 4987.536,
      "target": 4969.954,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 16.62,
        "bb_width_pct": 0.363
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T03-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T03:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4981.675,
      "stop": 4986.481,
      "target": 4972.062,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 16.62,
        "bb_width_pct": 0.363
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T04-00-00Z_short_vwap_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T04:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4980.64,
      "stop": 4985.877,
      "target": 4970.165,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 23.19,
        "bb_width_pct": 0.377
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T04-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T04:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4980.64,
      "stop": 4984.929,
      "target": 4972.062,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 23.19,
        "bb_width_pct": 0.377
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T04-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T04:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4980.64,
      "stop": 4983.412,
      "target": 4975.096,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 23.19,
        "bb_width_pct": 0.377
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T04-10-00Z_short_rsi_range_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T04:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4981.695,
      "stop": 4985.188,
      "target": 4974.709,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 23.03,
        "bb_width_pct": 0.425
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T04-10-00Z_short_vwap_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T04:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4981.695,
      "stop": 4987.217,
      "target": 4970.65,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 23.03,
        "bb_width_pct": 0.425
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T04-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T04:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4981.695,
      "stop": 4986.445,
      "target": 4972.195,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 23.03,
        "bb_width_pct": 0.425
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T04-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T04:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4981.695,
      "stop": 4984.346,
      "target": 4976.393,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 23.03,
        "bb_width_pct": 0.425
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T04-15-00Z_short_rsi_range_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T04:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4980.545,
      "stop": 4983.26,
      "target": 4975.116,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 21.45,
        "bb_width_pct": 0.435
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T04-15-00Z_short_vwap_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T04:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4980.545,
      "stop": 4985.396,
      "target": 4970.843,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 21.45,
        "bb_width_pct": 0.435
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T04-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T04:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4980.545,
      "stop": 4984.374,
      "target": 4972.887,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 21.45,
        "bb_width_pct": 0.435
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T04-25-00Z_short_vwap_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T04:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4979.975,
      "stop": 4984.35,
      "target": 4971.224,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 21.34,
        "bb_width_pct": 0.449
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T04-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T04:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4979.975,
      "stop": 4983.403,
      "target": 4973.12,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 21.34,
        "bb_width_pct": 0.449
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T04-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T04:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4979.975,
      "stop": 4981.171,
      "target": 4977.583,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.34,
        "bb_width_pct": 0.449
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T04-35-00Z_short_vwap_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4981.415,
      "stop": 4986.302,
      "target": 4971.641,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.52,
        "bb_width_pct": 0.448
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T04-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4981.415,
      "stop": 4985.275,
      "target": 4973.695,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.52,
        "bb_width_pct": 0.448
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T04-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4981.415,
      "stop": 4982.851,
      "target": 4978.543,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.52,
        "bb_width_pct": 0.448
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T04-40-00Z_short_vwap_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4980.945,
      "stop": 4985.516,
      "target": 4971.804,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.04,
        "bb_width_pct": 0.416
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T04-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4980.945,
      "stop": 4984.57,
      "target": 4973.695,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.04,
        "bb_width_pct": 0.416
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T04-45-00Z_short_vwap_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4979.265,
      "stop": 4982.932,
      "target": 4971.93,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.99,
        "bb_width_pct": 0.387
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T04-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T04:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4984.45,
      "stop": 4986.807,
      "target": 4979.736,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.05,
        "bb_width_pct": 0.338
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T05-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4988.1,
      "stop": 4991.768,
      "target": 4980.764,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.61,
        "bb_width_pct": 0.299
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T05-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4989.35,
      "stop": 4992.436,
      "target": 4983.179,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.59,
        "bb_width_pct": 0.291
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T05-15-00Z_short_vwap_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4989.35,
      "stop": 4997.345,
      "target": 4973.361,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.59,
        "bb_width_pct": 0.291
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T05-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4989.35,
      "stop": 4994.14,
      "target": 4979.77,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.59,
        "bb_width_pct": 0.291
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T05-20-00Z_short_vwap_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4988.91,
      "stop": 4996.565,
      "target": 4973.599,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 16.42,
        "bb_width_pct": 0.286
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T05-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4988.91,
      "stop": 4993.48,
      "target": 4979.77,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 16.42,
        "bb_width_pct": 0.286
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T05-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4988.91,
      "stop": 4991.578,
      "target": 4983.574,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.42,
        "bb_width_pct": 0.286
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T05-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4989.265,
      "stop": 4991.839,
      "target": 4984.116,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.19,
        "bb_width_pct": 0.3
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T05-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4993.555,
      "stop": 4997.716,
      "target": 4985.233,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.24,
        "bb_width_pct": 0.36
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T06-05-00Z_short_rsi_range_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4998.75,
      "stop": 5003.08,
      "target": 4990.091,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 24.25,
        "bb_width_pct": 0.493
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T06-05-00Z_short_vwap_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4998.75,
      "stop": 5010.004,
      "target": 4976.243,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 24.25,
        "bb_width_pct": 0.493
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T06-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4998.75,
      "stop": 5006.546,
      "target": 4983.158,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 24.25,
        "bb_width_pct": 0.493
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T06-20-00Z_short_rsi_range_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T06:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4999.165,
      "stop": 5002.407,
      "target": 4992.682,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 24.17,
        "bb_width_pct": 0.474
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T06-20-00Z_short_vwap_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T06:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4999.165,
      "stop": 5010.178,
      "target": 4977.14,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 24.17,
        "bb_width_pct": 0.474
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T06-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T06:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4999.165,
      "stop": 5006.76,
      "target": 4983.975,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 24.17,
        "bb_width_pct": 0.474
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T07-35-00Z_short_rsi_range_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T07:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5017.33,
      "stop": 5020.443,
      "target": 5011.104,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 17.41,
        "bb_width_pct": 0.657
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T07-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T07:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5017.33,
      "stop": 5026.271,
      "target": 4999.448,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.41,
        "bb_width_pct": 0.657
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T07-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T07:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5015.49,
      "stop": 5023.511,
      "target": 4999.448,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.47,
        "bb_width_pct": 0.626
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T07-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T07:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5015.49,
      "stop": 5017.387,
      "target": 5011.696,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.47,
        "bb_width_pct": 0.626
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T07-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T07:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5014.94,
      "stop": 5022.686,
      "target": 4999.448,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.33,
        "bb_width_pct": 0.527
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T08-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T08:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5010.365,
      "stop": 5008.073,
      "target": 5014.95,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.88,
        "bb_width_pct": 0.33
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T08-05-00Z_long_rsi_range_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T08:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5010.365,
      "stop": 5008.073,
      "target": 5014.95,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.88,
        "bb_width_pct": 0.33
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T08-05-00Z_long_vwap_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T08:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5010.365,
      "stop": 5007.559,
      "target": 5015.976,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.88,
        "bb_width_pct": 0.33
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T08-10-00Z_long_rsi_range_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T08:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5011.82,
      "stop": 5010.153,
      "target": 5015.154,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.47,
        "bb_width_pct": 0.308
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T08-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T08:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5020.11,
      "stop": 5022.597,
      "target": 5015.136,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.27,
        "bb_width_pct": 0.253
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T08-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T08:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5017.04,
      "stop": 5021.971,
      "target": 5007.177,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.29,
        "bb_width_pct": 0.25
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T08-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T08:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5017.04,
      "stop": 5018.432,
      "target": 5014.256,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.29,
        "bb_width_pct": 0.25
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T09-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T09:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5014.02,
      "stop": 5016.296,
      "target": 5009.468,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.87,
        "bb_width_pct": 0.257
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T09-30-00Z_long_vwap_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5001.725,
      "stop": 4995.131,
      "target": 5014.912,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.16,
        "bb_width_pct": 0.42
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T09-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5001.725,
      "stop": 4997.681,
      "target": 5009.812,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 19.16,
        "bb_width_pct": 0.42
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T09-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T09:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5003.625,
      "stop": 4999.125,
      "target": 5012.625,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.78,
        "bb_width_pct": 0.498
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T09-40-00Z_long_vwap_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T09:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5003.625,
      "stop": 4998.425,
      "target": 5014.024,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.78,
        "bb_width_pct": 0.498
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T09-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T09:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5003.625,
      "stop": 5000.152,
      "target": 5010.571,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.78,
        "bb_width_pct": 0.498
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T10-20-00Z_long_rsi_range_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T10:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4990.965,
      "stop": 4984.112,
      "target": 5004.67,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 27.16,
        "bb_width_pct": 0.873
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T10-30-00Z_long_rsi_range_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T10:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4992.745,
      "stop": 4988.22,
      "target": 5001.796,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.75,
        "bb_width_pct": 0.855
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T10-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T10:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4992.745,
      "stop": 4987.767,
      "target": 5002.7,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.75,
        "bb_width_pct": 0.855
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T10-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T10:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4992.745,
      "stop": 4989.625,
      "target": 4998.984,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.75,
        "bb_width_pct": 0.855
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T10-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T10:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4990.355,
      "stop": 4987.066,
      "target": 4996.933,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.74,
        "bb_width_pct": 0.71
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T11-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T11:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4987.495,
      "stop": 4984.751,
      "target": 4992.983,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.28,
        "bb_width_pct": 0.376
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T11-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T11:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4987.495,
      "stop": 4983.999,
      "target": 4994.488,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.28,
        "bb_width_pct": 0.376
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T11-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T11:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4984.82,
      "stop": 4981.623,
      "target": 4991.213,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.64,
        "bb_width_pct": 0.298
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T11-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T11:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4984.82,
      "stop": 4980.799,
      "target": 4992.861,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.64,
        "bb_width_pct": 0.298
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T11-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T11:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4985.91,
      "stop": 4983.658,
      "target": 4990.415,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.22,
        "bb_width_pct": 0.239
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T11-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T11:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4985.91,
      "stop": 4978.82,
      "target": 5000.09,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.22,
        "bb_width_pct": 0.239
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T11-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T11:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4985.91,
      "stop": 4982.765,
      "target": 4992.199,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.22,
        "bb_width_pct": 0.239
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T11-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T11:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4984.745,
      "stop": 4982.183,
      "target": 4989.868,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.13,
        "bb_width_pct": 0.239
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T11-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T11:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4985.9,
      "stop": 4984.256,
      "target": 4989.189,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.01,
        "bb_width_pct": 0.273
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T11-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T11:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4985.9,
      "stop": 4978.805,
      "target": 5000.09,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.01,
        "bb_width_pct": 0.273
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T11-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T11:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4985.9,
      "stop": 4983.751,
      "target": 4990.198,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.01,
        "bb_width_pct": 0.273
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T11-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T11:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4983.145,
      "stop": 4980.28,
      "target": 4988.876,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.95,
        "bb_width_pct": 0.292
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T11-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T11:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4983.145,
      "stop": 4979.954,
      "target": 4989.526,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.95,
        "bb_width_pct": 0.292
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T11-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T11:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4984.715,
      "stop": 4977.035,
      "target": 5000.075,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.92,
        "bb_width_pct": 0.3
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T12-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4986.18,
      "stop": 4985.084,
      "target": 4988.373,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.53,
        "bb_width_pct": 0.3
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T12-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4986.18,
      "stop": 4979.233,
      "target": 5000.075,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.53,
        "bb_width_pct": 0.3
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T12-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T12:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4988.455,
      "stop": 4983.046,
      "target": 4999.272,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.17,
        "bb_width_pct": 0.299
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T12-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T12:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4983.22,
      "stop": 4981.997,
      "target": 4985.666,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.53,
        "bb_width_pct": 0.185
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T12-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T12:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4983.22,
      "stop": 4978.97,
      "target": 4991.72,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 3.53,
        "bb_width_pct": 0.185
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T13-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4983.52,
      "stop": 4982.579,
      "target": 4985.401,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.54,
        "bb_width_pct": 0.185
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T13-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4983.52,
      "stop": 4982.07,
      "target": 4986.42,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.54,
        "bb_width_pct": 0.185
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T13-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T13:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4983.38,
      "stop": 4982.467,
      "target": 4985.206,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.86,
        "bb_width_pct": 0.189
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T13-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4988.38,
      "stop": 4989.897,
      "target": 4985.346,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.22,
        "bb_width_pct": 0.196
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T13-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T13:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4993.805,
      "stop": 4998.806,
      "target": 4983.802,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.72,
        "bb_width_pct": 0.29
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T13-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T13:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4993.805,
      "stop": 4997.134,
      "target": 4987.147,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.72,
        "bb_width_pct": 0.29
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T13-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4992.005,
      "stop": 4994.687,
      "target": 4986.641,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.16,
        "bb_width_pct": 0.303
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T13-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4992.005,
      "stop": 4995.905,
      "target": 4984.205,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.16,
        "bb_width_pct": 0.303
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T14-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4985.38,
      "stop": 4985.586,
      "target": 4984.968,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.42,
        "bb_width_pct": 0.383
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T14-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T14:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4978.78,
      "stop": 4975.268,
      "target": 4985.805,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.9,
        "bb_width_pct": 0.48
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T14-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T14:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4978.78,
      "stop": 4975.686,
      "target": 4984.968,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.9,
        "bb_width_pct": 0.48
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T14-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T14:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4978.78,
      "stop": 4975.275,
      "target": 4985.791,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.9,
        "bb_width_pct": 0.48
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T14-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4974.185,
      "stop": 4968.88,
      "target": 4984.794,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.2,
        "bb_width_pct": 0.542
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T14-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4974.185,
      "stop": 4969.523,
      "target": 4983.508,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.2,
        "bb_width_pct": 0.542
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T14-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T14:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5005.795,
      "stop": 5014.548,
      "target": 4988.289,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.96,
        "bb_width_pct": 0.767
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T14-55-00Z_short_vwap_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T14:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5005.795,
      "stop": 5015.397,
      "target": 4986.591,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.96,
        "bb_width_pct": 0.767
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T14-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T14:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5005.795,
      "stop": 5015.97,
      "target": 4985.445,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.96,
        "bb_width_pct": 0.767
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T15-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T15:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5003.79,
      "stop": 5011.03,
      "target": 4989.31,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.91,
        "bb_width_pct": 0.807
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T15-00-00Z_short_vwap_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T15:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5003.79,
      "stop": 5012.149,
      "target": 4987.072,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.91,
        "bb_width_pct": 0.807
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T15-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T15:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5003.79,
      "stop": 5012.214,
      "target": 4986.942,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.91,
        "bb_width_pct": 0.807
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T15-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T15:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5003.79,
      "stop": 5010.221,
      "target": 4990.928,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.91,
        "bb_width_pct": 0.807
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T15-05-00Z_short_vwap_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T15:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5003.37,
      "stop": 5011.304,
      "target": 4987.502,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.92,
        "bb_width_pct": 0.834
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T15-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T15:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5003.37,
      "stop": 5011.584,
      "target": 4986.942,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.92,
        "bb_width_pct": 0.834
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T15-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T15:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5003.37,
      "stop": 5008.998,
      "target": 4992.113,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.92,
        "bb_width_pct": 0.834
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T15-10-00Z_short_vwap_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T15:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4999.75,
      "stop": 5005.693,
      "target": 4987.863,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.07,
        "bb_width_pct": 0.849
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T15-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T15:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4999.75,
      "stop": 5006.154,
      "target": 4986.942,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.07,
        "bb_width_pct": 0.849
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T15-50-00Z_short_vwap_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T15:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5009.875,
      "stop": 5018.852,
      "target": 4991.922,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.48,
        "bb_width_pct": 1.126
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T15-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T15:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5009.875,
      "stop": 5018.355,
      "target": 4992.915,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.48,
        "bb_width_pct": 1.126
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T16-00-00Z_short_vwap_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5011.175,
      "stop": 5020.39,
      "target": 4992.746,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.1,
        "bb_width_pct": 0.997
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T16-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5011.175,
      "stop": 5020.305,
      "target": 4992.915,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.1,
        "bb_width_pct": 0.997
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T16-05-00Z_short_vwap_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T16:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5008.89,
      "stop": 5016.818,
      "target": 4993.035,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.63,
        "bb_width_pct": 0.884
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T16-10-00Z_short_vwap_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T16:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5005.53,
      "stop": 5011.643,
      "target": 4993.303,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.07,
        "bb_width_pct": 0.677
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T16-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T16:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4998.22,
      "stop": 4993.363,
      "target": 5007.935,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.11,
        "bb_width_pct": 0.518
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T16-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T16:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4998.22,
      "stop": 4995.181,
      "target": 5004.298,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.11,
        "bb_width_pct": 0.518
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T16-35-00Z_short_vwap_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5003.24,
      "stop": 5007.85,
      "target": 4994.02,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 18.99,
        "bb_width_pct": 0.528
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T16-40-00Z_long_rsi_range_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T16:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5006.38,
      "stop": 5005.665,
      "target": 5007.809,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.91,
        "bb_width_pct": 0.524
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T16-45-00Z_short_vwap_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5004.07,
      "stop": 5008.91,
      "target": 4994.389,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.11,
        "bb_width_pct": 0.522
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T16-50-00Z_short_vwap_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T16:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5003.01,
      "stop": 5007.261,
      "target": 4994.508,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.66,
        "bb_width_pct": 0.509
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T16-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4995.15,
      "stop": 4988.844,
      "target": 5007.762,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.83,
        "bb_width_pct": 0.539
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T16-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4995.15,
      "stop": 4991.065,
      "target": 5003.32,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.83,
        "bb_width_pct": 0.539
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T17-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T17:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4995.365,
      "stop": 4989.453,
      "target": 5007.189,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.86,
        "bb_width_pct": 0.581
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T17-00-00Z_long_rsi_range_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T17:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4995.365,
      "stop": 4989.453,
      "target": 5007.189,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.86,
        "bb_width_pct": 0.581
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T17-05-00Z_long_rsi_range_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T17:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4996.37,
      "stop": 4991.453,
      "target": 5006.204,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.27,
        "bb_width_pct": 0.586
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T17-10-00Z_long_rsi_range_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T17:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4996.735,
      "stop": 4992.616,
      "target": 5004.973,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.68,
        "bb_width_pct": 0.538
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T17-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T17:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4995.42,
      "stop": 4992.873,
      "target": 5000.513,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.15,
        "bb_width_pct": 0.397
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T17-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T17:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4995.42,
      "stop": 4993.484,
      "target": 4999.293,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.15,
        "bb_width_pct": 0.397
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T17-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T17:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4991.445,
      "stop": 4987.789,
      "target": 4998.757,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.0,
        "bb_width_pct": 0.348
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T17-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T17:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4986.82,
      "stop": 4981.741,
      "target": 4996.977,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.17,
        "bb_width_pct": 0.383
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T18-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T18:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4986.96,
      "stop": 4982.275,
      "target": 4996.329,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.99,
        "bb_width_pct": 0.464
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T18-00-00Z_long_rsi_range_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T18:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4986.96,
      "stop": 4982.275,
      "target": 4996.329,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.99,
        "bb_width_pct": 0.464
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T18-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T18:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4986.96,
      "stop": 4979.134,
      "target": 5002.613,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.99,
        "bb_width_pct": 0.464
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T18-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T18:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4986.96,
      "stop": 4982.937,
      "target": 4995.005,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.99,
        "bb_width_pct": 0.464
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T18-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T18:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4983.03,
      "stop": 4976.76,
      "target": 4995.57,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.24,
        "bb_width_pct": 0.517
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T18-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T18:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4988.295,
      "stop": 4985.033,
      "target": 4994.819,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.17,
        "bb_width_pct": 0.511
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T18-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T18:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4988.295,
      "stop": 4981.913,
      "target": 5001.06,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.17,
        "bb_width_pct": 0.511
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T18-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T18:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4988.295,
      "stop": 4985.775,
      "target": 4993.334,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.17,
        "bb_width_pct": 0.511
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T18-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T18:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4983.91,
      "stop": 4979.647,
      "target": 4992.437,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.53,
        "bb_width_pct": 0.52
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T18-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T18:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4978.195,
      "stop": 4971.691,
      "target": 4991.202,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.03,
        "bb_width_pct": 0.538
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T18-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4980.905,
      "stop": 4976.309,
      "target": 4990.097,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.65,
        "bb_width_pct": 0.52
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T18-30-00Z_long_rsi_range_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4980.905,
      "stop": 4976.309,
      "target": 4990.097,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.65,
        "bb_width_pct": 0.52
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T18-30-00Z_long_vwap_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4980.905,
      "stop": 4976.423,
      "target": 4989.869,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.65,
        "bb_width_pct": 0.52
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T18-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4980.905,
      "stop": 4971.7,
      "target": 4999.315,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.65,
        "bb_width_pct": 0.52
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T18-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4980.905,
      "stop": 4976.816,
      "target": 4989.083,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.65,
        "bb_width_pct": 0.52
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T18-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T18:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4980.05,
      "stop": 4975.964,
      "target": 4988.223,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.59,
        "bb_width_pct": 0.54
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T18-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T18:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4981.76,
      "stop": 4973.191,
      "target": 4998.898,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.31,
        "bb_width_pct": 0.568
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T18-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T18:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4981.76,
      "stop": 4979.368,
      "target": 4986.545,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.31,
        "bb_width_pct": 0.568
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T18-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T18:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4983.415,
      "stop": 4975.674,
      "target": 4998.898,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.53,
        "bb_width_pct": 0.546
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T19-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T19:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4984.25,
      "stop": 4978.486,
      "target": 4995.778,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.15,
        "bb_width_pct": 0.448
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T19-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T19:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4980.735,
      "stop": 4977.949,
      "target": 4986.306,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.28,
        "bb_width_pct": 0.316
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T19-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T19:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4984.795,
      "stop": 4981.08,
      "target": 4992.225,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.54,
        "bb_width_pct": 0.312
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T19-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T19:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4984.795,
      "stop": 4984.111,
      "target": 4986.162,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.54,
        "bb_width_pct": 0.312
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T20-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T20:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4994.635,
      "stop": 4998.24,
      "target": 4987.425,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.7,
        "bb_width_pct": 0.301
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T20-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T20:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4995.81,
      "stop": 4999.651,
      "target": 4988.128,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.42,
        "bb_width_pct": 0.316
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T20-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T20:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4996.735,
      "stop": 5000.706,
      "target": 4988.794,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.85,
        "bb_width_pct": 0.337
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T21-00-00Z_short_rsi_range_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T21:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4999.755,
      "stop": 5003.114,
      "target": 4993.037,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 25.93,
        "bb_width_pct": 0.497
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T21-00-00Z_short_vwap_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T21:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4999.755,
      "stop": 5005.069,
      "target": 4989.127,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 25.93,
        "bb_width_pct": 0.497
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T21-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T21:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4999.755,
      "stop": 5004.894,
      "target": 4989.477,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 25.93,
        "bb_width_pct": 0.497
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T21-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T21:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4999.755,
      "stop": 5002.186,
      "target": 4994.894,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 25.93,
        "bb_width_pct": 0.497
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T21-05-00Z_short_rsi_range_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T21:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4998.8,
      "stop": 5001.444,
      "target": 4993.511,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 18.91,
        "bb_width_pct": 0.502
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T21-05-00Z_short_vwap_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T21:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4998.8,
      "stop": 5003.442,
      "target": 4989.515,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 18.91,
        "bb_width_pct": 0.502
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T21-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T21:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4998.8,
      "stop": 5003.291,
      "target": 4989.818,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.91,
        "bb_width_pct": 0.502
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T21-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T21:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4998.8,
      "stop": 5000.567,
      "target": 4995.266,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.91,
        "bb_width_pct": 0.502
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T21-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T21:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5000.29,
      "stop": 5002.359,
      "target": 4996.152,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.96,
        "bb_width_pct": 0.451
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T21-20-00Z_short_rsi_range_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T21:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4998.6,
      "stop": 5000.015,
      "target": 4995.77,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 8.7,
        "bb_width_pct": 0.412
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T21-20-00Z_short_vwap_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T21:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4998.6,
      "stop": 5002.652,
      "target": 4990.496,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.7,
        "bb_width_pct": 0.412
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T21-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T21:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4998.6,
      "stop": 5002.991,
      "target": 4989.818,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.7,
        "bb_width_pct": 0.412
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T21-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T21:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4994.415,
      "stop": 4996.714,
      "target": 4989.818,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 16.08,
        "bb_width_pct": 0.21
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T21-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T21:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4996.49,
      "stop": 4995.635,
      "target": 4998.2,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.06,
        "bb_width_pct": 0.2
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T23-10-00Z_short_vwap_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4998.79,
      "stop": 5001.955,
      "target": 4992.461,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.02,
        "bb_width_pct": 0.213
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T23-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4998.79,
      "stop": 5001.544,
      "target": 4993.282,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.02,
        "bb_width_pct": 0.213
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T23-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4998.79,
      "stop": 4999.277,
      "target": 4997.816,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.02,
        "bb_width_pct": 0.213
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T23-20-00Z_short_vwap_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T23:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5000.185,
      "stop": 5003.864,
      "target": 4992.826,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.16,
        "bb_width_pct": 0.215
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-19T23-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T23:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4987.795,
      "stop": 4983.348,
      "target": 4996.69,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.31,
        "bb_width_pct": 0.282
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T00-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4993.615,
      "stop": 4991.779,
      "target": 4997.287,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.47,
        "bb_width_pct": 0.289
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T00-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4993.615,
      "stop": 4992.827,
      "target": 4995.19,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 3.47,
        "bb_width_pct": 0.289
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T00-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4993.615,
      "stop": 4992.224,
      "target": 4996.397,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.47,
        "bb_width_pct": 0.289
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T00-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T00:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4990.77,
      "stop": 4987.877,
      "target": 4996.557,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.25,
        "bb_width_pct": 0.321
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T00-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T00:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4993.185,
      "stop": 4991.892,
      "target": 4995.771,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.55,
        "bb_width_pct": 0.349
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T00-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T00:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4993.185,
      "stop": 4991.359,
      "target": 4996.837,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.55,
        "bb_width_pct": 0.349
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T01-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T01:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5009.115,
      "stop": 5014.805,
      "target": 4997.735,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.77,
        "bb_width_pct": 0.612
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T01-15-00Z_short_rsi_range_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T01:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5009.115,
      "stop": 5014.805,
      "target": 4997.735,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 22.77,
        "bb_width_pct": 0.612
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T01-15-00Z_short_vwap_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T01:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5009.115,
      "stop": 5014.429,
      "target": 4998.488,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 22.77,
        "bb_width_pct": 0.612
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T01-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T01:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5009.115,
      "stop": 5013.597,
      "target": 5000.15,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 22.77,
        "bb_width_pct": 0.612
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T01-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T01:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5002.53,
      "stop": 5003.72,
      "target": 5000.15,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.96,
        "bb_width_pct": 0.617
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T01-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T01:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5002.53,
      "stop": 5003.233,
      "target": 5001.124,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.96,
        "bb_width_pct": 0.617
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T02-20-00Z_long_rsi_range_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T02:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4997.08,
      "stop": 4994.78,
      "target": 5001.681,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.55,
        "bb_width_pct": 0.43
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T02-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T02:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4996.29,
      "stop": 4995.208,
      "target": 4998.455,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.31,
        "bb_width_pct": 0.2
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T03-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T03:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4993.64,
      "stop": 4991.567,
      "target": 4997.787,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.08,
        "bb_width_pct": 0.205
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T03-10-00Z_long_rsi_range_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T03:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4994.44,
      "stop": 4992.902,
      "target": 4997.516,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.01,
        "bb_width_pct": 0.209
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T03-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T03:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4995.44,
      "stop": 4995.217,
      "target": 4995.887,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.94,
        "bb_width_pct": 0.22
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T03-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T03:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4995.44,
      "stop": 4994.026,
      "target": 4998.267,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.94,
        "bb_width_pct": 0.22
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T03-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T03:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4995.44,
      "stop": 4995.241,
      "target": 4995.838,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.94,
        "bb_width_pct": 0.22
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T04-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T04:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4991.67,
      "stop": 4989.96,
      "target": 4995.09,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.9,
        "bb_width_pct": 0.263
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T04-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4999.08,
      "stop": 5001.686,
      "target": 4993.868,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.77,
        "bb_width_pct": 0.232
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T04-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4999.08,
      "stop": 5001.299,
      "target": 4994.642,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.77,
        "bb_width_pct": 0.232
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T05-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5001.105,
      "stop": 5004.047,
      "target": 4995.221,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.66,
        "bb_width_pct": 0.339
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T05-05-00Z_short_rsi_range_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5001.105,
      "stop": 5004.047,
      "target": 4995.221,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 19.66,
        "bb_width_pct": 0.339
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T05-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5001.105,
      "stop": 5004.32,
      "target": 4994.675,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 19.66,
        "bb_width_pct": 0.339
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T05-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5001.105,
      "stop": 5003.171,
      "target": 4996.973,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.66,
        "bb_width_pct": 0.339
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T05-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5001.3,
      "stop": 5003.258,
      "target": 4997.385,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.45,
        "bb_width_pct": 0.356
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T05-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5003.195,
      "stop": 5005.225,
      "target": 4999.136,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.25,
        "bb_width_pct": 0.34
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T05-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4999.43,
      "stop": 5002.234,
      "target": 4993.823,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.12,
        "bb_width_pct": 0.322
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T05-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T05:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5006.8,
      "stop": 5010.735,
      "target": 4998.93,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.4,
        "bb_width_pct": 0.334
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T05-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5007.5,
      "stop": 5011.414,
      "target": 4999.672,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.17,
        "bb_width_pct": 0.344
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T06-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5013.17,
      "stop": 5018.365,
      "target": 5002.78,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.22,
        "bb_width_pct": 0.437
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T06-05-00Z_short_vwap_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5013.17,
      "stop": 5020.552,
      "target": 4998.407,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.22,
        "bb_width_pct": 0.437
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T06-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5013.17,
      "stop": 5019.909,
      "target": 4999.693,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.22,
        "bb_width_pct": 0.437
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T06-50-00Z_short_rsi_range_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T06:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5025.715,
      "stop": 5031.693,
      "target": 5013.76,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 26.98,
        "bb_width_pct": 0.814
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T06-50-00Z_short_vwap_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T06:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5025.715,
      "stop": 5038.009,
      "target": 5001.128,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 26.98,
        "bb_width_pct": 0.814
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T06-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T06:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5025.715,
      "stop": 5035.673,
      "target": 5005.8,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 26.98,
        "bb_width_pct": 0.814
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T06-55-00Z_short_rsi_range_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T06:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5020.79,
      "stop": 5023.769,
      "target": 5014.831,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 19.97,
        "bb_width_pct": 0.778
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T06-55-00Z_short_vwap_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T06:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5020.79,
      "stop": 5030.495,
      "target": 5001.38,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 19.97,
        "bb_width_pct": 0.778
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T06-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T06:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5020.79,
      "stop": 5028.231,
      "target": 5005.908,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 19.97,
        "bb_width_pct": 0.778
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T06-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T06:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5020.79,
      "stop": 5022.866,
      "target": 5016.639,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.97,
        "bb_width_pct": 0.778
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T07-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T07:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5022.735,
      "stop": 5029.826,
      "target": 5008.552,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.37,
        "bb_width_pct": 0.671
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T07-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T07:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5022.735,
      "stop": 5024.922,
      "target": 5018.361,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.37,
        "bb_width_pct": 0.671
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T07-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T07:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5012.25,
      "stop": 5008.121,
      "target": 5020.508,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.43,
        "bb_width_pct": 0.411
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T08-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5015.09,
      "stop": 5012.827,
      "target": 5019.617,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.24,
        "bb_width_pct": 0.48
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T08-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5015.09,
      "stop": 5014.837,
      "target": 5015.596,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.24,
        "bb_width_pct": 0.48
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T08-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T08:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5012.37,
      "stop": 5009.437,
      "target": 5018.237,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.56,
        "bb_width_pct": 0.524
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T08-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T08:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5012.37,
      "stop": 5011.279,
      "target": 5014.552,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.56,
        "bb_width_pct": 0.524
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T08-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5026.0,
      "stop": 5030.756,
      "target": 5016.487,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.05,
        "bb_width_pct": 0.415
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T08-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T08:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5022.69,
      "stop": 5027.02,
      "target": 5014.03,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.89,
        "bb_width_pct": 0.421
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T08-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T08:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5022.69,
      "stop": 5025.45,
      "target": 5017.169,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.89,
        "bb_width_pct": 0.421
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T08-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T08:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5028.995,
      "stop": 5034.824,
      "target": 5017.337,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.12,
        "bb_width_pct": 0.514
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T08-55-00Z_short_vwap_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T08:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5028.995,
      "stop": 5034.503,
      "target": 5017.979,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 21.12,
        "bb_width_pct": 0.514
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T08-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T08:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5028.995,
      "stop": 5036.361,
      "target": 5014.262,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 21.12,
        "bb_width_pct": 0.514
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T09-25-00Z_short_rsi_range_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T09:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5034.22,
      "stop": 5039.318,
      "target": 5024.024,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 25.44,
        "bb_width_pct": 0.859
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T09-25-00Z_short_vwap_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T09:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5034.22,
      "stop": 5040.439,
      "target": 5021.782,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 25.44,
        "bb_width_pct": 0.859
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T09-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T09:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5034.22,
      "stop": 5039.403,
      "target": 5023.855,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 25.44,
        "bb_width_pct": 0.859
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T09-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T09:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5034.22,
      "stop": 5037.406,
      "target": 5027.848,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 25.44,
        "bb_width_pct": 0.859
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T09-35-00Z_short_vwap_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5031.54,
      "stop": 5036.064,
      "target": 5022.492,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.39,
        "bb_width_pct": 0.786
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T09-50-00Z_short_vwap_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T09:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5031.28,
      "stop": 5035.242,
      "target": 5023.357,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 9.3,
        "bb_width_pct": 0.607
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T10-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T10:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5026.07,
      "stop": 5023.473,
      "target": 5031.263,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.34,
        "bb_width_pct": 0.413
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T10-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T10:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5026.07,
      "stop": 5024.867,
      "target": 5028.477,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.34,
        "bb_width_pct": 0.413
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T10-15-00Z_long_rsi_range_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T10:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5029.78,
      "stop": 5028.944,
      "target": 5031.452,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.17,
        "bb_width_pct": 0.403
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T10-25-00Z_long_rsi_range_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T10:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5026.63,
      "stop": 5024.091,
      "target": 5031.708,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.17,
        "bb_width_pct": 0.375
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T10-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T10:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5033.805,
      "stop": 5038.78,
      "target": 5023.855,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.48,
        "bb_width_pct": 0.379
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T10-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T10:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5033.805,
      "stop": 5035.765,
      "target": 5029.885,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.48,
        "bb_width_pct": 0.379
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T11-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T11:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5027.35,
      "stop": 5025.761,
      "target": 5030.529,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.03,
        "bb_width_pct": 0.274
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T11-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T11:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5027.35,
      "stop": 5025.907,
      "target": 5030.235,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.03,
        "bb_width_pct": 0.274
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T11-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T11:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5022.36,
      "stop": 5018.797,
      "target": 5029.485,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.42,
        "bb_width_pct": 0.295
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T12-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5020.69,
      "stop": 5016.427,
      "target": 5029.216,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.08,
        "bb_width_pct": 0.426
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T12-00-00Z_long_rsi_range_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5020.69,
      "stop": 5016.427,
      "target": 5029.216,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.08,
        "bb_width_pct": 0.426
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T12-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5020.69,
      "stop": 5016.454,
      "target": 5029.163,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 19.08,
        "bb_width_pct": 0.426
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T12-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5020.69,
      "stop": 5017.586,
      "target": 5026.898,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.08,
        "bb_width_pct": 0.426
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T12-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T12:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5023.31,
      "stop": 5021.687,
      "target": 5026.556,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.0,
        "bb_width_pct": 0.436
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T12-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T12:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5015.805,
      "stop": 5010.331,
      "target": 5026.754,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.92,
        "bb_width_pct": 0.47
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T12-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T12:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5015.805,
      "stop": 5011.39,
      "target": 5024.635,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.92,
        "bb_width_pct": 0.47
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T12-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T12:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5021.155,
      "stop": 5019.143,
      "target": 5025.179,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.89,
        "bb_width_pct": 0.506
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T12-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T12:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5021.155,
      "stop": 5018.115,
      "target": 5027.235,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.89,
        "bb_width_pct": 0.506
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T12-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T12:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5021.155,
      "stop": 5020.113,
      "target": 5023.238,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.89,
        "bb_width_pct": 0.506
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T13-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T13:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5043.48,
      "stop": 5051.449,
      "target": 5027.543,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 24.84,
        "bb_width_pct": 0.643
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T13-55-00Z_short_rsi_range_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T13:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5043.48,
      "stop": 5051.449,
      "target": 5027.543,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 24.84,
        "bb_width_pct": 0.643
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T13-55-00Z_short_vwap_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T13:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5043.48,
      "stop": 5052.217,
      "target": 5026.005,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 24.84,
        "bb_width_pct": 0.643
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T13-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T13:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5043.48,
      "stop": 5051.309,
      "target": 5027.823,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 24.84,
        "bb_width_pct": 0.643
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T14-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5040.415,
      "stop": 5046.236,
      "target": 5028.773,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.1,
        "bb_width_pct": 0.642
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T14-00-00Z_short_rsi_range_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5040.415,
      "stop": 5046.236,
      "target": 5028.773,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 17.1,
        "bb_width_pct": 0.642
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T14-00-00Z_short_vwap_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5040.415,
      "stop": 5047.303,
      "target": 5026.638,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 17.1,
        "bb_width_pct": 0.642
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T14-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5040.415,
      "stop": 5046.58,
      "target": 5028.085,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.1,
        "bb_width_pct": 0.642
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T14-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5040.415,
      "stop": 5044.78,
      "target": 5031.685,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.1,
        "bb_width_pct": 0.642
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T14-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T14:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5045.2,
      "stop": 5052.59,
      "target": 5030.42,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.81,
        "bb_width_pct": 0.627
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T14-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T14:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5042.975,
      "stop": 5048.707,
      "target": 5031.511,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.03,
        "bb_width_pct": 0.639
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T14-10-00Z_short_vwap_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T14:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5042.975,
      "stop": 5050.527,
      "target": 5027.871,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 17.03,
        "bb_width_pct": 0.639
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T14-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T14:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5042.975,
      "stop": 5050.42,
      "target": 5028.085,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.03,
        "bb_width_pct": 0.639
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T14-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T14:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5042.975,
      "stop": 5047.5,
      "target": 5033.925,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.03,
        "bb_width_pct": 0.639
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T14-15-00Z_short_vwap_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T14:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5042.46,
      "stop": 5049.484,
      "target": 5028.412,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 17.65,
        "bb_width_pct": 0.645
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T14-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T14:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5042.46,
      "stop": 5049.648,
      "target": 5028.085,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.65,
        "bb_width_pct": 0.645
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T14-20-00Z_short_vwap_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T14:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5041.835,
      "stop": 5048.31,
      "target": 5028.886,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.83,
        "bb_width_pct": 0.65
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T14-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T14:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5041.835,
      "stop": 5048.71,
      "target": 5028.085,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.83,
        "bb_width_pct": 0.65
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T14-25-00Z_short_vwap_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T14:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5041.72,
      "stop": 5047.935,
      "target": 5029.29,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.83,
        "bb_width_pct": 0.634
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T14-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5046.79,
      "stop": 5052.437,
      "target": 5035.497,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.39,
        "bb_width_pct": 0.631
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T14-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5046.79,
      "stop": 5051.665,
      "target": 5037.04,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.39,
        "bb_width_pct": 0.631
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T14-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T14:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5047.67,
      "stop": 5052.479,
      "target": 5038.053,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.63,
        "bb_width_pct": 0.635
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T14-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T14:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5057.685,
      "stop": 5066.824,
      "target": 5039.407,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 24.74,
        "bb_width_pct": 0.726
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T14-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T14:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5058.895,
      "stop": 5067.801,
      "target": 5041.083,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.3,
        "bb_width_pct": 0.753
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T14-55-00Z_short_vwap_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T14:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5054.495,
      "stop": 5065.201,
      "target": 5033.083,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.1,
        "bb_width_pct": 0.755
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T14-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T14:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5054.495,
      "stop": 5064.757,
      "target": 5033.97,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.1,
        "bb_width_pct": 0.755
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T14-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T14:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5054.495,
      "stop": 5059.738,
      "target": 5044.009,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.1,
        "bb_width_pct": 0.755
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T15-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T15:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5027.125,
      "stop": 5019.603,
      "target": 5042.169,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.91,
        "bb_width_pct": 0.774
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T15-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T15:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5027.125,
      "stop": 5019.487,
      "target": 5042.401,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.91,
        "bb_width_pct": 0.774
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T15-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T15:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5022.1,
      "stop": 5012.225,
      "target": 5041.851,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.95,
        "bb_width_pct": 0.816
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T15-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T15:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5022.1,
      "stop": 5012.916,
      "target": 5040.467,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.95,
        "bb_width_pct": 0.816
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T15-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T15:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5022.415,
      "stop": 5012.742,
      "target": 5041.76,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.57,
        "bb_width_pct": 0.829
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T15-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T15:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5022.415,
      "stop": 5014.248,
      "target": 5038.748,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.57,
        "bb_width_pct": 0.829
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T15-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T15:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5035.955,
      "stop": 5032.884,
      "target": 5042.097,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.3,
        "bb_width_pct": 0.805
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T15-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T15:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5025.87,
      "stop": 5018.3,
      "target": 5041.01,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.88,
        "bb_width_pct": 0.885
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T16-15-00Z_short_rsi_range_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T16:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5049.775,
      "stop": 5054.18,
      "target": 5040.964,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 14.1,
        "bb_width_pct": 0.973
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T16-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T16:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5049.775,
      "stop": 5060.934,
      "target": 5027.458,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.1,
        "bb_width_pct": 0.973
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T16-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5064.65,
      "stop": 5076.164,
      "target": 5041.622,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 24.59,
        "bb_width_pct": 1.066
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T16-35-00Z_short_rsi_range_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5064.65,
      "stop": 5076.164,
      "target": 5041.622,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 24.59,
        "bb_width_pct": 1.066
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T16-35-00Z_short_vwap_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5064.65,
      "stop": 5079.145,
      "target": 5035.66,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 24.59,
        "bb_width_pct": 1.066
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T16-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5064.65,
      "stop": 5081.96,
      "target": 5030.03,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 24.59,
        "bb_width_pct": 1.066
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T16-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5064.65,
      "stop": 5073.023,
      "target": 5047.904,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 24.59,
        "bb_width_pct": 1.066
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T16-40-00Z_short_rsi_range_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T16:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5063.12,
      "stop": 5072.969,
      "target": 5043.422,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 17.57,
        "bb_width_pct": 1.093
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T16-40-00Z_short_vwap_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T16:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5063.12,
      "stop": 5076.613,
      "target": 5036.134,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 17.57,
        "bb_width_pct": 1.093
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T16-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T16:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5063.12,
      "stop": 5079.665,
      "target": 5030.03,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.57,
        "bb_width_pct": 1.093
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T16-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5064.96,
      "stop": 5072.02,
      "target": 5050.839,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.22,
        "bb_width_pct": 1.08
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T16-50-00Z_short_rsi_range_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T16:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5064.185,
      "stop": 5072.451,
      "target": 5047.654,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 13.45,
        "bb_width_pct": 1.039
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T16-50-00Z_short_vwap_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T16:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5064.185,
      "stop": 5077.725,
      "target": 5037.104,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.45,
        "bb_width_pct": 1.039
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T16-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T16:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5064.185,
      "stop": 5081.263,
      "target": 5030.03,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.45,
        "bb_width_pct": 1.039
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T16-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T16:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5064.185,
      "stop": 5070.222,
      "target": 5052.11,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.45,
        "bb_width_pct": 1.039
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T16-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5066.765,
      "stop": 5073.395,
      "target": 5053.506,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.37,
        "bb_width_pct": 1.065
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T17-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T17:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5066.86,
      "stop": 5072.901,
      "target": 5054.778,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.39,
        "bb_width_pct": 1.005
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T17-10-00Z_short_rsi_range_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T17:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5066.945,
      "stop": 5072.596,
      "target": 5055.644,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 15.67,
        "bb_width_pct": 0.823
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T17-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T17:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5066.945,
      "stop": 5084.657,
      "target": 5031.52,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.67,
        "bb_width_pct": 0.823
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T17-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T17:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5066.945,
      "stop": 5071.754,
      "target": 5057.327,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.67,
        "bb_width_pct": 0.823
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T17-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T17:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5061.02,
      "stop": 5075.486,
      "target": 5032.087,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.1,
        "bb_width_pct": 0.749
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T17-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T17:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5055.78,
      "stop": 5067.626,
      "target": 5032.087,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.57,
        "bb_width_pct": 0.72
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T17-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T17:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5073.12,
      "stop": 5092.917,
      "target": 5033.525,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.05,
        "bb_width_pct": 0.48
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T17-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T17:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5073.12,
      "stop": 5077.708,
      "target": 5063.945,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.05,
        "bb_width_pct": 0.48
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T18-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T18:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5071.4,
      "stop": 5090.337,
      "target": 5033.525,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.45,
        "bb_width_pct": 0.418
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T18-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T18:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5071.4,
      "stop": 5074.773,
      "target": 5064.655,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.45,
        "bb_width_pct": 0.418
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T18-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T18:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5070.565,
      "stop": 5089.085,
      "target": 5033.525,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.38,
        "bb_width_pct": 0.359
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T18-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T18:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5069.82,
      "stop": 5087.967,
      "target": 5033.525,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.32,
        "bb_width_pct": 0.362
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T18-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T18:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5066.09,
      "stop": 5082.373,
      "target": 5033.525,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.06,
        "bb_width_pct": 0.36
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T18-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T18:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5058.465,
      "stop": 5054.067,
      "target": 5067.261,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.05,
        "bb_width_pct": 0.385
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T18-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T18:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5058.465,
      "stop": 5066.4,
      "target": 5042.595,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.05,
        "bb_width_pct": 0.385
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T18-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T18:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5058.465,
      "stop": 5055.018,
      "target": 5065.359,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.05,
        "bb_width_pct": 0.385
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T18-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5065.4,
      "stop": 5064.439,
      "target": 5067.322,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.36,
        "bb_width_pct": 0.383
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T18-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T18:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5066.835,
      "stop": 5078.254,
      "target": 5043.997,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.19,
        "bb_width_pct": 0.388
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T18-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T18:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5071.56,
      "stop": 5083.38,
      "target": 5047.92,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.21,
        "bb_width_pct": 0.399
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T18-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T18:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5071.52,
      "stop": 5081.306,
      "target": 5051.948,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.73,
        "bb_width_pct": 0.383
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T19-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T19:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5071.56,
      "stop": 5079.086,
      "target": 5056.507,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.16,
        "bb_width_pct": 0.302
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T19-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T19:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5073.015,
      "stop": 5080.698,
      "target": 5057.65,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.8,
        "bb_width_pct": 0.295
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T19-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T19:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5069.625,
      "stop": 5074.001,
      "target": 5060.872,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.14,
        "bb_width_pct": 0.289
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T19-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T19:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5072.715,
      "stop": 5076.74,
      "target": 5064.665,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.95,
        "bb_width_pct": 0.282
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T19-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T19:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5079.265,
      "stop": 5083.271,
      "target": 5071.253,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.57,
        "bb_width_pct": 0.322
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T20-00-00Z_short_vwap_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T20:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5078.15,
      "stop": 5082.315,
      "target": 5069.819,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.11,
        "bb_width_pct": 0.341
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T20-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T20:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5078.15,
      "stop": 5083.825,
      "target": 5066.8,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.11,
        "bb_width_pct": 0.341
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T20-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T20:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5079.645,
      "stop": 5082.731,
      "target": 5073.472,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.15,
        "bb_width_pct": 0.269
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T20-10-00Z_short_vwap_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T20:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5079.645,
      "stop": 5084.309,
      "target": 5070.317,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 16.15,
        "bb_width_pct": 0.269
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T20-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T20:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5079.645,
      "stop": 5085.648,
      "target": 5067.64,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 16.15,
        "bb_width_pct": 0.269
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T20-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T20:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5084.945,
      "stop": 5089.588,
      "target": 5075.659,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 24.57,
        "bb_width_pct": 0.382
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T20-25-00Z_short_rsi_range_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T20:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5084.945,
      "stop": 5089.588,
      "target": 5075.659,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 24.57,
        "bb_width_pct": 0.382
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T20-25-00Z_short_vwap_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T20:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5084.945,
      "stop": 5091.768,
      "target": 5071.3,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 24.57,
        "bb_width_pct": 0.382
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T20-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T20:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5084.945,
      "stop": 5092.354,
      "target": 5070.128,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 24.57,
        "bb_width_pct": 0.382
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T20-40-00Z_short_rsi_range_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5084.995,
      "stop": 5088.665,
      "target": 5077.655,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 24.87,
        "bb_width_pct": 0.437
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T20-40-00Z_short_vwap_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5084.995,
      "stop": 5091.381,
      "target": 5072.223,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 24.87,
        "bb_width_pct": 0.437
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T20-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5084.995,
      "stop": 5092.194,
      "target": 5070.597,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 24.87,
        "bb_width_pct": 0.437
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T20-45-00Z_short_rsi_range_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T20:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5084.38,
      "stop": 5087.422,
      "target": 5078.296,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 20.94,
        "bb_width_pct": 0.437
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T20-45-00Z_short_vwap_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T20:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5084.38,
      "stop": 5090.321,
      "target": 5072.499,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 20.94,
        "bb_width_pct": 0.437
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T20-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T20:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5084.38,
      "stop": 5091.271,
      "target": 5070.597,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 20.94,
        "bb_width_pct": 0.437
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T20-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T20:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5084.38,
      "stop": 5086.878,
      "target": 5079.383,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.94,
        "bb_width_pct": 0.437
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T21-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T21:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5095.33,
      "stop": 5102.309,
      "target": 5081.373,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 24.94,
        "bb_width_pct": 0.575
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T21-00-00Z_short_rsi_range_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T21:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5095.33,
      "stop": 5102.309,
      "target": 5081.373,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 24.94,
        "bb_width_pct": 0.575
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T21-00-00Z_short_vwap_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T21:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5095.33,
      "stop": 5127.242,
      "target": 5031.505,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 24.94,
        "bb_width_pct": 0.575
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T21-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T21:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5095.33,
      "stop": 5104.994,
      "target": 5076.003,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 24.94,
        "bb_width_pct": 0.575
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T21-05-00Z_short_rsi_range_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T21:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5093.535,
      "stop": 5099.018,
      "target": 5082.568,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 23.8,
        "bb_width_pct": 0.57
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T21-05-00Z_short_vwap_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T21:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5093.535,
      "stop": 5123.35,
      "target": 5033.905,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 23.8,
        "bb_width_pct": 0.57
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T21-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T21:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5093.535,
      "stop": 5102.07,
      "target": 5076.465,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 23.8,
        "bb_width_pct": 0.57
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T21-40-00Z_short_rsi_range_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T21:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5099.535,
      "stop": 5104.181,
      "target": 5090.243,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 23.07,
        "bb_width_pct": 0.513
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T21-40-00Z_short_vwap_mean_reversion",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T21:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5099.535,
      "stop": 5125.7,
      "target": 5047.205,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 23.07,
        "bb_width_pct": 0.513
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-20T21-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T21:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5099.535,
      "stop": 5110.804,
      "target": 5076.997,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 23.07,
        "bb_width_pct": 0.513
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T00-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5149.95,
      "stop": 5162.212,
      "target": 5125.425,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.95,
        "bb_width_pct": 1.072
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T00-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5149.95,
      "stop": 5154.782,
      "target": 5140.286,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.95,
        "bb_width_pct": 1.072
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T01-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5157.2,
      "stop": 5169.749,
      "target": 5132.102,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.82,
        "bb_width_pct": 0.618
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T01-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5157.2,
      "stop": 5161.836,
      "target": 5147.928,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.82,
        "bb_width_pct": 0.618
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T01-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T01:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5158.47,
      "stop": 5163.239,
      "target": 5148.932,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.49,
        "bb_width_pct": 0.567
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T01-45-00Z_short_vwap_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T01:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5164.32,
      "stop": 5171.78,
      "target": 5149.399,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 21.63,
        "bb_width_pct": 0.69
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T01-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T01:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5164.32,
      "stop": 5178.972,
      "target": 5135.015,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 21.63,
        "bb_width_pct": 0.69
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T01-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T01:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5156.9,
      "stop": 5167.842,
      "target": 5135.015,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.33,
        "bb_width_pct": 0.671
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T01-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T01:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5156.9,
      "stop": 5159.176,
      "target": 5152.348,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.33,
        "bb_width_pct": 0.671
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T02-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T02:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5165.84,
      "stop": 5171.259,
      "target": 5155.002,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.31,
        "bb_width_pct": 0.637
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T02-10-00Z_short_vwap_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T02:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5160.555,
      "stop": 5165.032,
      "target": 5151.602,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.19,
        "bb_width_pct": 0.644
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T02-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T02:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5160.555,
      "stop": 5172.06,
      "target": 5137.545,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.19,
        "bb_width_pct": 0.644
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T02-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T02:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5159.495,
      "stop": 5166.71,
      "target": 5145.065,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.67,
        "bb_width_pct": 0.628
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T02-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T02:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5159.495,
      "stop": 5161.288,
      "target": 5155.908,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.67,
        "bb_width_pct": 0.628
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T02-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5171.13,
      "stop": 5176.036,
      "target": 5161.318,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.38,
        "bb_width_pct": 0.473
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T02-45-00Z_short_vwap_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5171.13,
      "stop": 5179.435,
      "target": 5154.519,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.38,
        "bb_width_pct": 0.473
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T02-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5171.13,
      "stop": 5180.055,
      "target": 5153.28,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.38,
        "bb_width_pct": 0.473
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T02-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5171.13,
      "stop": 5176.121,
      "target": 5161.149,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.38,
        "bb_width_pct": 0.473
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T03-00-00Z_short_rsi_range_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5172.49,
      "stop": 5176.508,
      "target": 5164.455,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 18.39,
        "bb_width_pct": 0.457
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T03-00-00Z_short_vwap_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5172.49,
      "stop": 5180.75,
      "target": 5155.97,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 18.39,
        "bb_width_pct": 0.457
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T03-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5172.49,
      "stop": 5182.095,
      "target": 5153.28,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.39,
        "bb_width_pct": 0.457
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T03-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5172.49,
      "stop": 5176.595,
      "target": 5164.281,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.39,
        "bb_width_pct": 0.457
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T03-05-00Z_short_vwap_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T03:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5165.075,
      "stop": 5169.47,
      "target": 5156.285,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 1.5,
        "bb_width_pct": 0.448
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T03-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T03:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5165.075,
      "stop": 5170.972,
      "target": 5153.28,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.5,
        "bb_width_pct": 0.448
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T03-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T03:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5165.075,
      "stop": 5165.434,
      "target": 5164.356,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.5,
        "bb_width_pct": 0.448
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T03-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T03:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5158.36,
      "stop": 5155.14,
      "target": 5164.801,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.69,
        "bb_width_pct": 0.443
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T03-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T03:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5158.36,
      "stop": 5155.647,
      "target": 5163.785,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.69,
        "bb_width_pct": 0.443
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T03-40-00Z_short_vwap_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T03:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5168.735,
      "stop": 5174.428,
      "target": 5157.35,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.06,
        "bb_width_pct": 0.426
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T03-55-00Z_short_vwap_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T03:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5166.85,
      "stop": 5171.227,
      "target": 5158.096,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.19,
        "bb_width_pct": 0.408
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T03-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T03:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5166.85,
      "stop": 5172.275,
      "target": 5156.0,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.19,
        "bb_width_pct": 0.408
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T04-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5156.02,
      "stop": 5150.662,
      "target": 5166.737,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.05,
        "bb_width_pct": 0.427
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T05-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5156.2,
      "stop": 5153.044,
      "target": 5162.512,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.01,
        "bb_width_pct": 0.359
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T05-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5156.2,
      "stop": 5152.119,
      "target": 5164.362,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.01,
        "bb_width_pct": 0.359
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T05-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5156.2,
      "stop": 5153.878,
      "target": 5160.844,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.01,
        "bb_width_pct": 0.359
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T05-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5158.56,
      "stop": 5155.659,
      "target": 5164.362,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 3.78,
        "bb_width_pct": 0.357
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T05-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5154.595,
      "stop": 5152.104,
      "target": 5159.577,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.67,
        "bb_width_pct": 0.347
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T05-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5158.085,
      "stop": 5154.946,
      "target": 5164.362,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.49,
        "bb_width_pct": 0.305
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T05-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5157.265,
      "stop": 5153.716,
      "target": 5164.362,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 3.57,
        "bb_width_pct": 0.223
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T06-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5156.07,
      "stop": 5155.463,
      "target": 5157.283,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.94,
        "bb_width_pct": 0.174
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T06-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5156.07,
      "stop": 5153.199,
      "target": 5161.812,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 3.94,
        "bb_width_pct": 0.174
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T06-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5156.07,
      "stop": 5155.107,
      "target": 5157.996,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.94,
        "bb_width_pct": 0.174
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T06-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5154.46,
      "stop": 5153.211,
      "target": 5156.959,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.55,
        "bb_width_pct": 0.168
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T06-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T06:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5152.18,
      "stop": 5150.057,
      "target": 5156.427,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.52,
        "bb_width_pct": 0.233
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T06-45-00Z_long_vwap_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T06:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5152.18,
      "stop": 5149.233,
      "target": 5158.074,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.52,
        "bb_width_pct": 0.233
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T06-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T06:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5152.18,
      "stop": 5148.558,
      "target": 5159.425,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.52,
        "bb_width_pct": 0.233
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T06-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T06:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5152.18,
      "stop": 5150.103,
      "target": 5156.335,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.52,
        "bb_width_pct": 0.233
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T07-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T07:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5150.865,
      "stop": 5149.097,
      "target": 5154.401,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.33,
        "bb_width_pct": 0.405
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T07-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T07:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5150.865,
      "stop": 5148.507,
      "target": 5155.58,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.33,
        "bb_width_pct": 0.405
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T07-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T07:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5150.865,
      "stop": 5149.755,
      "target": 5153.085,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.33,
        "bb_width_pct": 0.405
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T07-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T07:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5132.76,
      "stop": 5124.704,
      "target": 5148.872,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.18,
        "bb_width_pct": 0.69
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T07-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T07:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5132.76,
      "stop": 5126.698,
      "target": 5144.885,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 21.18,
        "bb_width_pct": 0.69
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T07-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T07:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5136.935,
      "stop": 5132.782,
      "target": 5145.241,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.86,
        "bb_width_pct": 0.691
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T08-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5134.605,
      "stop": 5130.775,
      "target": 5142.265,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.95,
        "bb_width_pct": 0.593
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T08-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5130.985,
      "stop": 5127.794,
      "target": 5137.367,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.84,
        "bb_width_pct": 0.481
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T08-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5130.985,
      "stop": 5125.484,
      "target": 5141.988,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.84,
        "bb_width_pct": 0.481
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T08-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5130.985,
      "stop": 5127.638,
      "target": 5137.679,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.84,
        "bb_width_pct": 0.481
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T08-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5127.365,
      "stop": 5122.699,
      "target": 5136.697,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.06,
        "bb_width_pct": 0.484
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T08-40-00Z_long_vwap_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T08:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5128.225,
      "stop": 5124.267,
      "target": 5136.142,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.4,
        "bb_width_pct": 0.498
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T08-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T08:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5128.225,
      "stop": 5121.344,
      "target": 5141.988,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.4,
        "bb_width_pct": 0.498
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T08-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T08:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5128.225,
      "stop": 5124.393,
      "target": 5135.89,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.4,
        "bb_width_pct": 0.498
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T08-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T08:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5133.84,
      "stop": 5129.766,
      "target": 5141.988,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 3.77,
        "bb_width_pct": 0.42
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T09-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T09:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5144.17,
      "stop": 5148.845,
      "target": 5134.82,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.14,
        "bb_width_pct": 0.385
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T09-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T09:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5145.865,
      "stop": 5151.014,
      "target": 5135.567,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.97,
        "bb_width_pct": 0.421
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T09-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T09:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5146.025,
      "stop": 5149.487,
      "target": 5139.102,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.73,
        "bb_width_pct": 0.453
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T09-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T09:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5146.63,
      "stop": 5150.036,
      "target": 5139.819,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.95,
        "bb_width_pct": 0.486
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T09-35-00Z_short_rsi_range_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5145.6,
      "stop": 5149.253,
      "target": 5138.295,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 22.14,
        "bb_width_pct": 0.572
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T09-35-00Z_short_vwap_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5145.6,
      "stop": 5149.134,
      "target": 5138.533,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 22.14,
        "bb_width_pct": 0.572
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T09-50-00Z_short_rsi_range_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T09:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5147.13,
      "stop": 5150.761,
      "target": 5139.868,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 22.5,
        "bb_width_pct": 0.615
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T09-50-00Z_short_vwap_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T09:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5147.13,
      "stop": 5151.088,
      "target": 5139.214,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 22.5,
        "bb_width_pct": 0.615
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T09-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T09:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5149.5,
      "stop": 5152.369,
      "target": 5143.762,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.83,
        "bb_width_pct": 0.633
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T10-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T10:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5147.73,
      "stop": 5152.446,
      "target": 5138.298,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.84,
        "bb_width_pct": 0.552
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T10-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T10:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5147.73,
      "stop": 5149.199,
      "target": 5144.792,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.84,
        "bb_width_pct": 0.552
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T10-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T10:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5153.855,
      "stop": 5157.641,
      "target": 5146.282,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.86,
        "bb_width_pct": 0.366
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T10-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T10:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5149.055,
      "stop": 5149.607,
      "target": 5147.951,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.14,
        "bb_width_pct": 0.284
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T10-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T10:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5149.055,
      "stop": 5153.89,
      "target": 5139.385,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.14,
        "bb_width_pct": 0.284
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T10-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T10:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5149.055,
      "stop": 5149.702,
      "target": 5147.76,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.14,
        "bb_width_pct": 0.284
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T10-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T10:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5152.28,
      "stop": 5158.422,
      "target": 5139.995,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.23,
        "bb_width_pct": 0.242
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T11-00-00Z_short_rsi_range_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5162.38,
      "stop": 5167.599,
      "target": 5151.942,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 17.54,
        "bb_width_pct": 0.389
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T11-00-00Z_short_vwap_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5162.38,
      "stop": 5166.662,
      "target": 5153.816,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 17.54,
        "bb_width_pct": 0.389
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T11-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5162.38,
      "stop": 5172.101,
      "target": 5142.938,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.54,
        "bb_width_pct": 0.389
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T11-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T11:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5159.42,
      "stop": 5167.661,
      "target": 5142.938,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.73,
        "bb_width_pct": 0.405
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T11-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T11:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5159.42,
      "stop": 5162.558,
      "target": 5153.143,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.73,
        "bb_width_pct": 0.405
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T11-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T11:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5153.49,
      "stop": 5158.766,
      "target": 5142.938,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.32,
        "bb_width_pct": 0.395
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T12-10-00Z_long_rsi_range_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T12:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5149.675,
      "stop": 5147.776,
      "target": 5153.474,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.12,
        "bb_width_pct": 0.328
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T12-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T12:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5150.2,
      "stop": 5148.62,
      "target": 5153.36,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 2.87,
        "bb_width_pct": 0.343
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T12-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T12:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5160.13,
      "stop": 5163.968,
      "target": 5152.453,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.97,
        "bb_width_pct": 0.309
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T12-45-00Z_short_vwap_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T12:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5160.13,
      "stop": 5163.587,
      "target": 5153.217,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.97,
        "bb_width_pct": 0.309
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T12-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T12:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5160.13,
      "stop": 5163.251,
      "target": 5153.887,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.97,
        "bb_width_pct": 0.309
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T12-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T12:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5160.13,
      "stop": 5163.307,
      "target": 5153.777,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.97,
        "bb_width_pct": 0.309
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T13-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5160.05,
      "stop": 5162.952,
      "target": 5154.247,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.61,
        "bb_width_pct": 0.407
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T13-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5160.05,
      "stop": 5162.648,
      "target": 5154.855,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.61,
        "bb_width_pct": 0.407
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T13-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5160.05,
      "stop": 5162.057,
      "target": 5156.037,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.61,
        "bb_width_pct": 0.407
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T13-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T13:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5149.98,
      "stop": 5147.639,
      "target": 5154.662,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.47,
        "bb_width_pct": 0.408
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T13-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T13:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5149.98,
      "stop": 5147.289,
      "target": 5155.362,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.47,
        "bb_width_pct": 0.408
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T13-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T13:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5149.98,
      "stop": 5147.57,
      "target": 5154.8,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.47,
        "bb_width_pct": 0.408
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T14-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5149.795,
      "stop": 5147.377,
      "target": 5154.632,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.65,
        "bb_width_pct": 0.416
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T14-00-00Z_long_rsi_range_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5149.795,
      "stop": 5147.377,
      "target": 5154.632,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.65,
        "bb_width_pct": 0.416
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T14-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5149.795,
      "stop": 5147.339,
      "target": 5154.708,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 18.65,
        "bb_width_pct": 0.416
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T14-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5149.795,
      "stop": 5148.452,
      "target": 5152.481,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.65,
        "bb_width_pct": 0.416
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T14-05-00Z_long_rsi_range_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T14:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5150.515,
      "stop": 5148.449,
      "target": 5154.648,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.19,
        "bb_width_pct": 0.415
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T15-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T15:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5202.15,
      "stop": 5209.264,
      "target": 5187.921,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.06,
        "bb_width_pct": 1.129
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T15-50-00Z_short_vwap_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T15:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5196.025,
      "stop": 5209.898,
      "target": 5168.278,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.9,
        "bb_width_pct": 0.999
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T15-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T15:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5196.025,
      "stop": 5207.341,
      "target": 5173.392,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.9,
        "bb_width_pct": 0.999
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T15-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T15:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5196.025,
      "stop": 5199.691,
      "target": 5188.693,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.9,
        "bb_width_pct": 0.999
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T15-55-00Z_short_vwap_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T15:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5195.97,
      "stop": 5209.532,
      "target": 5168.845,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.31,
        "bb_width_pct": 0.855
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T15-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T15:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5195.97,
      "stop": 5207.259,
      "target": 5173.392,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.31,
        "bb_width_pct": 0.855
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T16-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5180.005,
      "stop": 5183.311,
      "target": 5173.392,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.24,
        "bb_width_pct": 0.735
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T16-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T16:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5214.715,
      "stop": 5222.605,
      "target": 5198.935,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.51,
        "bb_width_pct": 0.654
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T16-25-00Z_short_vwap_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T16:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5214.715,
      "stop": 5235.746,
      "target": 5172.654,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.51,
        "bb_width_pct": 0.654
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T16-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T16:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5214.715,
      "stop": 5232.338,
      "target": 5179.47,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.51,
        "bb_width_pct": 0.654
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T16-30-00Z_short_vwap_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T16:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5209.455,
      "stop": 5227.511,
      "target": 5173.342,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.87,
        "bb_width_pct": 0.676
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T16-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T16:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5209.455,
      "stop": 5223.975,
      "target": 5180.415,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.87,
        "bb_width_pct": 0.676
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T16-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T16:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5209.455,
      "stop": 5215.092,
      "target": 5198.181,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.87,
        "bb_width_pct": 0.676
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T16-40-00Z_short_vwap_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T16:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5209.865,
      "stop": 5227.471,
      "target": 5174.654,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.24,
        "bb_width_pct": 0.674
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T16-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T16:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5209.865,
      "stop": 5224.59,
      "target": 5180.415,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.24,
        "bb_width_pct": 0.674
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T16-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T16:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5212.48,
      "stop": 5217.528,
      "target": 5202.385,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.73,
        "bb_width_pct": 0.703
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T16-55-00Z_short_vwap_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5210.16,
      "stop": 5227.0,
      "target": 5176.479,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.81,
        "bb_width_pct": 0.711
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T16-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5210.16,
      "stop": 5225.032,
      "target": 5180.415,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.81,
        "bb_width_pct": 0.711
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T17-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T17:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5208.975,
      "stop": 5223.255,
      "target": 5180.415,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 23.87,
        "bb_width_pct": 0.699
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T17-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T17:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5204.14,
      "stop": 5216.003,
      "target": 5180.415,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.47,
        "bb_width_pct": 0.661
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T17-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T17:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5208.11,
      "stop": 5218.354,
      "target": 5187.622,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.75,
        "bb_width_pct": 0.624
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T17-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T17:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5196.71,
      "stop": 5192.56,
      "target": 5205.01,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.19,
        "bb_width_pct": 0.62
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T17-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T17:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5199.945,
      "stop": 5195.775,
      "target": 5208.284,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.15,
        "bb_width_pct": 0.418
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T17-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T17:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5199.745,
      "stop": 5195.405,
      "target": 5208.424,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.44,
        "bb_width_pct": 0.398
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T18-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T18:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5212.685,
      "stop": 5220.273,
      "target": 5197.51,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.99,
        "bb_width_pct": 0.35
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T18-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T18:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5208.035,
      "stop": 5213.297,
      "target": 5197.51,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.22,
        "bb_width_pct": 0.347
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T18-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T18:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5206.37,
      "stop": 5210.8,
      "target": 5197.51,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.1,
        "bb_width_pct": 0.346
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T19-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T19:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5211.935,
      "stop": 5218.304,
      "target": 5199.198,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.93,
        "bb_width_pct": 0.24
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T19-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T19:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5217.03,
      "stop": 5220.247,
      "target": 5210.596,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.04,
        "bb_width_pct": 0.221
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T19-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T19:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5217.31,
      "stop": 5220.347,
      "target": 5211.236,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.63,
        "bb_width_pct": 0.241
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T19-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T19:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5216.3,
      "stop": 5219.061,
      "target": 5210.779,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.59,
        "bb_width_pct": 0.257
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T19-50-00Z_short_rsi_range_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T19:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5216.3,
      "stop": 5219.061,
      "target": 5210.779,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 12.59,
        "bb_width_pct": 0.257
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T19-50-00Z_short_vwap_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T19:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5216.3,
      "stop": 5219.889,
      "target": 5209.121,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.59,
        "bb_width_pct": 0.257
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T19-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T19:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5216.3,
      "stop": 5222.021,
      "target": 5204.858,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.59,
        "bb_width_pct": 0.257
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T19-55-00Z_short_vwap_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T19:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5215.635,
      "stop": 5218.802,
      "target": 5209.301,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 9.15,
        "bb_width_pct": 0.264
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T19-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T19:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5215.635,
      "stop": 5221.024,
      "target": 5204.858,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.15,
        "bb_width_pct": 0.264
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T20-40-00Z_short_rsi_range_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5227.755,
      "stop": 5232.228,
      "target": 5218.808,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 24.2,
        "bb_width_pct": 0.491
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T20-40-00Z_short_vwap_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5227.755,
      "stop": 5235.442,
      "target": 5212.381,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 24.2,
        "bb_width_pct": 0.491
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T20-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5227.755,
      "stop": 5236.291,
      "target": 5210.682,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 24.2,
        "bb_width_pct": 0.491
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T21-05-00Z_short_rsi_range_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T21:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5234.535,
      "stop": 5239.553,
      "target": 5224.499,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 20.86,
        "bb_width_pct": 0.543
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T21-05-00Z_short_vwap_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T21:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5234.535,
      "stop": 5272.079,
      "target": 5159.446,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 20.86,
        "bb_width_pct": 0.543
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T21-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T21:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5234.535,
      "stop": 5242.538,
      "target": 5218.53,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 20.86,
        "bb_width_pct": 0.543
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T21-10-00Z_short_rsi_range_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T21:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5231.085,
      "stop": 5233.907,
      "target": 5225.441,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 15.04,
        "bb_width_pct": 0.508
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T21-10-00Z_short_vwap_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T21:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5231.085,
      "stop": 5265.56,
      "target": 5162.134,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.04,
        "bb_width_pct": 0.508
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T21-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T21:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5231.085,
      "stop": 5236.886,
      "target": 5219.483,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.04,
        "bb_width_pct": 0.508
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T21-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T21:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5231.085,
      "stop": 5233.54,
      "target": 5226.174,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.04,
        "bb_width_pct": 0.508
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T21-20-00Z_short_vwap_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T21:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5230.42,
      "stop": 5262.196,
      "target": 5166.868,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.43,
        "bb_width_pct": 0.46
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T21-25-00Z_short_vwap_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T21:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5229.815,
      "stop": 5260.234,
      "target": 5168.978,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 9.89,
        "bb_width_pct": 0.429
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T21-35-00Z_short_vwap_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T21:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5230.065,
      "stop": 5258.689,
      "target": 5172.818,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.05,
        "bb_width_pct": 0.316
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T21-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T21:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5230.065,
      "stop": 5235.356,
      "target": 5219.483,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.05,
        "bb_width_pct": 0.316
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T21-40-00Z_short_vwap_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T21:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5228.81,
      "stop": 5255.95,
      "target": 5174.53,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 1.24,
        "bb_width_pct": 0.294
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T21-50-00Z_short_vwap_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T21:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5228.85,
      "stop": 5254.432,
      "target": 5177.685,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.24,
        "bb_width_pct": 0.249
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T21-55-00Z_short_vwap_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T21:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5226.87,
      "stop": 5250.764,
      "target": 5179.081,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.98,
        "bb_width_pct": 0.232
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T23-00-00Z_short_vwap_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5243.295,
      "stop": 5274.528,
      "target": 5180.828,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.36,
        "bb_width_pct": 0.3
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T23-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5243.295,
      "stop": 5253.958,
      "target": 5221.97,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.36,
        "bb_width_pct": 0.3
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T23-05-00Z_short_vwap_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5241.74,
      "stop": 5271.401,
      "target": 5182.419,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.6,
        "bb_width_pct": 0.33
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T23-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5241.74,
      "stop": 5249.702,
      "target": 5225.815,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.6,
        "bb_width_pct": 0.33
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T23-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T23:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5239.245,
      "stop": 5241.746,
      "target": 5234.242,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.59,
        "bb_width_pct": 0.442
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T23-20-00Z_short_vwap_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T23:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5239.245,
      "stop": 5265.379,
      "target": 5186.976,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.59,
        "bb_width_pct": 0.442
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T23-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T23:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5239.245,
      "stop": 5244.704,
      "target": 5228.327,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.59,
        "bb_width_pct": 0.442
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T23-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T23:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5239.245,
      "stop": 5241.819,
      "target": 5234.097,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.59,
        "bb_width_pct": 0.442
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T23-25-00Z_short_vwap_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T23:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5236.74,
      "stop": 5261.015,
      "target": 5188.191,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.3,
        "bb_width_pct": 0.432
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T23-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5245.84,
      "stop": 5251.038,
      "target": 5235.443,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.92,
        "bb_width_pct": 0.471
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T23-35-00Z_short_vwap_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5241.08,
      "stop": 5266.284,
      "target": 5190.671,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.33,
        "bb_width_pct": 0.48
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T23-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5241.08,
      "stop": 5247.355,
      "target": 5228.53,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.33,
        "bb_width_pct": 0.48
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T23-45-00Z_short_vwap_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5242.23,
      "stop": 5266.908,
      "target": 5192.873,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.61,
        "bb_width_pct": 0.505
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-23T23-50-00Z_short_vwap_mean_reversion",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T23:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5234.7,
      "stop": 5255.141,
      "target": 5193.818,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.27,
        "bb_width_pct": 0.498
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T00-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5230.31,
      "stop": 5227.147,
      "target": 5236.636,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.06,
        "bb_width_pct": 0.49
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T00-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5230.31,
      "stop": 5227.372,
      "target": 5236.187,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.06,
        "bb_width_pct": 0.49
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T00-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T00:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5228.14,
      "stop": 5223.934,
      "target": 5236.552,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.66,
        "bb_width_pct": 0.497
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T00-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T00:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5224.185,
      "stop": 5219.519,
      "target": 5233.516,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.91,
        "bb_width_pct": 0.458
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T03-30-00Z_long_vwap_mean_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5186.18,
      "stop": 5182.431,
      "target": 5193.679,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.62,
        "bb_width_pct": 0.528
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T03-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T03:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5179.295,
      "stop": 5176.557,
      "target": 5184.77,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.42,
        "bb_width_pct": 0.496
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T03-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T03:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5176.115,
      "stop": 5172.199,
      "target": 5183.946,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.92,
        "bb_width_pct": 0.478
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T03-50-00Z_long_vwap_mean_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T03:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5176.17,
      "stop": 5168.01,
      "target": 5192.489,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.61,
        "bb_width_pct": 0.459
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T03-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T03:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5176.17,
      "stop": 5172.652,
      "target": 5183.206,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.61,
        "bb_width_pct": 0.459
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T04-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5169.04,
      "stop": 5162.424,
      "target": 5182.271,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.76,
        "bb_width_pct": 0.542
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T04-05-00Z_long_rsi_range_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5169.04,
      "stop": 5162.424,
      "target": 5182.271,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.76,
        "bb_width_pct": 0.542
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T04-05-00Z_long_vwap_mean_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5169.04,
      "stop": 5158.025,
      "target": 5191.071,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.76,
        "bb_width_pct": 0.542
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T04-15-00Z_long_rsi_range_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T04:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5171.63,
      "stop": 5167.112,
      "target": 5180.665,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.54,
        "bb_width_pct": 0.599
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T04-15-00Z_long_vwap_mean_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T04:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5171.63,
      "stop": 5162.316,
      "target": 5190.257,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.54,
        "bb_width_pct": 0.599
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T04-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T04:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5171.63,
      "stop": 5168.612,
      "target": 5177.666,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.54,
        "bb_width_pct": 0.599
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T04-20-00Z_long_rsi_range_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5171.66,
      "stop": 5167.453,
      "target": 5180.074,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.49,
        "bb_width_pct": 0.615
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T04-20-00Z_long_vwap_mean_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5171.66,
      "stop": 5162.529,
      "target": 5189.923,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.49,
        "bb_width_pct": 0.615
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T04-25-00Z_long_rsi_range_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T04:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5172.255,
      "stop": 5168.69,
      "target": 5179.385,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.96,
        "bb_width_pct": 0.619
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T04-25-00Z_long_vwap_mean_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T04:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5172.255,
      "stop": 5163.588,
      "target": 5189.589,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.96,
        "bb_width_pct": 0.619
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T04-35-00Z_long_vwap_mean_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5169.12,
      "stop": 5159.258,
      "target": 5188.845,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.12,
        "bb_width_pct": 0.625
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T04-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5169.12,
      "stop": 5166.101,
      "target": 5175.159,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.12,
        "bb_width_pct": 0.625
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T04-45-00Z_long_vwap_mean_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5170.83,
      "stop": 5162.186,
      "target": 5188.119,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.73,
        "bb_width_pct": 0.607
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T04-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5170.83,
      "stop": 5168.006,
      "target": 5176.477,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.73,
        "bb_width_pct": 0.607
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T04-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5170.83,
      "stop": 5169.318,
      "target": 5173.853,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.73,
        "bb_width_pct": 0.607
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T05-00-00Z_long_vwap_mean_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5170.855,
      "stop": 5162.696,
      "target": 5187.173,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.53,
        "bb_width_pct": 0.471
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T05-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5170.855,
      "stop": 5168.015,
      "target": 5176.535,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.53,
        "bb_width_pct": 0.471
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T05-05-00Z_long_vwap_mean_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5170.87,
      "stop": 5162.856,
      "target": 5186.898,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.6,
        "bb_width_pct": 0.436
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T05-10-00Z_long_vwap_mean_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5172.075,
      "stop": 5164.782,
      "target": 5186.662,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.11,
        "bb_width_pct": 0.358
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T05-15-00Z_long_vwap_mean_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5172.525,
      "stop": 5165.568,
      "target": 5186.439,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.01,
        "bb_width_pct": 0.275
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T05-20-00Z_long_vwap_mean_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5173.71,
      "stop": 5167.443,
      "target": 5186.245,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.07,
        "bb_width_pct": 0.237
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T05-30-00Z_long_vwap_mean_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5172.565,
      "stop": 5165.97,
      "target": 5185.756,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.42,
        "bb_width_pct": 0.197
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T05-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5172.565,
      "stop": 5170.58,
      "target": 5176.535,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.42,
        "bb_width_pct": 0.197
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T05-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5171.3,
      "stop": 5171.998,
      "target": 5169.903,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.47,
        "bb_width_pct": 0.195
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T05-40-00Z_long_vwap_mean_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5172.925,
      "stop": 5166.713,
      "target": 5185.349,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.02,
        "bb_width_pct": 0.171
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T05-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T05:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5174.56,
      "stop": 5176.528,
      "target": 5170.625,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.59,
        "bb_width_pct": 0.183
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T05-45-00Z_long_vwap_mean_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T05:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5174.56,
      "stop": 5169.241,
      "target": 5185.197,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.59,
        "bb_width_pct": 0.183
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T05-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5180.915,
      "stop": 5184.772,
      "target": 5173.201,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.81,
        "bb_width_pct": 0.248
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T06-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5180.53,
      "stop": 5184.678,
      "target": 5172.233,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.27,
        "bb_width_pct": 0.345
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T06-00-00Z_short_rsi_range_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5180.53,
      "stop": 5184.678,
      "target": 5172.233,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 15.27,
        "bb_width_pct": 0.345
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T06-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5183.08,
      "stop": 5186.872,
      "target": 5175.496,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.26,
        "bb_width_pct": 0.39
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T06-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T06:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5182.79,
      "stop": 5187.424,
      "target": 5173.522,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.71,
        "bb_width_pct": 0.414
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T06-10-00Z_short_rsi_range_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T06:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5182.79,
      "stop": 5187.424,
      "target": 5173.522,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 14.71,
        "bb_width_pct": 0.414
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T06-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T06:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5182.79,
      "stop": 5186.09,
      "target": 5176.191,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.71,
        "bb_width_pct": 0.414
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T06-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5166.585,
      "stop": 5162.319,
      "target": 5175.117,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.17,
        "bb_width_pct": 0.412
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T06-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5173.11,
      "stop": 5172.257,
      "target": 5174.815,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.53,
        "bb_width_pct": 0.398
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T06-35-00Z_long_vwap_mean_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5173.11,
      "stop": 5167.56,
      "target": 5184.211,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.53,
        "bb_width_pct": 0.398
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T06-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5173.11,
      "stop": 5172.065,
      "target": 5175.2,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.53,
        "bb_width_pct": 0.398
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T06-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5173.11,
      "stop": 5172.202,
      "target": 5174.926,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.53,
        "bb_width_pct": 0.398
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T06-45-00Z_long_vwap_mean_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T06:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5173.325,
      "stop": 5168.038,
      "target": 5183.898,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.41,
        "bb_width_pct": 0.399
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T06-55-00Z_long_vwap_mean_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T06:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5173.635,
      "stop": 5168.654,
      "target": 5183.598,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.28,
        "bb_width_pct": 0.409
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T07-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5179.63,
      "stop": 5183.999,
      "target": 5170.892,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.12,
        "bb_width_pct": 0.439
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T07-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T07:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5178.21,
      "stop": 5181.869,
      "target": 5170.892,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.41,
        "bb_width_pct": 0.424
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T07-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T07:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5179.4,
      "stop": 5183.654,
      "target": 5170.892,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.11,
        "bb_width_pct": 0.381
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T08-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T08:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5173.78,
      "stop": 5173.204,
      "target": 5174.932,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.04,
        "bb_width_pct": 0.344
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T08-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5178.93,
      "stop": 5182.949,
      "target": 5170.892,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.76,
        "bb_width_pct": 0.35
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T09-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5170.54,
      "stop": 5169.175,
      "target": 5173.271,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.31,
        "bb_width_pct": 0.243
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T10-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T10:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5175.95,
      "stop": 5177.355,
      "target": 5173.14,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.89,
        "bb_width_pct": 0.228
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T10-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T10:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5175.95,
      "stop": 5176.938,
      "target": 5173.973,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.89,
        "bb_width_pct": 0.228
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T10-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T10:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5167.365,
      "stop": 5164.591,
      "target": 5172.914,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.47,
        "bb_width_pct": 0.247
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T10-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T10:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5167.365,
      "stop": 5164.376,
      "target": 5173.344,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.47,
        "bb_width_pct": 0.247
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T10-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T10:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5166.83,
      "stop": 5163.958,
      "target": 5172.573,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.39,
        "bb_width_pct": 0.267
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T10-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T10:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5166.83,
      "stop": 5163.883,
      "target": 5172.724,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.39,
        "bb_width_pct": 0.267
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T10-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T10:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5170.37,
      "stop": 5169.427,
      "target": 5172.256,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.24,
        "bb_width_pct": 0.259
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T10-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T10:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5170.37,
      "stop": 5168.679,
      "target": 5173.752,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.24,
        "bb_width_pct": 0.259
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T12-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T12:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5167.81,
      "stop": 5165.24,
      "target": 5172.949,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.7,
        "bb_width_pct": 0.225
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T12-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T12:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5167.81,
      "stop": 5165.297,
      "target": 5172.837,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.7,
        "bb_width_pct": 0.225
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T12-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T12:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5158.64,
      "stop": 5155.808,
      "target": 5164.305,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 19.12,
        "bb_width_pct": 0.475
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T12-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T12:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5161.79,
      "stop": 5157.104,
      "target": 5171.163,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.43,
        "bb_width_pct": 0.503
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T12-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T12:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5161.79,
      "stop": 5158.237,
      "target": 5168.895,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.43,
        "bb_width_pct": 0.503
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T12-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T12:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5159.81,
      "stop": 5155.7,
      "target": 5168.03,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.43,
        "bb_width_pct": 0.537
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T12-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T12:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5156.55,
      "stop": 5149.975,
      "target": 5169.701,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.93,
        "bb_width_pct": 0.584
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T12-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T12:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5157.94,
      "stop": 5153.87,
      "target": 5166.08,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.17,
        "bb_width_pct": 0.606
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T12-55-00Z_long_rsi_range_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T12:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5150.77,
      "stop": 5143.534,
      "target": 5165.242,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.13,
        "bb_width_pct": 0.747
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T12-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T12:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5150.77,
      "stop": 5144.53,
      "target": 5163.25,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 24.13,
        "bb_width_pct": 0.747
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T13-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T13:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5145.99,
      "stop": 5141.091,
      "target": 5155.788,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.31,
        "bb_width_pct": 0.541
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T13-40-00Z_long_vwap_mean_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T13:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5145.99,
      "stop": 5140.561,
      "target": 5156.848,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.31,
        "bb_width_pct": 0.541
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T13-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T13:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5145.99,
      "stop": 5140.424,
      "target": 5157.123,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.31,
        "bb_width_pct": 0.541
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T13-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T13:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5145.99,
      "stop": 5140.946,
      "target": 5156.078,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.31,
        "bb_width_pct": 0.541
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T13-50-00Z_long_vwap_mean_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T13:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5133.16,
      "stop": 5122.42,
      "target": 5154.641,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.91,
        "bb_width_pct": 0.705
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T13-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T13:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5133.16,
      "stop": 5123.734,
      "target": 5152.012,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.91,
        "bb_width_pct": 0.705
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T14-00-00Z_long_vwap_mean_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5118.315,
      "stop": 5101.591,
      "target": 5151.762,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.35,
        "bb_width_pct": 1.069
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T14-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5118.315,
      "stop": 5105.055,
      "target": 5144.835,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 20.35,
        "bb_width_pct": 1.069
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T14-05-00Z_long_vwap_mean_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T14:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5121.27,
      "stop": 5106.597,
      "target": 5150.617,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.66,
        "bb_width_pct": 1.13
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T14-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T14:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5121.27,
      "stop": 5110.14,
      "target": 5143.53,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 20.66,
        "bb_width_pct": 1.13
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T15-25-00Z_short_rsi_range_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T15:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5138.485,
      "stop": 5144.478,
      "target": 5126.499,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 13.0,
        "bb_width_pct": 0.897
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T15-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T15:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5145.845,
      "stop": 5155.09,
      "target": 5127.355,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.4,
        "bb_width_pct": 0.966
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T15-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T15:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5145.845,
      "stop": 5149.136,
      "target": 5139.262,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.4,
        "bb_width_pct": 0.966
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T16-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5148.775,
      "stop": 5159.485,
      "target": 5127.355,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 21.06,
        "bb_width_pct": 0.792
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T16-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5148.775,
      "stop": 5152.599,
      "target": 5141.126,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.06,
        "bb_width_pct": 0.792
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T16-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T16:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5145.66,
      "stop": 5155.466,
      "target": 5126.048,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.05,
        "bb_width_pct": 0.361
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T16-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5136.14,
      "stop": 5132.108,
      "target": 5144.204,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.53,
        "bb_width_pct": 0.357
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T16-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T16:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5137.975,
      "stop": 5134.836,
      "target": 5144.254,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.08,
        "bb_width_pct": 0.351
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T16-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T16:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5137.975,
      "stop": 5136.061,
      "target": 5141.802,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.08,
        "bb_width_pct": 0.351
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T17-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T17:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5156.375,
      "stop": 5161.498,
      "target": 5146.129,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.51,
        "bb_width_pct": 0.401
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T17-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T17:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5160.155,
      "stop": 5166.507,
      "target": 5147.451,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.41,
        "bb_width_pct": 0.52
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T17-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T17:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5160.155,
      "stop": 5176.561,
      "target": 5127.343,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.41,
        "bb_width_pct": 0.52
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T17-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T17:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5158.675,
      "stop": 5173.841,
      "target": 5128.343,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 16.46,
        "bb_width_pct": 0.547
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T17-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T17:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5158.28,
      "stop": 5171.41,
      "target": 5132.02,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.98,
        "bb_width_pct": 0.574
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T17-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T17:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5158.28,
      "stop": 5162.624,
      "target": 5149.592,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.98,
        "bb_width_pct": 0.574
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T17-45-00Z_short_rsi_range_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T17:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5160.16,
      "stop": 5165.163,
      "target": 5150.153,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 18.81,
        "bb_width_pct": 0.648
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T17-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T17:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5160.16,
      "stop": 5171.924,
      "target": 5136.632,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.81,
        "bb_width_pct": 0.648
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T17-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T17:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5160.16,
      "stop": 5164.128,
      "target": 5152.223,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.81,
        "bb_width_pct": 0.648
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T18-10-00Z_short_rsi_range_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T18:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5164.36,
      "stop": 5168.866,
      "target": 5155.348,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 19.83,
        "bb_width_pct": 0.715
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T18-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T18:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5164.36,
      "stop": 5174.479,
      "target": 5144.122,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 19.83,
        "bb_width_pct": 0.715
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T18-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T18:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5159.905,
      "stop": 5167.796,
      "target": 5144.122,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.96,
        "bb_width_pct": 0.698
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T18-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T18:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5159.905,
      "stop": 5161.108,
      "target": 5157.498,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.96,
        "bb_width_pct": 0.698
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T19-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T19:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5156.405,
      "stop": 5154.623,
      "target": 5159.968,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.19,
        "bb_width_pct": 0.282
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T19-10-00Z_long_rsi_range_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T19:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5156.405,
      "stop": 5154.623,
      "target": 5159.968,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.19,
        "bb_width_pct": 0.282
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T19-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T19:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5156.405,
      "stop": 5155.83,
      "target": 5157.554,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.19,
        "bb_width_pct": 0.282
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T19-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T19:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5151.57,
      "stop": 5148.146,
      "target": 5158.417,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.36,
        "bb_width_pct": 0.411
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T19-25-00Z_long_vwap_mean_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T19:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5151.57,
      "stop": 5148.328,
      "target": 5158.054,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.36,
        "bb_width_pct": 0.411
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T19-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T19:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5151.57,
      "stop": 5149.632,
      "target": 5155.445,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.36,
        "bb_width_pct": 0.411
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T20-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T20:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5149.25,
      "stop": 5146.731,
      "target": 5154.287,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.44,
        "bb_width_pct": 0.293
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T20-35-00Z_short_rsi_range_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T20:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5169.76,
      "stop": 5176.717,
      "target": 5155.847,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 23.23,
        "bb_width_pct": 0.525
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T20-35-00Z_short_vwap_mean_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T20:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5169.76,
      "stop": 5175.799,
      "target": 5157.682,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 23.23,
        "bb_width_pct": 0.525
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T20-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T20:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5169.76,
      "stop": 5175.346,
      "target": 5158.587,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 23.23,
        "bb_width_pct": 0.525
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T20-45-00Z_short_vwap_mean_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T20:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5168.205,
      "stop": 5173.189,
      "target": 5158.238,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 22.74,
        "bb_width_pct": 0.62
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T20-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T20:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5168.205,
      "stop": 5172.382,
      "target": 5159.85,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 22.74,
        "bb_width_pct": 0.62
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T20-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T20:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5168.205,
      "stop": 5171.947,
      "target": 5160.721,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.74,
        "bb_width_pct": 0.62
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T20-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T20:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5163.63,
      "stop": 5165.52,
      "target": 5159.85,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.59,
        "bb_width_pct": 0.628
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T20-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T20:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5163.63,
      "stop": 5164.946,
      "target": 5160.998,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.59,
        "bb_width_pct": 0.628
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T21-10-00Z_long_vwap_mean_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T21:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5160.975,
      "stop": 5155.372,
      "target": 5172.18,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.79,
        "bb_width_pct": 0.561
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T21-25-00Z_long_vwap_mean_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T21:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5155.355,
      "stop": 5147.716,
      "target": 5170.634,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.67,
        "bb_width_pct": 0.548
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T21-40-00Z_long_rsi_range_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T21:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5150.83,
      "stop": 5146.494,
      "target": 5159.501,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.52,
        "bb_width_pct": 0.589
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T21-40-00Z_long_vwap_mean_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T21:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5150.83,
      "stop": 5141.873,
      "target": 5168.745,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.52,
        "bb_width_pct": 0.589
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T21-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T21:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5150.83,
      "stop": 5146.42,
      "target": 5159.65,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 26.52,
        "bb_width_pct": 0.589
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T21-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T21:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5150.83,
      "stop": 5147.742,
      "target": 5157.006,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.52,
        "bb_width_pct": 0.589
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T23-35-00Z_long_rsi_range_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5138.98,
      "stop": 5135.861,
      "target": 5145.218,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.89,
        "bb_width_pct": 0.783
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T23-35-00Z_long_vwap_mean_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5138.98,
      "stop": 5128.084,
      "target": 5160.773,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.89,
        "bb_width_pct": 0.783
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T23-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5138.98,
      "stop": 5133.071,
      "target": 5150.798,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 13.89,
        "bb_width_pct": 0.783
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T23-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5138.98,
      "stop": 5136.934,
      "target": 5143.073,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.89,
        "bb_width_pct": 0.783
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T23-40-00Z_long_vwap_mean_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5147.345,
      "stop": 5140.806,
      "target": 5160.422,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.97,
        "bb_width_pct": 0.751
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T23-45-00Z_long_vwap_mean_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5150.05,
      "stop": 5144.988,
      "target": 5160.175,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.93,
        "bb_width_pct": 0.722
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-24T23-50-00Z_long_vwap_mean_reversion",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T23:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5150.63,
      "stop": 5145.958,
      "target": 5159.974,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.06,
        "bb_width_pct": 0.67
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T00-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T00:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5152.395,
      "stop": 5158.126,
      "target": 5140.933,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.93,
        "bb_width_pct": 0.511
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T00-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T00:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5147.55,
      "stop": 5150.564,
      "target": 5141.522,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.65,
        "bb_width_pct": 0.514
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T00-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T00:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5152.375,
      "stop": 5156.75,
      "target": 5143.625,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.84,
        "bb_width_pct": 0.485
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T00-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T00:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5152.375,
      "stop": 5155.625,
      "target": 5145.876,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.84,
        "bb_width_pct": 0.485
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T01-20-00Z_short_rsi_range_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T01:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5179.06,
      "stop": 5192.175,
      "target": 5152.83,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 27.41,
        "bb_width_pct": 1.012
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T01-20-00Z_short_vwap_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T01:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5179.06,
      "stop": 5192.157,
      "target": 5152.866,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 27.41,
        "bb_width_pct": 1.012
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T01-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T01:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5179.06,
      "stop": 5190.224,
      "target": 5156.733,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 27.41,
        "bb_width_pct": 1.012
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T02-20-00Z_short_vwap_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T02:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5187.78,
      "stop": 5198.731,
      "target": 5165.879,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.15,
        "bb_width_pct": 1.067
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T02-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T02:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5187.78,
      "stop": 5201.14,
      "target": 5161.06,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.15,
        "bb_width_pct": 1.067
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T02-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T02:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5187.78,
      "stop": 5193.287,
      "target": 5176.766,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.15,
        "bb_width_pct": 1.067
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T02-30-00Z_short_vwap_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5187.83,
      "stop": 5198.071,
      "target": 5167.348,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.61,
        "bb_width_pct": 0.758
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T02-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5187.83,
      "stop": 5201.153,
      "target": 5161.185,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.61,
        "bb_width_pct": 0.758
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T02-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5187.83,
      "stop": 5192.271,
      "target": 5178.949,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.61,
        "bb_width_pct": 0.758
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T02-35-00Z_short_vwap_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T02:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5186.315,
      "stop": 5195.511,
      "target": 5167.923,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.63,
        "bb_width_pct": 0.574
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T02-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T02:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5186.315,
      "stop": 5198.88,
      "target": 5161.185,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.63,
        "bb_width_pct": 0.574
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T02-40-00Z_short_vwap_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T02:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5186.21,
      "stop": 5195.084,
      "target": 5168.462,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.01,
        "bb_width_pct": 0.409
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T02-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T02:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5186.21,
      "stop": 5198.722,
      "target": 5161.185,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.01,
        "bb_width_pct": 0.409
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T02-45-00Z_short_vwap_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5184.525,
      "stop": 5192.312,
      "target": 5168.951,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.15,
        "bb_width_pct": 0.313
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T02-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5184.525,
      "stop": 5196.0,
      "target": 5161.575,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.15,
        "bb_width_pct": 0.313
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T02-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T02:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5176.145,
      "stop": 5174.094,
      "target": 5180.248,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.64,
        "bb_width_pct": 0.299
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T02-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T02:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5180.72,
      "stop": 5178.935,
      "target": 5184.29,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.76,
        "bb_width_pct": 0.306
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T03-15-00Z_short_vwap_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5184.645,
      "stop": 5191.481,
      "target": 5170.973,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.64,
        "bb_width_pct": 0.29
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T03-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5184.645,
      "stop": 5194.296,
      "target": 5165.343,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.64,
        "bb_width_pct": 0.29
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T03-20-00Z_short_vwap_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T03:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5179.53,
      "stop": 5183.678,
      "target": 5171.234,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.08,
        "bb_width_pct": 0.294
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T03-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T03:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5179.53,
      "stop": 5186.624,
      "target": 5165.343,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.08,
        "bb_width_pct": 0.294
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T03-35-00Z_short_vwap_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T03:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5183.69,
      "stop": 5189.452,
      "target": 5172.166,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.38,
        "bb_width_pct": 0.26
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T03-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T03:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5183.69,
      "stop": 5192.6,
      "target": 5165.87,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.38,
        "bb_width_pct": 0.26
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T04-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T04:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5180.84,
      "stop": 5179.771,
      "target": 5182.979,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.25,
        "bb_width_pct": 0.259
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T04-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T04:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5180.84,
      "stop": 5180.367,
      "target": 5181.786,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.25,
        "bb_width_pct": 0.259
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T04-20-00Z_short_vwap_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5182.22,
      "stop": 5186.45,
      "target": 5173.76,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.78,
        "bb_width_pct": 0.244
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T04-30-00Z_short_vwap_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T04:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5181.56,
      "stop": 5185.296,
      "target": 5174.088,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.12,
        "bb_width_pct": 0.215
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T04-45-00Z_short_vwap_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5181.1,
      "stop": 5184.387,
      "target": 5174.526,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.14,
        "bb_width_pct": 0.212
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T05-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5186.685,
      "stop": 5188.66,
      "target": 5182.735,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.41,
        "bb_width_pct": 0.206
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T05-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5187.85,
      "stop": 5190.372,
      "target": 5182.806,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.78,
        "bb_width_pct": 0.214
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T05-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5187.85,
      "stop": 5190.239,
      "target": 5183.071,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.78,
        "bb_width_pct": 0.214
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T05-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5188.56,
      "stop": 5191.404,
      "target": 5182.871,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.17,
        "bb_width_pct": 0.223
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T05-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5188.7,
      "stop": 5191.275,
      "target": 5183.55,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.83,
        "bb_width_pct": 0.291
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T05-20-00Z_short_vwap_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5188.7,
      "stop": 5195.121,
      "target": 5175.858,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.83,
        "bb_width_pct": 0.291
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T05-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5188.7,
      "stop": 5192.696,
      "target": 5180.708,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.83,
        "bb_width_pct": 0.291
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T05-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5188.7,
      "stop": 5190.626,
      "target": 5184.849,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.83,
        "bb_width_pct": 0.291
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T05-55-00Z_short_rsi_range_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T05:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5201.705,
      "stop": 5207.162,
      "target": 5190.792,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 25.84,
        "bb_width_pct": 0.698
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T05-55-00Z_short_vwap_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T05:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5201.705,
      "stop": 5213.413,
      "target": 5178.289,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 25.84,
        "bb_width_pct": 0.698
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T05-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T05:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5201.705,
      "stop": 5208.264,
      "target": 5188.587,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 25.84,
        "bb_width_pct": 0.698
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T05-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T05:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5201.705,
      "stop": 5205.685,
      "target": 5193.745,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 25.84,
        "bb_width_pct": 0.698
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T06-00-00Z_short_vwap_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5193.95,
      "stop": 5201.657,
      "target": 5178.536,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.97,
        "bb_width_pct": 0.683
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T06-05-00Z_short_vwap_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5186.76,
      "stop": 5190.808,
      "target": 5178.663,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.08,
        "bb_width_pct": 0.671
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T06-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5186.76,
      "stop": 5183.591,
      "target": 5193.097,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.08,
        "bb_width_pct": 0.671
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T06-20-00Z_short_vwap_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T06:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5190.405,
      "stop": 5196.024,
      "target": 5179.166,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.16,
        "bb_width_pct": 0.61
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T06-25-00Z_short_vwap_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T06:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5189.68,
      "stop": 5194.865,
      "target": 5179.311,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 1.03,
        "bb_width_pct": 0.576
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T06-40-00Z_short_vwap_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T06:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5191.385,
      "stop": 5197.19,
      "target": 5179.776,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.34,
        "bb_width_pct": 0.483
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T07-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T07:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5189.625,
      "stop": 5188.288,
      "target": 5192.298,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.12,
        "bb_width_pct": 0.381
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T07-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T07:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5189.625,
      "stop": 5188.989,
      "target": 5190.897,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.12,
        "bb_width_pct": 0.381
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T07-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T07:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5182.73,
      "stop": 5179.584,
      "target": 5189.022,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.02,
        "bb_width_pct": 0.233
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T07-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T07:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5184.6,
      "stop": 5182.247,
      "target": 5189.307,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.7,
        "bb_width_pct": 0.238
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T07-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T07:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5184.6,
      "stop": 5179.234,
      "target": 5195.333,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.7,
        "bb_width_pct": 0.238
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T08-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5187.96,
      "stop": 5184.274,
      "target": 5195.333,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.25,
        "bb_width_pct": 0.238
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T08-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5194.05,
      "stop": 5196.561,
      "target": 5189.028,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.82,
        "bb_width_pct": 0.259
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T08-35-00Z_short_vwap_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5194.05,
      "stop": 5196.556,
      "target": 5189.038,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 9.82,
        "bb_width_pct": 0.259
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T08-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5194.05,
      "stop": 5195.85,
      "target": 5190.45,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.82,
        "bb_width_pct": 0.259
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T09-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5181.685,
      "stop": 5178.128,
      "target": 5188.799,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.7,
        "bb_width_pct": 0.29
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T09-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T09:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5185.0,
      "stop": 5183.216,
      "target": 5188.568,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.54,
        "bb_width_pct": 0.296
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T09-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T09:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5185.0,
      "stop": 5180.671,
      "target": 5193.658,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.54,
        "bb_width_pct": 0.296
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T09-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T09:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5185.0,
      "stop": 5183.091,
      "target": 5188.818,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.54,
        "bb_width_pct": 0.296
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T09-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T09:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5189.99,
      "stop": 5191.51,
      "target": 5186.95,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.35,
        "bb_width_pct": 0.286
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T10-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T10:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5188.765,
      "stop": 5189.673,
      "target": 5186.95,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.71,
        "bb_width_pct": 0.282
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T10-25-00Z_long_vwap_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T10:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5175.265,
      "stop": 5171.765,
      "target": 5182.265,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.1,
        "bb_width_pct": 0.392
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T10-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T10:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5175.265,
      "stop": 5170.062,
      "target": 5185.67,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 17.1,
        "bb_width_pct": 0.392
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T10-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T10:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5173.625,
      "stop": 5167.959,
      "target": 5184.957,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.45,
        "bb_width_pct": 0.438
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T10-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T10:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5179.065,
      "stop": 5176.821,
      "target": 5183.552,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 13.99,
        "bb_width_pct": 0.449
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T10-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T10:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5179.065,
      "stop": 5176.837,
      "target": 5183.52,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.99,
        "bb_width_pct": 0.449
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T10-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T10:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5174.53,
      "stop": 5171.072,
      "target": 5181.446,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.71,
        "bb_width_pct": 0.514
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T10-55-00Z_long_rsi_range_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T10:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5175.275,
      "stop": 5171.442,
      "target": 5182.941,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.51,
        "bb_width_pct": 0.531
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T10-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T10:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5175.275,
      "stop": 5171.136,
      "target": 5183.552,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 19.51,
        "bb_width_pct": 0.531
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T11-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T11:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5163.8,
      "stop": 5155.682,
      "target": 5180.036,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 27.22,
        "bb_width_pct": 0.641
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T11-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T11:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5165.055,
      "stop": 5158.996,
      "target": 5177.174,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.0,
        "bb_width_pct": 0.694
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T11-20-00Z_long_rsi_range_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T11:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5165.055,
      "stop": 5158.996,
      "target": 5177.174,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.0,
        "bb_width_pct": 0.694
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T11-20-00Z_long_vwap_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T11:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5165.055,
      "stop": 5159.92,
      "target": 5175.326,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.0,
        "bb_width_pct": 0.694
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T11-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T11:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5165.055,
      "stop": 5159.493,
      "target": 5176.18,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.0,
        "bb_width_pct": 0.694
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T11-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T11:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5168.93,
      "stop": 5166.27,
      "target": 5174.251,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.5,
        "bb_width_pct": 0.664
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T11-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T11:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5181.695,
      "stop": 5186.487,
      "target": 5172.111,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.14,
        "bb_width_pct": 0.397
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T11-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T11:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5181.695,
      "stop": 5185.502,
      "target": 5174.082,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.14,
        "bb_width_pct": 0.397
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T12-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T12:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5183.755,
      "stop": 5187.318,
      "target": 5176.629,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 26.97,
        "bb_width_pct": 0.491
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T12-30-00Z_short_rsi_range_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T12:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5179.655,
      "stop": 5182.233,
      "target": 5174.498,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 17.22,
        "bb_width_pct": 0.57
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T12-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T12:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5179.655,
      "stop": 5180.323,
      "target": 5178.32,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.22,
        "bb_width_pct": 0.57
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T12-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T12:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5184.8,
      "stop": 5187.49,
      "target": 5179.42,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 27.25,
        "bb_width_pct": 0.611
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T12-45-00Z_short_rsi_range_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T12:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5181.805,
      "stop": 5184.607,
      "target": 5176.201,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 13.38,
        "bb_width_pct": 0.61
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T13-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T13:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5187.145,
      "stop": 5193.123,
      "target": 5175.19,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.59,
        "bb_width_pct": 0.405
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T13-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T13:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5187.145,
      "stop": 5189.751,
      "target": 5181.933,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.59,
        "bb_width_pct": 0.405
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T13-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T13:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5186.93,
      "stop": 5192.8,
      "target": 5175.19,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.23,
        "bb_width_pct": 0.336
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T13-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T13:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5186.93,
      "stop": 5189.191,
      "target": 5182.409,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.23,
        "bb_width_pct": 0.336
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T13-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T13:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5188.015,
      "stop": 5190.164,
      "target": 5183.717,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.86,
        "bb_width_pct": 0.293
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T13-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T13:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5188.015,
      "stop": 5195.395,
      "target": 5173.255,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.86,
        "bb_width_pct": 0.293
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T13-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T13:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5188.015,
      "stop": 5190.173,
      "target": 5183.699,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.86,
        "bb_width_pct": 0.293
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T13-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T13:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5187.06,
      "stop": 5193.963,
      "target": 5173.255,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.79,
        "bb_width_pct": 0.237
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T13-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5187.065,
      "stop": 5193.97,
      "target": 5173.255,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.52,
        "bb_width_pct": 0.226
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T13-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T13:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5185.99,
      "stop": 5192.358,
      "target": 5173.255,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.6,
        "bb_width_pct": 0.218
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T13-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T13:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5185.205,
      "stop": 5191.18,
      "target": 5173.255,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.27,
        "bb_width_pct": 0.215
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T14-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T14:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5185.505,
      "stop": 5191.63,
      "target": 5173.255,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.35,
        "bb_width_pct": 0.193
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T14-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T14:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5182.715,
      "stop": 5187.445,
      "target": 5173.255,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.88,
        "bb_width_pct": 0.198
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T14-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T14:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5181.395,
      "stop": 5179.004,
      "target": 5186.178,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.36,
        "bb_width_pct": 0.214
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T14-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T14:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5177.75,
      "stop": 5174.426,
      "target": 5184.398,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.17,
        "bb_width_pct": 0.247
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T14-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T14:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5175.265,
      "stop": 5170.921,
      "target": 5183.954,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.31,
        "bb_width_pct": 0.549
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T14-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T14:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5175.265,
      "stop": 5172.57,
      "target": 5180.656,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.31,
        "bb_width_pct": 0.549
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T15-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T15:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5198.665,
      "stop": 5205.855,
      "target": 5184.284,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.95,
        "bb_width_pct": 0.601
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T15-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T15:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5195.99,
      "stop": 5201.643,
      "target": 5184.683,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.57,
        "bb_width_pct": 0.63
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T15-05-00Z_short_vwap_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T15:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5195.99,
      "stop": 5201.746,
      "target": 5184.478,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.57,
        "bb_width_pct": 0.63
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T15-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T15:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5195.99,
      "stop": 5203.945,
      "target": 5180.08,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.57,
        "bb_width_pct": 0.63
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T15-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T15:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5195.99,
      "stop": 5201.425,
      "target": 5185.121,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.57,
        "bb_width_pct": 0.63
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T15-50-00Z_short_vwap_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T15:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5195.375,
      "stop": 5200.433,
      "target": 5185.259,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.51,
        "bb_width_pct": 0.712
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T15-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T15:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5195.375,
      "stop": 5202.702,
      "target": 5180.72,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.51,
        "bb_width_pct": 0.712
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T15-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T15:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5194.875,
      "stop": 5201.952,
      "target": 5180.72,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.43,
        "bb_width_pct": 0.727
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T16-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5194.46,
      "stop": 5201.33,
      "target": 5180.72,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.93,
        "bb_width_pct": 0.735
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T16-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T16:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5203.0,
      "stop": 5208.124,
      "target": 5192.752,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.14,
        "bb_width_pct": 0.479
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T16-25-00Z_short_vwap_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T16:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5203.0,
      "stop": 5211.119,
      "target": 5186.762,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 16.14,
        "bb_width_pct": 0.479
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T16-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T16:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5203.0,
      "stop": 5213.376,
      "target": 5182.248,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 16.14,
        "bb_width_pct": 0.479
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T16-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T16:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5203.0,
      "stop": 5208.072,
      "target": 5192.856,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.14,
        "bb_width_pct": 0.479
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T16-35-00Z_short_rsi_range_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5203.79,
      "stop": 5208.543,
      "target": 5194.284,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 23.03,
        "bb_width_pct": 0.55
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T16-35-00Z_short_vwap_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5203.79,
      "stop": 5211.988,
      "target": 5187.393,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 23.03,
        "bb_width_pct": 0.55
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T16-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5203.79,
      "stop": 5214.296,
      "target": 5182.778,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 23.03,
        "bb_width_pct": 0.55
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T16-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5203.79,
      "stop": 5208.143,
      "target": 5195.083,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 23.03,
        "bb_width_pct": 0.55
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T16-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5208.45,
      "stop": 5214.999,
      "target": 5195.351,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.62,
        "bb_width_pct": 0.633
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T17-00-00Z_short_rsi_range_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T17:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5210.175,
      "stop": 5215.933,
      "target": 5198.658,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 19.52,
        "bb_width_pct": 0.727
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T17-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T17:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5210.175,
      "stop": 5222.096,
      "target": 5186.333,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 19.52,
        "bb_width_pct": 0.727
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T17-20-00Z_short_rsi_range_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T17:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5213.6,
      "stop": 5218.114,
      "target": 5204.571,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 21.92,
        "bb_width_pct": 0.615
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T17-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T17:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5213.6,
      "stop": 5226.294,
      "target": 5188.212,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 21.92,
        "bb_width_pct": 0.615
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T17-25-00Z_short_rsi_range_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T17:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5213.275,
      "stop": 5217.243,
      "target": 5205.339,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 10.91,
        "bb_width_pct": 0.62
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T17-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T17:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5213.275,
      "stop": 5225.806,
      "target": 5188.212,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.91,
        "bb_width_pct": 0.62
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T17-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T17:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5213.275,
      "stop": 5216.785,
      "target": 5206.254,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.91,
        "bb_width_pct": 0.62
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T17-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T17:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5212.005,
      "stop": 5223.901,
      "target": 5188.212,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.35,
        "bb_width_pct": 0.603
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T17-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T17:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5212.005,
      "stop": 5214.606,
      "target": 5206.802,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.35,
        "bb_width_pct": 0.603
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T17-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T17:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5208.85,
      "stop": 5219.169,
      "target": 5188.212,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.96,
        "bb_width_pct": 0.536
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T17-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T17:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5206.875,
      "stop": 5216.206,
      "target": 5188.212,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.06,
        "bb_width_pct": 0.451
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T17-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T17:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5206.395,
      "stop": 5215.486,
      "target": 5188.212,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.14,
        "bb_width_pct": 0.356
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T18-30-00Z_long_rsi_range_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5207.025,
      "stop": 5205.587,
      "target": 5209.901,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.75,
        "bb_width_pct": 0.25
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T18-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T18:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5202.545,
      "stop": 5199.802,
      "target": 5208.031,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.32,
        "bb_width_pct": 0.271
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T18-50-00Z_long_rsi_range_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T18:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5202.545,
      "stop": 5199.802,
      "target": 5208.031,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.32,
        "bb_width_pct": 0.271
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T18-50-00Z_long_vwap_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T18:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5202.545,
      "stop": 5199.404,
      "target": 5208.827,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.32,
        "bb_width_pct": 0.271
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T19-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T19:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5197.62,
      "stop": 5194.244,
      "target": 5204.372,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.84,
        "bb_width_pct": 0.286
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T19-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T19:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5197.62,
      "stop": 5194.711,
      "target": 5203.438,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.84,
        "bb_width_pct": 0.286
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T19-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T19:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5203.0,
      "stop": 5202.411,
      "target": 5204.178,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.99,
        "bb_width_pct": 0.283
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T19-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T19:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5203.0,
      "stop": 5202.802,
      "target": 5203.396,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.99,
        "bb_width_pct": 0.283
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T20-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T20:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5195.58,
      "stop": 5192.272,
      "target": 5202.195,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.27,
        "bb_width_pct": 0.255
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T20-20-00Z_long_rsi_range_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T20:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5189.405,
      "stop": 5183.948,
      "target": 5200.32,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.66,
        "bb_width_pct": 0.415
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T20-20-00Z_long_vwap_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T20:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5189.405,
      "stop": 5181.573,
      "target": 5205.069,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.66,
        "bb_width_pct": 0.415
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T20-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T20:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5189.405,
      "stop": 5183.817,
      "target": 5200.58,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.66,
        "bb_width_pct": 0.415
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T20-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T20:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5189.405,
      "stop": 5184.16,
      "target": 5199.896,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.66,
        "bb_width_pct": 0.415
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T20-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T20:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5188.35,
      "stop": 5183.085,
      "target": 5198.88,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.41,
        "bb_width_pct": 0.51
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T20-30-00Z_long_vwap_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T20:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5188.35,
      "stop": 5180.405,
      "target": 5204.239,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.41,
        "bb_width_pct": 0.51
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T20-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T20:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5188.35,
      "stop": 5182.776,
      "target": 5199.497,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 13.41,
        "bb_width_pct": 0.51
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T20-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T20:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5188.35,
      "stop": 5183.714,
      "target": 5197.622,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.41,
        "bb_width_pct": 0.51
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T20-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T20:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5183.435,
      "stop": 5176.184,
      "target": 5197.936,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.72,
        "bb_width_pct": 0.567
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T20-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5181.62,
      "stop": 5173.944,
      "target": 5196.971,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.42,
        "bb_width_pct": 0.626
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T20-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T20:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5178.145,
      "stop": 5169.963,
      "target": 5194.51,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.97,
        "bb_width_pct": 0.767
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T20-50-00Z_long_rsi_range_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T20:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5178.145,
      "stop": 5169.963,
      "target": 5194.51,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.97,
        "bb_width_pct": 0.767
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T20-50-00Z_long_vwap_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T20:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5178.145,
      "stop": 5166.164,
      "target": 5202.106,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.97,
        "bb_width_pct": 0.767
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T20-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T20:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5178.145,
      "stop": 5171.931,
      "target": 5190.573,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 21.97,
        "bb_width_pct": 0.767
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-25T23-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T23:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5163.27,
      "stop": 5159.958,
      "target": 5169.895,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.9,
        "bb_width_pct": 0.294
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T00-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5160.34,
      "stop": 5155.558,
      "target": 5169.904,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.79,
        "bb_width_pct": 0.336
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T00-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T00:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5162.18,
      "stop": 5158.726,
      "target": 5169.087,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.7,
        "bb_width_pct": 0.357
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T00-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5182.44,
      "stop": 5188.019,
      "target": 5171.282,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.46,
        "bb_width_pct": 0.519
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T00-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5182.44,
      "stop": 5188.272,
      "target": 5170.775,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.46,
        "bb_width_pct": 0.519
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T00-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5182.44,
      "stop": 5187.275,
      "target": 5172.77,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.46,
        "bb_width_pct": 0.519
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T00-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T00:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5185.94,
      "stop": 5192.322,
      "target": 5173.177,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.91,
        "bb_width_pct": 0.629
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T00-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T00:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5185.94,
      "stop": 5195.009,
      "target": 5167.802,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.91,
        "bb_width_pct": 0.629
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T00-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T00:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5185.94,
      "stop": 5190.831,
      "target": 5176.159,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.91,
        "bb_width_pct": 0.629
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T00-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T00:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5189.74,
      "stop": 5195.884,
      "target": 5177.452,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.4,
        "bb_width_pct": 0.682
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T00-55-00Z_short_rsi_range_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T00:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5188.45,
      "stop": 5195.209,
      "target": 5174.933,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 16.63,
        "bb_width_pct": 0.722
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T00-55-00Z_short_vwap_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T00:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5188.45,
      "stop": 5193.491,
      "target": 5178.369,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 16.63,
        "bb_width_pct": 0.722
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T00-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T00:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5188.45,
      "stop": 5198.645,
      "target": 5168.06,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 16.63,
        "bb_width_pct": 0.722
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T00-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T00:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5188.45,
      "stop": 5193.425,
      "target": 5178.5,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.63,
        "bb_width_pct": 0.722
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T01-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5194.62,
      "stop": 5203.863,
      "target": 5176.133,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 26.69,
        "bb_width_pct": 0.789
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T01-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T01:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5184.23,
      "stop": 5190.505,
      "target": 5171.68,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 19.99,
        "bb_width_pct": 0.793
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T01-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T01:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5184.23,
      "stop": 5186.128,
      "target": 5180.434,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.99,
        "bb_width_pct": 0.793
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T01-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T01:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5186.24,
      "stop": 5190.964,
      "target": 5176.792,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.5,
        "bb_width_pct": 0.814
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T01-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T01:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5186.24,
      "stop": 5188.198,
      "target": 5182.324,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.5,
        "bb_width_pct": 0.814
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T02-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T02:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5190.2,
      "stop": 5191.508,
      "target": 5187.584,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.57,
        "bb_width_pct": 0.26
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T02-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T02:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5190.2,
      "stop": 5196.904,
      "target": 5176.792,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.57,
        "bb_width_pct": 0.26
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T02-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T02:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5180.43,
      "stop": 5177.377,
      "target": 5186.537,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.69,
        "bb_width_pct": 0.322
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T02-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5180.96,
      "stop": 5178.709,
      "target": 5185.461,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.78,
        "bb_width_pct": 0.341
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T03-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T03:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5192.735,
      "stop": 5195.389,
      "target": 5187.428,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.25,
        "bb_width_pct": 0.334
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T04-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T04:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5194.04,
      "stop": 5197.922,
      "target": 5186.276,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.52,
        "bb_width_pct": 0.359
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T04-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T04:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5196.89,
      "stop": 5201.373,
      "target": 5187.924,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.87,
        "bb_width_pct": 0.386
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T04-15-00Z_short_vwap_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T04:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5193.625,
      "stop": 5197.684,
      "target": 5185.507,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.68,
        "bb_width_pct": 0.373
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T04-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T04:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5193.625,
      "stop": 5197.048,
      "target": 5186.78,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.68,
        "bb_width_pct": 0.373
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T04-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T04:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5193.625,
      "stop": 5195.457,
      "target": 5189.961,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.68,
        "bb_width_pct": 0.373
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T04-40-00Z_short_vwap_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5194.325,
      "stop": 5198.351,
      "target": 5186.274,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 16.53,
        "bb_width_pct": 0.263
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T04-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5194.325,
      "stop": 5198.097,
      "target": 5186.78,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 16.53,
        "bb_width_pct": 0.263
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T04-45-00Z_short_vwap_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5191.58,
      "stop": 5194.18,
      "target": 5186.38,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.93,
        "bb_width_pct": 0.245
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T05-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5197.97,
      "stop": 5200.408,
      "target": 5193.095,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.29,
        "bb_width_pct": 0.225
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T05-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5197.97,
      "stop": 5200.536,
      "target": 5192.838,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.29,
        "bb_width_pct": 0.225
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T05-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5200.52,
      "stop": 5203.204,
      "target": 5195.153,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.49,
        "bb_width_pct": 0.228
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T05-25-00Z_short_rsi_range_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5200.52,
      "stop": 5203.204,
      "target": 5195.153,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 13.49,
        "bb_width_pct": 0.228
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T05-25-00Z_short_vwap_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5200.52,
      "stop": 5206.979,
      "target": 5187.601,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.49,
        "bb_width_pct": 0.228
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T05-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5200.52,
      "stop": 5206.475,
      "target": 5188.61,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.49,
        "bb_width_pct": 0.228
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T05-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5201.32,
      "stop": 5204.157,
      "target": 5195.647,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.88,
        "bb_width_pct": 0.24
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T05-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5199.465,
      "stop": 5201.206,
      "target": 5195.983,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.24,
        "bb_width_pct": 0.243
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T05-35-00Z_short_vwap_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5199.465,
      "stop": 5205.212,
      "target": 5187.971,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.24,
        "bb_width_pct": 0.243
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T05-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5199.465,
      "stop": 5204.27,
      "target": 5189.855,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.24,
        "bb_width_pct": 0.243
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T05-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5199.465,
      "stop": 5201.226,
      "target": 5195.942,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.24,
        "bb_width_pct": 0.243
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T05-45-00Z_short_vwap_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T05:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5193.855,
      "stop": 5196.659,
      "target": 5188.247,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.74,
        "bb_width_pct": 0.25
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T06-10-00Z_short_vwap_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T06:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5197.98,
      "stop": 5202.575,
      "target": 5188.791,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.72,
        "bb_width_pct": 0.25
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T06-15-00Z_short_vwap_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T06:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5195.895,
      "stop": 5199.397,
      "target": 5188.891,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.89,
        "bb_width_pct": 0.25
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T06-40-00Z_short_vwap_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T06:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5196.68,
      "stop": 5200.355,
      "target": 5189.33,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.21,
        "bb_width_pct": 0.196
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T06-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T06:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5193.31,
      "stop": 5191.375,
      "target": 5197.181,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.82,
        "bb_width_pct": 0.216
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T06-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T06:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5193.32,
      "stop": 5191.552,
      "target": 5196.855,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.34,
        "bb_width_pct": 0.22
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T07-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T07:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5190.8,
      "stop": 5188.07,
      "target": 5196.26,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.36,
        "bb_width_pct": 0.217
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T07-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T07:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5190.8,
      "stop": 5188.673,
      "target": 5195.054,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.36,
        "bb_width_pct": 0.217
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T07-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T07:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5187.64,
      "stop": 5184.056,
      "target": 5194.808,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.54,
        "bb_width_pct": 0.283
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T07-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T07:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5187.64,
      "stop": 5184.426,
      "target": 5194.068,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.54,
        "bb_width_pct": 0.283
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T07-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T07:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5187.64,
      "stop": 5184.712,
      "target": 5193.496,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.54,
        "bb_width_pct": 0.283
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T07-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T07:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5188.685,
      "stop": 5185.893,
      "target": 5194.269,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.52,
        "bb_width_pct": 0.288
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T07-15-00Z_long_rsi_range_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T07:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5188.685,
      "stop": 5185.893,
      "target": 5194.269,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.52,
        "bb_width_pct": 0.288
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T07-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T07:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5188.685,
      "stop": 5185.994,
      "target": 5194.068,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 13.52,
        "bb_width_pct": 0.288
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T07-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T07:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5188.685,
      "stop": 5186.509,
      "target": 5193.038,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.52,
        "bb_width_pct": 0.288
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T07-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T07:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5186.05,
      "stop": 5182.279,
      "target": 5193.593,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.44,
        "bb_width_pct": 0.303
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T07-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T07:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5186.05,
      "stop": 5182.889,
      "target": 5192.372,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.44,
        "bb_width_pct": 0.303
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T07-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T07:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5185.265,
      "stop": 5181.316,
      "target": 5193.163,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.45,
        "bb_width_pct": 0.334
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T07-30-00Z_long_rsi_range_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5186.15,
      "stop": 5182.843,
      "target": 5192.764,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.52,
        "bb_width_pct": 0.353
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T07-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5186.15,
      "stop": 5182.271,
      "target": 5193.908,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.52,
        "bb_width_pct": 0.353
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T07-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T07:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5188.37,
      "stop": 5185.601,
      "target": 5193.908,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 11.99,
        "bb_width_pct": 0.346
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T07-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T07:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5183.825,
      "stop": 5180.555,
      "target": 5190.365,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.26,
        "bb_width_pct": 0.373
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T07-50-00Z_long_rsi_range_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T07:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5183.825,
      "stop": 5180.555,
      "target": 5190.365,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.26,
        "bb_width_pct": 0.373
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T07-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T07:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5183.825,
      "stop": 5178.864,
      "target": 5193.747,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.26,
        "bb_width_pct": 0.373
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T07-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T07:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5183.825,
      "stop": 5181.18,
      "target": 5189.114,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.26,
        "bb_width_pct": 0.373
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T08-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5181.56,
      "stop": 5178.272,
      "target": 5188.135,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.44,
        "bb_width_pct": 0.372
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T08-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T08:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5183.895,
      "stop": 5179.501,
      "target": 5192.683,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.73,
        "bb_width_pct": 0.372
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T08-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T08:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5179.515,
      "stop": 5177.495,
      "target": 5183.556,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.58,
        "bb_width_pct": 0.371
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T08-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T08:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5179.515,
      "stop": 5175.749,
      "target": 5187.047,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.58,
        "bb_width_pct": 0.371
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T08-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T08:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5179.515,
      "stop": 5177.645,
      "target": 5183.256,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.58,
        "bb_width_pct": 0.371
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T09-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T09:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5186.49,
      "stop": 5189.741,
      "target": 5179.988,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.75,
        "bb_width_pct": 0.313
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T09-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T09:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5186.49,
      "stop": 5188.566,
      "target": 5182.339,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.75,
        "bb_width_pct": 0.313
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T10-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T10:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5188.615,
      "stop": 5192.581,
      "target": 5180.683,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 24.08,
        "bb_width_pct": 0.357
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T10-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T10:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5188.615,
      "stop": 5191.143,
      "target": 5183.56,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 24.08,
        "bb_width_pct": 0.357
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T10-10-00Z_short_rsi_range_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T10:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5187.965,
      "stop": 5191.286,
      "target": 5181.324,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 19.02,
        "bb_width_pct": 0.362
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T10-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T10:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5176.93,
      "stop": 5173.993,
      "target": 5182.805,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.63,
        "bb_width_pct": 0.325
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T10-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T10:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5176.23,
      "stop": 5173.373,
      "target": 5181.944,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.69,
        "bb_width_pct": 0.337
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T10-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T10:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5176.23,
      "stop": 5173.256,
      "target": 5182.179,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.69,
        "bb_width_pct": 0.337
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T10-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T10:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5173.55,
      "stop": 5169.779,
      "target": 5181.091,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.94,
        "bb_width_pct": 0.413
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T10-50-00Z_long_vwap_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T10:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5173.55,
      "stop": 5170.079,
      "target": 5180.492,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.94,
        "bb_width_pct": 0.413
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T10-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T10:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5173.55,
      "stop": 5170.62,
      "target": 5179.41,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 17.94,
        "bb_width_pct": 0.413
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T10-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T10:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5173.55,
      "stop": 5170.499,
      "target": 5179.652,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.94,
        "bb_width_pct": 0.413
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T10-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T10:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5171.535,
      "stop": 5166.898,
      "target": 5180.809,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.24,
        "bb_width_pct": 0.439
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T11-00-00Z_long_rsi_range_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5173.9,
      "stop": 5170.516,
      "target": 5180.668,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.39,
        "bb_width_pct": 0.449
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T11-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5173.9,
      "stop": 5171.632,
      "target": 5178.435,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 18.39,
        "bb_width_pct": 0.449
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T11-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5173.9,
      "stop": 5171.647,
      "target": 5178.405,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.39,
        "bb_width_pct": 0.449
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T11-25-00Z_long_rsi_range_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T11:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5172.015,
      "stop": 5168.675,
      "target": 5178.695,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.9,
        "bb_width_pct": 0.485
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T11-55-00Z_long_vwap_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T11:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5164.88,
      "stop": 5159.307,
      "target": 5176.026,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.85,
        "bb_width_pct": 0.334
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T11-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T11:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5164.88,
      "stop": 5159.474,
      "target": 5175.693,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.85,
        "bb_width_pct": 0.334
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T12-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5165.8,
      "stop": 5162.314,
      "target": 5172.771,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.86,
        "bb_width_pct": 0.309
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T12-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5165.8,
      "stop": 5160.854,
      "target": 5175.693,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.86,
        "bb_width_pct": 0.309
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T12-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5165.8,
      "stop": 5162.293,
      "target": 5172.814,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.86,
        "bb_width_pct": 0.309
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T12-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T12:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5169.165,
      "stop": 5167.618,
      "target": 5172.26,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.67,
        "bb_width_pct": 0.291
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T12-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T12:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5169.165,
      "stop": 5167.514,
      "target": 5172.467,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.67,
        "bb_width_pct": 0.291
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T12-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T12:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5178.56,
      "stop": 5181.741,
      "target": 5172.199,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.01,
        "bb_width_pct": 0.307
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T12-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T12:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5182.355,
      "stop": 5186.923,
      "target": 5173.218,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.84,
        "bb_width_pct": 0.392
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T12-35-00Z_short_vwap_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T12:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5182.355,
      "stop": 5186.852,
      "target": 5173.362,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.84,
        "bb_width_pct": 0.392
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T12-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T12:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5182.355,
      "stop": 5186.119,
      "target": 5174.826,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.84,
        "bb_width_pct": 0.392
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T12-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T12:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5181.355,
      "stop": 5184.978,
      "target": 5174.108,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.1,
        "bb_width_pct": 0.476
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T12-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T12:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5181.355,
      "stop": 5184.981,
      "target": 5174.102,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.1,
        "bb_width_pct": 0.476
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T12-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T12:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5181.355,
      "stop": 5183.754,
      "target": 5176.556,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.1,
        "bb_width_pct": 0.476
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T13-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5175.905,
      "stop": 5176.806,
      "target": 5174.102,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.09,
        "bb_width_pct": 0.514
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T13-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5173.895,
      "stop": 5172.797,
      "target": 5176.09,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.23,
        "bb_width_pct": 0.471
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T13-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T13:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5165.265,
      "stop": 5159.777,
      "target": 5176.241,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.76,
        "bb_width_pct": 0.436
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T13-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T13:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5165.265,
      "stop": 5160.476,
      "target": 5174.842,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.76,
        "bb_width_pct": 0.436
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T13-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5168.745,
      "stop": 5165.007,
      "target": 5176.22,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.57,
        "bb_width_pct": 0.438
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T14-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5166.12,
      "stop": 5161.42,
      "target": 5175.521,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.01,
        "bb_width_pct": 0.486
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T14-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T14:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5163.62,
      "stop": 5158.043,
      "target": 5174.774,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.19,
        "bb_width_pct": 0.522
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T14-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T14:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5163.62,
      "stop": 5159.597,
      "target": 5171.665,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.19,
        "bb_width_pct": 0.522
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T14-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5165.96,
      "stop": 5163.49,
      "target": 5170.899,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.1,
        "bb_width_pct": 0.385
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T14-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5165.96,
      "stop": 5163.879,
      "target": 5170.123,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.1,
        "bb_width_pct": 0.385
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T15-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T15:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5167.74,
      "stop": 5167.264,
      "target": 5168.693,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.26,
        "bb_width_pct": 0.252
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T15-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T15:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5162.41,
      "stop": 5159.747,
      "target": 5167.736,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.85,
        "bb_width_pct": 0.226
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T15-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T15:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5158.715,
      "stop": 5154.26,
      "target": 5167.626,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.05,
        "bb_width_pct": 0.249
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T15-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T15:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5153.6,
      "stop": 5148.27,
      "target": 5164.26,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.91,
        "bb_width_pct": 0.546
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T15-30-00Z_long_vwap_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T15:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5153.6,
      "stop": 5145.507,
      "target": 5169.786,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.91,
        "bb_width_pct": 0.546
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T15-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T15:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5153.6,
      "stop": 5148.865,
      "target": 5163.07,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.91,
        "bb_width_pct": 0.546
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T15-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T15:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5182.5,
      "stop": 5190.827,
      "target": 5165.847,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.46,
        "bb_width_pct": 0.654
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T15-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T15:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5182.5,
      "stop": 5190.504,
      "target": 5166.493,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.46,
        "bb_width_pct": 0.654
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T15-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T15:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5185.775,
      "stop": 5194.686,
      "target": 5167.953,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.37,
        "bb_width_pct": 0.829
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T15-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T15:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5185.775,
      "stop": 5197.865,
      "target": 5161.595,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.37,
        "bb_width_pct": 0.829
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T15-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T15:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5185.775,
      "stop": 5193.503,
      "target": 5170.32,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.37,
        "bb_width_pct": 0.829
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T16-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5178.885,
      "stop": 5187.53,
      "target": 5161.595,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.92,
        "bb_width_pct": 0.85
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T16-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T16:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5178.505,
      "stop": 5186.96,
      "target": 5161.595,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.83,
        "bb_width_pct": 0.904
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T16-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5181.555,
      "stop": 5191.535,
      "target": 5161.595,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.21,
        "bb_width_pct": 0.965
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T16-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T16:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5179.035,
      "stop": 5187.755,
      "target": 5161.595,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.21,
        "bb_width_pct": 0.946
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T17-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T17:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5179.8,
      "stop": 5188.903,
      "target": 5161.595,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.76,
        "bb_width_pct": 0.321
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T17-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T17:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5179.8,
      "stop": 5180.343,
      "target": 5178.714,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.76,
        "bb_width_pct": 0.321
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T17-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T17:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5174.445,
      "stop": 5171.223,
      "target": 5180.889,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.55,
        "bb_width_pct": 0.262
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T17-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T17:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5176.875,
      "stop": 5175.186,
      "target": 5180.253,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.3,
        "bb_width_pct": 0.221
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T17-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T17:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5174.15,
      "stop": 5171.389,
      "target": 5179.672,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.22,
        "bb_width_pct": 0.221
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T17-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T17:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5170.0,
      "stop": 5166.588,
      "target": 5176.824,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.9,
        "bb_width_pct": 0.283
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T17-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T17:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5167.035,
      "stop": 5162.607,
      "target": 5175.891,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.97,
        "bb_width_pct": 0.347
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T17-55-00Z_long_rsi_range_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T17:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5167.345,
      "stop": 5162.085,
      "target": 5177.865,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.89,
        "bb_width_pct": 0.391
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T17-55-00Z_long_vwap_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T17:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5167.345,
      "stop": 5162.917,
      "target": 5176.202,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.89,
        "bb_width_pct": 0.391
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T17-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T17:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5167.345,
      "stop": 5163.479,
      "target": 5175.077,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.89,
        "bb_width_pct": 0.391
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T18-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T18:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5170.32,
      "stop": 5167.043,
      "target": 5176.874,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.29,
        "bb_width_pct": 0.431
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T18-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T18:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5170.32,
      "stop": 5168.432,
      "target": 5174.096,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.29,
        "bb_width_pct": 0.431
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T18-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T18:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5180.905,
      "stop": 5184.05,
      "target": 5174.615,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.68,
        "bb_width_pct": 0.374
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T19-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T19:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5185.515,
      "stop": 5190.759,
      "target": 5175.026,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.22,
        "bb_width_pct": 0.416
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T19-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T19:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5186.27,
      "stop": 5191.596,
      "target": 5175.617,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.97,
        "bb_width_pct": 0.457
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T19-20-00Z_short_vwap_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T19:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5185.815,
      "stop": 5189.93,
      "target": 5177.586,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.36,
        "bb_width_pct": 0.548
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T19-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T19:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5185.815,
      "stop": 5190.975,
      "target": 5175.495,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.36,
        "bb_width_pct": 0.548
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T19-25-00Z_short_vwap_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T19:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5185.64,
      "stop": 5189.532,
      "target": 5177.855,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.06,
        "bb_width_pct": 0.548
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T19-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T19:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5185.64,
      "stop": 5190.713,
      "target": 5175.495,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.06,
        "bb_width_pct": 0.548
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T19-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T19:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5184.205,
      "stop": 5188.56,
      "target": 5175.495,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.59,
        "bb_width_pct": 0.504
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T19-50-00Z_short_vwap_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T19:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5189.8,
      "stop": 5195.024,
      "target": 5179.353,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.84,
        "bb_width_pct": 0.473
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T19-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T19:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5189.8,
      "stop": 5196.048,
      "target": 5177.305,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.84,
        "bb_width_pct": 0.473
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T19-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T19:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5189.8,
      "stop": 5192.666,
      "target": 5184.069,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.84,
        "bb_width_pct": 0.473
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T19-55-00Z_short_vwap_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T19:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5187.0,
      "stop": 5190.703,
      "target": 5179.593,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 9.51,
        "bb_width_pct": 0.453
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T19-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T19:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5187.0,
      "stop": 5191.847,
      "target": 5177.305,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.51,
        "bb_width_pct": 0.453
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T20-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T20:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5196.95,
      "stop": 5202.001,
      "target": 5186.849,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.16,
        "bb_width_pct": 0.399
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T20-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T20:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5194.59,
      "stop": 5197.988,
      "target": 5187.794,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.65,
        "bb_width_pct": 0.366
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T20-15-00Z_short_vwap_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T20:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5194.59,
      "stop": 5201.346,
      "target": 5181.078,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.65,
        "bb_width_pct": 0.366
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T20-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T20:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5194.59,
      "stop": 5202.241,
      "target": 5179.288,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.65,
        "bb_width_pct": 0.366
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T20-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T20:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5194.59,
      "stop": 5197.919,
      "target": 5187.931,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.65,
        "bb_width_pct": 0.366
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T20-25-00Z_short_vwap_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T20:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5193.775,
      "stop": 5199.771,
      "target": 5181.783,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.04,
        "bb_width_pct": 0.387
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T20-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T20:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5193.775,
      "stop": 5201.015,
      "target": 5179.295,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.04,
        "bb_width_pct": 0.387
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T20-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T20:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5193.775,
      "stop": 5195.99,
      "target": 5189.346,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.04,
        "bb_width_pct": 0.387
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T20-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T20:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5197.81,
      "stop": 5201.415,
      "target": 5190.6,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.67,
        "bb_width_pct": 0.354
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T20-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5198.325,
      "stop": 5201.82,
      "target": 5191.336,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.13,
        "bb_width_pct": 0.365
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T20-50-00Z_short_vwap_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T20:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5192.81,
      "stop": 5197.531,
      "target": 5183.368,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 1.67,
        "bb_width_pct": 0.369
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T20-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T20:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5192.81,
      "stop": 5198.831,
      "target": 5180.767,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.67,
        "bb_width_pct": 0.369
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T20-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T20:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5192.81,
      "stop": 5193.1,
      "target": 5192.229,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.67,
        "bb_width_pct": 0.369
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T21-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T21:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5198.69,
      "stop": 5201.424,
      "target": 5193.223,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.32,
        "bb_width_pct": 0.359
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T21-10-00Z_short_vwap_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T21:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5196.53,
      "stop": 5205.533,
      "target": 5178.524,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.06,
        "bb_width_pct": 0.336
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T21-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T21:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5196.53,
      "stop": 5204.411,
      "target": 5180.767,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.06,
        "bb_width_pct": 0.336
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T21-15-00Z_short_vwap_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T21:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5194.935,
      "stop": 5202.843,
      "target": 5179.119,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.28,
        "bb_width_pct": 0.283
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T21-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T21:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5194.935,
      "stop": 5202.019,
      "target": 5180.767,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.28,
        "bb_width_pct": 0.283
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T21-20-00Z_short_vwap_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T21:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5191.385,
      "stop": 5197.277,
      "target": 5179.6,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.11,
        "bb_width_pct": 0.249
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T21-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T21:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5191.385,
      "stop": 5196.694,
      "target": 5180.767,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.11,
        "bb_width_pct": 0.249
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T21-25-00Z_short_vwap_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T21:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5186.075,
      "stop": 5189.175,
      "target": 5179.874,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 18.23,
        "bb_width_pct": 0.292
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T21-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T21:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5187.29,
      "stop": 5183.63,
      "target": 5194.61,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.28,
        "bb_width_pct": 0.322
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T21-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T21:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5187.29,
      "stop": 5184.978,
      "target": 5191.913,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.28,
        "bb_width_pct": 0.322
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T21-45-00Z_short_vwap_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T21:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5187.415,
      "stop": 5190.727,
      "target": 5180.79,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 17.29,
        "bb_width_pct": 0.349
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T21-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T21:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5183.485,
      "stop": 5178.541,
      "target": 5193.373,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.44,
        "bb_width_pct": 0.387
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T21-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T21:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5185.17,
      "stop": 5182.711,
      "target": 5190.089,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.63,
        "bb_width_pct": 0.41
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T23-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5182.39,
      "stop": 5178.6,
      "target": 5189.97,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 24.78,
        "bb_width_pct": 0.436
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T23-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5184.71,
      "stop": 5181.228,
      "target": 5191.674,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.4,
        "bb_width_pct": 0.452
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T23-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5184.71,
      "stop": 5182.08,
      "target": 5189.97,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 24.4,
        "bb_width_pct": 0.452
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T23-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5184.71,
      "stop": 5182.608,
      "target": 5188.913,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.4,
        "bb_width_pct": 0.452
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T23-20-00Z_long_rsi_range_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T23:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5183.655,
      "stop": 5180.624,
      "target": 5189.716,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.62,
        "bb_width_pct": 0.458
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T23-25-00Z_long_rsi_range_reversion",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T23:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5183.93,
      "stop": 5181.441,
      "target": 5188.909,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.07,
        "bb_width_pct": 0.429
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-26T23-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T23:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5183.93,
      "stop": 5180.892,
      "target": 5190.005,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.07,
        "bb_width_pct": 0.429
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T00-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5180.195,
      "stop": 5177.469,
      "target": 5185.648,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.52,
        "bb_width_pct": 0.162
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T00-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T00:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5182.545,
      "stop": 5181.461,
      "target": 5184.712,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.25,
        "bb_width_pct": 0.165
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T00-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T00:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5182.545,
      "stop": 5178.884,
      "target": 5189.868,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.25,
        "bb_width_pct": 0.165
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T00-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T00:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5192.565,
      "stop": 5195.625,
      "target": 5186.445,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.94,
        "bb_width_pct": 0.202
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T00-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T00:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5188.095,
      "stop": 5189.642,
      "target": 5185.002,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.83,
        "bb_width_pct": 0.205
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T00-40-00Z_long_vwap_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T00:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5175.055,
      "stop": 5170.745,
      "target": 5183.676,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.78,
        "bb_width_pct": 0.312
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T00-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T00:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5175.055,
      "stop": 5169.443,
      "target": 5186.28,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.78,
        "bb_width_pct": 0.312
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T00-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T00:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5176.325,
      "stop": 5172.931,
      "target": 5183.114,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.19,
        "bb_width_pct": 0.374
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T00-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T00:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5176.325,
      "stop": 5171.708,
      "target": 5185.56,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.19,
        "bb_width_pct": 0.374
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T00-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T00:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5176.325,
      "stop": 5173.235,
      "target": 5182.506,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.19,
        "bb_width_pct": 0.374
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T01-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5175.455,
      "stop": 5172.047,
      "target": 5182.271,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.79,
        "bb_width_pct": 0.415
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T01-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5175.455,
      "stop": 5170.403,
      "target": 5185.56,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.79,
        "bb_width_pct": 0.415
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T01-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5175.455,
      "stop": 5172.585,
      "target": 5181.196,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.79,
        "bb_width_pct": 0.415
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T01-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T01:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5174.895,
      "stop": 5171.433,
      "target": 5181.82,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.62,
        "bb_width_pct": 0.432
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T01-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T01:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5174.895,
      "stop": 5172.045,
      "target": 5180.596,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.62,
        "bb_width_pct": 0.432
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T01-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T01:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5190.7,
      "stop": 5195.717,
      "target": 5180.666,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.05,
        "bb_width_pct": 0.455
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T01-40-00Z_short_vwap_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T01:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5188.82,
      "stop": 5193.001,
      "target": 5180.458,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.68,
        "bb_width_pct": 0.477
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T01-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T01:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5188.82,
      "stop": 5192.724,
      "target": 5181.012,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.68,
        "bb_width_pct": 0.477
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T01-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T01:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5188.82,
      "stop": 5192.509,
      "target": 5181.443,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.68,
        "bb_width_pct": 0.477
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T01-45-00Z_short_rsi_range_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T01:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5188.635,
      "stop": 5192.417,
      "target": 5181.072,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 16.55,
        "bb_width_pct": 0.494
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T01-45-00Z_short_vwap_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T01:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5188.635,
      "stop": 5192.537,
      "target": 5180.83,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 16.55,
        "bb_width_pct": 0.494
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T01-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T01:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5191.66,
      "stop": 5195.972,
      "target": 5183.036,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.8,
        "bb_width_pct": 0.52
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T02-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T02:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5193.455,
      "stop": 5199.359,
      "target": 5181.646,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.7,
        "bb_width_pct": 0.553
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T02-00-00Z_short_rsi_range_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T02:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5193.455,
      "stop": 5199.359,
      "target": 5181.646,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 22.7,
        "bb_width_pct": 0.553
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T02-00-00Z_short_vwap_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T02:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5193.455,
      "stop": 5199.049,
      "target": 5182.266,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 22.7,
        "bb_width_pct": 0.553
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T02-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T02:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5193.455,
      "stop": 5199.676,
      "target": 5181.012,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 22.7,
        "bb_width_pct": 0.553
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T02-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T02:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5193.455,
      "stop": 5197.679,
      "target": 5185.008,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.7,
        "bb_width_pct": 0.553
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T02-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T02:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5195.95,
      "stop": 5202.905,
      "target": 5182.039,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 24.4,
        "bb_width_pct": 0.595
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T02-10-00Z_short_rsi_range_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T02:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5194.56,
      "stop": 5200.508,
      "target": 5182.665,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 24.4,
        "bb_width_pct": 0.631
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T02-10-00Z_short_vwap_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T02:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5194.56,
      "stop": 5200.218,
      "target": 5183.243,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 24.4,
        "bb_width_pct": 0.631
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T02-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T02:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5194.56,
      "stop": 5200.13,
      "target": 5183.42,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 24.4,
        "bb_width_pct": 0.631
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T02-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T02:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5194.56,
      "stop": 5198.41,
      "target": 5186.861,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 24.4,
        "bb_width_pct": 0.631
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T02-15-00Z_short_rsi_range_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T02:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5191.525,
      "stop": 5195.535,
      "target": 5183.504,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 19.97,
        "bb_width_pct": 0.631
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T02-15-00Z_short_vwap_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T02:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5191.525,
      "stop": 5195.496,
      "target": 5183.584,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 19.97,
        "bb_width_pct": 0.631
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T02-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T02:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5191.525,
      "stop": 5195.577,
      "target": 5183.42,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 19.97,
        "bb_width_pct": 0.631
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T02-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T02:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5191.525,
      "stop": 5193.635,
      "target": 5187.305,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.97,
        "bb_width_pct": 0.631
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T02-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T02:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5178.585,
      "stop": 5174.924,
      "target": 5185.907,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.1,
        "bb_width_pct": 0.555
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T02-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T02:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5177.81,
      "stop": 5174.622,
      "target": 5184.185,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.03,
        "bb_width_pct": 0.507
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T03-15-00Z_long_rsi_range_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5183.845,
      "stop": 5182.585,
      "target": 5186.366,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.54,
        "bb_width_pct": 0.427
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T03-50-00Z_short_rsi_range_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T03:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5189.7,
      "stop": 5192.218,
      "target": 5184.663,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 21.28,
        "bb_width_pct": 0.284
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T03-50-00Z_short_vwap_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T03:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5189.7,
      "stop": 5192.654,
      "target": 5183.792,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 21.28,
        "bb_width_pct": 0.284
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T04-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T04:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5183.28,
      "stop": 5181.661,
      "target": 5186.519,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.2,
        "bb_width_pct": 0.134
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T04-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T04:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5181.795,
      "stop": 5179.879,
      "target": 5185.627,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.27,
        "bb_width_pct": 0.15
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T05-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5184.435,
      "stop": 5183.458,
      "target": 5186.389,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.08,
        "bb_width_pct": 0.152
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T05-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5194.18,
      "stop": 5197.555,
      "target": 5187.43,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.0,
        "bb_width_pct": 0.277
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T05-35-00Z_short_vwap_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5194.18,
      "stop": 5198.859,
      "target": 5184.822,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 17.0,
        "bb_width_pct": 0.277
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T05-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5194.18,
      "stop": 5198.476,
      "target": 5185.587,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.0,
        "bb_width_pct": 0.277
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T05-40-00Z_short_vwap_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5192.115,
      "stop": 5195.705,
      "target": 5184.935,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 9.73,
        "bb_width_pct": 0.286
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T05-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5192.115,
      "stop": 5195.379,
      "target": 5185.587,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.73,
        "bb_width_pct": 0.286
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T05-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5192.115,
      "stop": 5193.803,
      "target": 5188.74,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.73,
        "bb_width_pct": 0.286
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T05-45-00Z_short_vwap_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T05:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5191.35,
      "stop": 5194.506,
      "target": 5185.038,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.65,
        "bb_width_pct": 0.29
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T05-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5194.875,
      "stop": 5198.094,
      "target": 5188.436,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.27,
        "bb_width_pct": 0.311
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T05-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5194.875,
      "stop": 5197.538,
      "target": 5189.549,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.27,
        "bb_width_pct": 0.311
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T05-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T05:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5197.815,
      "stop": 5202.181,
      "target": 5189.083,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 26.66,
        "bb_width_pct": 0.341
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T06-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5193.77,
      "stop": 5195.967,
      "target": 5189.377,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.08,
        "bb_width_pct": 0.349
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T06-00-00Z_short_vwap_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5193.77,
      "stop": 5197.919,
      "target": 5185.472,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 21.08,
        "bb_width_pct": 0.349
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T06-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5193.77,
      "stop": 5197.098,
      "target": 5187.115,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 21.08,
        "bb_width_pct": 0.349
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T06-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5193.77,
      "stop": 5195.323,
      "target": 5190.663,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.08,
        "bb_width_pct": 0.349
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T06-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T06:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5197.21,
      "stop": 5199.987,
      "target": 5191.655,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.39,
        "bb_width_pct": 0.376
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T06-15-00Z_short_vwap_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T06:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5195.73,
      "stop": 5200.646,
      "target": 5185.898,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.96,
        "bb_width_pct": 0.384
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T06-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T06:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5195.73,
      "stop": 5198.181,
      "target": 5190.828,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.96,
        "bb_width_pct": 0.384
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T06-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T06:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5195.73,
      "stop": 5197.573,
      "target": 5192.043,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.96,
        "bb_width_pct": 0.384
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T06-20-00Z_short_vwap_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T06:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5195.16,
      "stop": 5199.729,
      "target": 5186.022,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.49,
        "bb_width_pct": 0.386
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T06-25-00Z_short_vwap_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T06:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5193.48,
      "stop": 5197.159,
      "target": 5186.123,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.1,
        "bb_width_pct": 0.376
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T06-30-00Z_short_vwap_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5192.56,
      "stop": 5195.73,
      "target": 5186.221,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.75,
        "bb_width_pct": 0.347
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T06-40-00Z_short_vwap_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T06:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5193.555,
      "stop": 5197.126,
      "target": 5186.412,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 1.06,
        "bb_width_pct": 0.262
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T06-45-00Z_short_vwap_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T06:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5192.02,
      "stop": 5194.787,
      "target": 5186.487,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.17,
        "bb_width_pct": 0.222
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T06-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T06:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5188.795,
      "stop": 5186.482,
      "target": 5193.421,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.46,
        "bb_width_pct": 0.212
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T06-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T06:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5185.77,
      "stop": 5182.824,
      "target": 5191.662,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.6,
        "bb_width_pct": 0.22
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T07-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T07:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5185.16,
      "stop": 5182.219,
      "target": 5191.042,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.16,
        "bb_width_pct": 0.251
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T07-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T07:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5187.36,
      "stop": 5184.637,
      "target": 5192.806,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.61,
        "bb_width_pct": 0.267
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T07-05-00Z_long_rsi_range_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T07:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5187.36,
      "stop": 5184.637,
      "target": 5192.806,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.61,
        "bb_width_pct": 0.267
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T07-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T07:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5183.005,
      "stop": 5179.096,
      "target": 5190.822,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.43,
        "bb_width_pct": 0.418
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T07-20-00Z_long_rsi_range_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T07:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5183.005,
      "stop": 5179.096,
      "target": 5190.822,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.43,
        "bb_width_pct": 0.418
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T07-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T07:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5183.005,
      "stop": 5179.951,
      "target": 5189.113,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 20.43,
        "bb_width_pct": 0.418
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T07-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T07:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5183.005,
      "stop": 5180.427,
      "target": 5188.162,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.43,
        "bb_width_pct": 0.418
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T07-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5180.245,
      "stop": 5175.639,
      "target": 5189.457,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.39,
        "bb_width_pct": 0.486
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T07-30-00Z_long_rsi_range_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5180.245,
      "stop": 5175.639,
      "target": 5189.457,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.39,
        "bb_width_pct": 0.486
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T07-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5180.245,
      "stop": 5175.811,
      "target": 5189.113,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 19.39,
        "bb_width_pct": 0.486
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T07-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5180.245,
      "stop": 5177.072,
      "target": 5186.591,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.39,
        "bb_width_pct": 0.486
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T07-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T07:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5181.285,
      "stop": 5177.819,
      "target": 5188.218,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 18.66,
        "bb_width_pct": 0.482
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T08-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5180.56,
      "stop": 5176.731,
      "target": 5188.218,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.32,
        "bb_width_pct": 0.44
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T08-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T08:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5180.72,
      "stop": 5176.971,
      "target": 5188.218,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.18,
        "bb_width_pct": 0.417
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T08-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T08:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5178.99,
      "stop": 5174.376,
      "target": 5188.218,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.08,
        "bb_width_pct": 0.356
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T08-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T08:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5175.005,
      "stop": 5171.619,
      "target": 5181.777,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.35,
        "bb_width_pct": 0.322
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T08-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T08:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5177.63,
      "stop": 5172.69,
      "target": 5187.51,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.25,
        "bb_width_pct": 0.272
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T08-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5181.76,
      "stop": 5178.885,
      "target": 5187.51,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.79,
        "bb_width_pct": 0.236
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T08-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T08:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5178.86,
      "stop": 5174.535,
      "target": 5187.51,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.57,
        "bb_width_pct": 0.15
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T09-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T09:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5178.25,
      "stop": 5177.681,
      "target": 5179.389,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.27,
        "bb_width_pct": 0.14
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T09-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T09:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5178.61,
      "stop": 5178.261,
      "target": 5179.307,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.11,
        "bb_width_pct": 0.139
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T09-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T09:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5178.61,
      "stop": 5174.16,
      "target": 5187.51,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.11,
        "bb_width_pct": 0.139
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T09-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T09:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5179.44,
      "stop": 5175.697,
      "target": 5186.925,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.89,
        "bb_width_pct": 0.124
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T09-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T09:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5179.045,
      "stop": 5179.108,
      "target": 5178.92,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.84,
        "bb_width_pct": 0.117
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T09-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5179.725,
      "stop": 5176.125,
      "target": 5186.925,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.27,
        "bb_width_pct": 0.117
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T09-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T09:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5177.105,
      "stop": 5176.161,
      "target": 5178.994,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.4,
        "bb_width_pct": 0.113
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T09-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T09:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5177.105,
      "stop": 5175.813,
      "target": 5179.689,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.4,
        "bb_width_pct": 0.113
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T09-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T09:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5173.385,
      "stop": 5170.533,
      "target": 5179.088,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.54,
        "bb_width_pct": 0.147
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T09-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T09:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5176.11,
      "stop": 5174.869,
      "target": 5178.591,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.13,
        "bb_width_pct": 0.154
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T09-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T09:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5176.11,
      "stop": 5171.942,
      "target": 5184.445,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.13,
        "bb_width_pct": 0.154
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T09-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T09:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5176.11,
      "stop": 5174.763,
      "target": 5178.805,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.13,
        "bb_width_pct": 0.154
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T10-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T10:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5172.63,
      "stop": 5169.837,
      "target": 5178.217,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.92,
        "bb_width_pct": 0.174
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T10-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T10:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5175.065,
      "stop": 5173.425,
      "target": 5178.344,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.04,
        "bb_width_pct": 0.183
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T10-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T10:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5175.065,
      "stop": 5171.501,
      "target": 5182.193,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.04,
        "bb_width_pct": 0.183
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T10-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T10:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5174.435,
      "stop": 5172.664,
      "target": 5177.978,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.22,
        "bb_width_pct": 0.184
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T10-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T10:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5174.435,
      "stop": 5172.86,
      "target": 5177.585,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.22,
        "bb_width_pct": 0.184
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T10-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T10:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5173.495,
      "stop": 5171.531,
      "target": 5177.423,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.48,
        "bb_width_pct": 0.186
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T10-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T10:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5174.53,
      "stop": 5173.364,
      "target": 5176.862,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.03,
        "bb_width_pct": 0.211
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T10-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T10:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5174.53,
      "stop": 5173.177,
      "target": 5177.235,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.03,
        "bb_width_pct": 0.211
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T11-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T11:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5179.005,
      "stop": 5180.568,
      "target": 5175.88,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.96,
        "bb_width_pct": 0.155
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T12-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T12:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5185.57,
      "stop": 5188.76,
      "target": 5179.189,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.89,
        "bb_width_pct": 0.321
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T12-10-00Z_short_rsi_range_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T12:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5185.57,
      "stop": 5188.76,
      "target": 5179.189,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 17.89,
        "bb_width_pct": 0.321
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T12-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T12:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5185.57,
      "stop": 5188.511,
      "target": 5179.688,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.89,
        "bb_width_pct": 0.321
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T12-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T12:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5185.57,
      "stop": 5188.031,
      "target": 5180.649,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.89,
        "bb_width_pct": 0.321
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T12-25-00Z_short_rsi_range_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T12:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5186.885,
      "stop": 5189.909,
      "target": 5180.838,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 21.9,
        "bb_width_pct": 0.369
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T12-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T12:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5186.885,
      "stop": 5190.484,
      "target": 5179.688,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 21.9,
        "bb_width_pct": 0.369
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T12-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T12:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5186.885,
      "stop": 5189.147,
      "target": 5182.36,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.9,
        "bb_width_pct": 0.369
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T12-30-00Z_short_rsi_range_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T12:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5185.775,
      "stop": 5188.028,
      "target": 5181.269,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 18.47,
        "bb_width_pct": 0.372
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T12-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T12:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5185.775,
      "stop": 5188.819,
      "target": 5179.688,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.47,
        "bb_width_pct": 0.372
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T12-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T12:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5185.775,
      "stop": 5187.32,
      "target": 5182.685,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.47,
        "bb_width_pct": 0.372
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T12-35-00Z_short_rsi_range_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T12:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5185.92,
      "stop": 5188.041,
      "target": 5181.679,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 16.04,
        "bb_width_pct": 0.374
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T12-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T12:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5185.065,
      "stop": 5187.754,
      "target": 5179.688,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.26,
        "bb_width_pct": 0.364
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T12-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T12:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5185.065,
      "stop": 5186.002,
      "target": 5183.191,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.26,
        "bb_width_pct": 0.364
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T12-45-00Z_short_rsi_range_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T12:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5184.765,
      "stop": 5185.897,
      "target": 5182.502,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 15.9,
        "bb_width_pct": 0.356
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T12-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T12:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5187.695,
      "stop": 5189.51,
      "target": 5184.066,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.47,
        "bb_width_pct": 0.298
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T14-25-00Z_short_vwap_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T14:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5231.345,
      "stop": 5243.511,
      "target": 5207.013,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.65,
        "bb_width_pct": 1.06
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T14-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T14:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5231.345,
      "stop": 5243.646,
      "target": 5206.743,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.65,
        "bb_width_pct": 1.06
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T14-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T14:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5231.345,
      "stop": 5238.247,
      "target": 5217.541,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.65,
        "bb_width_pct": 1.06
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T14-30-00Z_short_vwap_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5223.68,
      "stop": 5231.719,
      "target": 5207.602,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.62,
        "bb_width_pct": 0.909
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T14-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5223.68,
      "stop": 5232.149,
      "target": 5206.743,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.62,
        "bb_width_pct": 0.909
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T14-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5223.68,
      "stop": 5226.457,
      "target": 5218.126,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.62,
        "bb_width_pct": 0.909
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T14-45-00Z_short_vwap_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T14:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5222.99,
      "stop": 5230.037,
      "target": 5208.895,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.48,
        "bb_width_pct": 0.502
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T14-55-00Z_short_vwap_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T14:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5223.76,
      "stop": 5230.737,
      "target": 5209.806,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.9,
        "bb_width_pct": 0.455
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T15-00-00Z_short_vwap_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T15:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5222.61,
      "stop": 5228.827,
      "target": 5210.175,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.45,
        "bb_width_pct": 0.416
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T15-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T15:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5230.33,
      "stop": 5233.653,
      "target": 5223.683,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.14,
        "bb_width_pct": 0.38
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T15-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T15:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5230.33,
      "stop": 5234.777,
      "target": 5221.435,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.14,
        "bb_width_pct": 0.38
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T15-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T15:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5237.945,
      "stop": 5245.414,
      "target": 5223.007,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.04,
        "bb_width_pct": 0.448
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T15-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T15:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5223.31,
      "stop": 5228.979,
      "target": 5211.972,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.2,
        "bb_width_pct": 0.439
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T15-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T15:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5223.31,
      "stop": 5223.447,
      "target": 5223.036,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.2,
        "bb_width_pct": 0.439
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T15-30-00Z_short_vwap_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T15:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5229.215,
      "stop": 5237.458,
      "target": 5212.729,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 1.34,
        "bb_width_pct": 0.369
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T15-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T15:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5229.215,
      "stop": 5237.836,
      "target": 5211.972,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.34,
        "bb_width_pct": 0.369
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T15-40-00Z_short_vwap_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T15:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5231.44,
      "stop": 5240.377,
      "target": 5213.566,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.42,
        "bb_width_pct": 0.385
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T15-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T15:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5231.44,
      "stop": 5241.174,
      "target": 5211.972,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.42,
        "bb_width_pct": 0.385
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T15-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T15:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5234.405,
      "stop": 5237.575,
      "target": 5228.064,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.1,
        "bb_width_pct": 0.405
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T15-50-00Z_short_vwap_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T15:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5234.405,
      "stop": 5244.357,
      "target": 5214.502,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.1,
        "bb_width_pct": 0.405
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T15-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T15:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5234.405,
      "stop": 5245.621,
      "target": 5211.972,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.1,
        "bb_width_pct": 0.405
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T15-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T15:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5234.405,
      "stop": 5238.013,
      "target": 5227.188,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.1,
        "bb_width_pct": 0.405
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T15-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T15:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5239.475,
      "stop": 5244.909,
      "target": 5228.606,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.55,
        "bb_width_pct": 0.448
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T15-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T15:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5239.475,
      "stop": 5245.033,
      "target": 5228.359,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.55,
        "bb_width_pct": 0.448
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T16-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5244.07,
      "stop": 5251.178,
      "target": 5229.855,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.7,
        "bb_width_pct": 0.513
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T16-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T16:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5244.275,
      "stop": 5251.504,
      "target": 5229.818,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.58,
        "bb_width_pct": 0.571
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T16-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T16:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5250.51,
      "stop": 5259.312,
      "target": 5232.907,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.67,
        "bb_width_pct": 0.719
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T16-15-00Z_short_vwap_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T16:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5250.51,
      "stop": 5267.008,
      "target": 5217.514,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.67,
        "bb_width_pct": 0.719
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T16-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T16:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5250.51,
      "stop": 5265.088,
      "target": 5221.355,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.67,
        "bb_width_pct": 0.719
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T16-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T16:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5250.51,
      "stop": 5258.26,
      "target": 5235.01,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.67,
        "bb_width_pct": 0.719
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T16-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T16:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5230.085,
      "stop": 5232.337,
      "target": 5225.58,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.14,
        "bb_width_pct": 0.709
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T16-30-00Z_short_vwap_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T16:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5232.85,
      "stop": 5240.081,
      "target": 5218.387,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.75,
        "bb_width_pct": 0.673
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T16-45-00Z_short_vwap_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5234.725,
      "stop": 5242.463,
      "target": 5219.248,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.36,
        "bb_width_pct": 0.607
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T16-50-00Z_short_vwap_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T16:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5231.67,
      "stop": 5237.761,
      "target": 5219.488,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.88,
        "bb_width_pct": 0.609
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T17-25-00Z_long_rsi_range_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T17:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5228.855,
      "stop": 5225.447,
      "target": 5235.672,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.09,
        "bb_width_pct": 0.541
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T17-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T17:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5228.715,
      "stop": 5225.379,
      "target": 5235.387,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.98,
        "bb_width_pct": 0.553
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T17-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T17:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5228.715,
      "stop": 5227.159,
      "target": 5231.828,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.98,
        "bb_width_pct": 0.553
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T18-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T18:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5236.17,
      "stop": 5237.962,
      "target": 5232.586,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.54,
        "bb_width_pct": 0.222
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T18-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T18:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5228.175,
      "stop": 5226.192,
      "target": 5232.141,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.12,
        "bb_width_pct": 0.222
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T18-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T18:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5230.7,
      "stop": 5230.08,
      "target": 5231.939,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.37,
        "bb_width_pct": 0.219
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T18-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T18:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5230.7,
      "stop": 5229.746,
      "target": 5232.608,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.37,
        "bb_width_pct": 0.219
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T18-55-00Z_short_vwap_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T18:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5245.34,
      "stop": 5251.325,
      "target": 5233.369,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.24,
        "bb_width_pct": 0.418
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T19-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T19:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5248.555,
      "stop": 5254.607,
      "target": 5236.452,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.03,
        "bb_width_pct": 0.514
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T19-05-00Z_short_rsi_range_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T19:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5248.555,
      "stop": 5254.607,
      "target": 5236.452,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 17.03,
        "bb_width_pct": 0.514
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T19-05-00Z_short_vwap_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T19:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5248.555,
      "stop": 5255.542,
      "target": 5234.58,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 17.03,
        "bb_width_pct": 0.514
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T19-10-00Z_short_vwap_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T19:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5246.835,
      "stop": 5252.762,
      "target": 5234.981,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.77,
        "bb_width_pct": 0.523
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T19-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T19:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5246.835,
      "stop": 5250.632,
      "target": 5239.242,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.77,
        "bb_width_pct": 0.523
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T19-20-00Z_short_vwap_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T19:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5248.0,
      "stop": 5254.033,
      "target": 5235.933,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 18.36,
        "bb_width_pct": 0.56
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T19-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T19:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5248.0,
      "stop": 5251.493,
      "target": 5241.015,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.36,
        "bb_width_pct": 0.56
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T19-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T19:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5249.385,
      "stop": 5252.858,
      "target": 5242.439,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 23.73,
        "bb_width_pct": 0.594
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T19-35-00Z_short_rsi_range_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T19:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5247.2,
      "stop": 5250.296,
      "target": 5241.007,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 25.26,
        "bb_width_pct": 0.596
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T19-35-00Z_short_vwap_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T19:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5247.2,
      "stop": 5252.238,
      "target": 5237.123,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 25.26,
        "bb_width_pct": 0.596
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T19-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T19:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5247.2,
      "stop": 5252.502,
      "target": 5236.595,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 25.26,
        "bb_width_pct": 0.596
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T19-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T19:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5247.2,
      "stop": 5249.354,
      "target": 5242.892,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 25.26,
        "bb_width_pct": 0.596
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T19-40-00Z_short_rsi_range_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T19:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5246.245,
      "stop": 5248.612,
      "target": 5241.511,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 21.41,
        "bb_width_pct": 0.595
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T19-40-00Z_short_vwap_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T19:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5246.245,
      "stop": 5250.67,
      "target": 5237.396,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 21.41,
        "bb_width_pct": 0.595
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T19-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T19:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5246.245,
      "stop": 5251.07,
      "target": 5236.595,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 21.41,
        "bb_width_pct": 0.595
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T19-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T19:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5250.095,
      "stop": 5252.764,
      "target": 5244.756,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.8,
        "bb_width_pct": 0.569
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T20-00-00Z_short_vwap_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T20:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5249.025,
      "stop": 5254.203,
      "target": 5238.67,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.16,
        "bb_width_pct": 0.505
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T20-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T20:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5249.025,
      "stop": 5255.24,
      "target": 5236.595,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.16,
        "bb_width_pct": 0.505
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T20-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T20:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5249.025,
      "stop": 5250.956,
      "target": 5245.163,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.16,
        "bb_width_pct": 0.505
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T20-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T20:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5251.68,
      "stop": 5254.364,
      "target": 5246.311,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.63,
        "bb_width_pct": 0.347
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T20-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T20:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5256.955,
      "stop": 5260.461,
      "target": 5249.943,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.54,
        "bb_width_pct": 0.295
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T20-25-00Z_short_vwap_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T20:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5256.955,
      "stop": 5265.132,
      "target": 5240.601,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 16.54,
        "bb_width_pct": 0.295
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T20-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T20:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5256.955,
      "stop": 5264.674,
      "target": 5241.517,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 16.54,
        "bb_width_pct": 0.295
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T20-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T20:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5258.935,
      "stop": 5263.091,
      "target": 5250.622,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.72,
        "bb_width_pct": 0.319
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T20-35-00Z_short_vwap_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T20:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5256.755,
      "stop": 5264.441,
      "target": 5241.383,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.41,
        "bb_width_pct": 0.32
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T20-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T20:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5256.755,
      "stop": 5264.374,
      "target": 5241.517,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.41,
        "bb_width_pct": 0.32
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T20-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5260.075,
      "stop": 5264.28,
      "target": 5251.666,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.1,
        "bb_width_pct": 0.352
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T20-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T20:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5263.14,
      "stop": 5268.119,
      "target": 5253.182,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 26.02,
        "bb_width_pct": 0.417
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T20-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T20:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5263.47,
      "stop": 5268.281,
      "target": 5253.849,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 24.88,
        "bb_width_pct": 0.446
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T21-00-00Z_short_vwap_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T21:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5259.82,
      "stop": 5299.671,
      "target": 5180.119,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.63,
        "bb_width_pct": 0.444
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T21-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T21:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5259.82,
      "stop": 5267.664,
      "target": 5244.132,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.63,
        "bb_width_pct": 0.444
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T21-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T21:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5259.82,
      "stop": 5262.145,
      "target": 5255.17,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.63,
        "bb_width_pct": 0.444
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T21-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T21:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5261.09,
      "stop": 5263.768,
      "target": 5255.733,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.94,
        "bb_width_pct": 0.444
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T21-10-00Z_short_vwap_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T21:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5259.865,
      "stop": 5296.75,
      "target": 5186.094,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.32,
        "bb_width_pct": 0.439
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T21-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T21:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5259.865,
      "stop": 5267.731,
      "target": 5244.132,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.32,
        "bb_width_pct": 0.439
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T21-15-00Z_short_vwap_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T21:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5259.17,
      "stop": 5294.407,
      "target": 5188.697,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.6,
        "bb_width_pct": 0.417
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T21-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T21:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5259.17,
      "stop": 5266.689,
      "target": 5244.132,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.6,
        "bb_width_pct": 0.417
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T21-30-00Z_short_vwap_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T21:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5261.98,
      "stop": 5295.077,
      "target": 5195.787,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.45,
        "bb_width_pct": 0.34
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T21-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T21:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5261.98,
      "stop": 5270.904,
      "target": 5244.132,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.45,
        "bb_width_pct": 0.34
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T21-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T21:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5278.51,
      "stop": 5285.477,
      "target": 5264.576,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 23.15,
        "bb_width_pct": 0.55
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T21-55-00Z_short_rsi_range_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T21:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5278.51,
      "stop": 5285.477,
      "target": 5264.576,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 23.15,
        "bb_width_pct": 0.55
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T21-55-00Z_short_vwap_mean_reversion",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T21:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5278.51,
      "stop": 5314.355,
      "target": 5206.82,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 23.15,
        "bb_width_pct": 0.55
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-02-27T21-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T21:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5278.51,
      "stop": 5289.86,
      "target": 5255.81,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 23.15,
        "bb_width_pct": 0.55
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T00-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T00:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5345.7,
      "stop": 5334.362,
      "target": 5368.376,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.91,
        "bb_width_pct": 0.927
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T00-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T00:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5347.58,
      "stop": 5337.182,
      "target": 5368.377,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.61,
        "bb_width_pct": 0.927
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T00-55-00Z_long_rsi_range_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T00:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5347.58,
      "stop": 5337.182,
      "target": 5368.377,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.61,
        "bb_width_pct": 0.927
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T00-55-00Z_long_vwap_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T00:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5347.58,
      "stop": 5339.048,
      "target": 5364.643,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.61,
        "bb_width_pct": 0.927
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T02-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5346.01,
      "stop": 5353.149,
      "target": 5331.732,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.35,
        "bb_width_pct": 0.666
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T03-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5353.19,
      "stop": 5362.7,
      "target": 5334.169,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.74,
        "bb_width_pct": 0.782
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T03-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5353.19,
      "stop": 5359.883,
      "target": 5339.804,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.74,
        "bb_width_pct": 0.782
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T03-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T03:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5352.165,
      "stop": 5360.054,
      "target": 5336.386,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.87,
        "bb_width_pct": 0.692
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T03-05-00Z_short_rsi_range_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T03:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5352.165,
      "stop": 5360.054,
      "target": 5336.386,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 21.87,
        "bb_width_pct": 0.692
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T03-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T03:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5352.165,
      "stop": 5357.757,
      "target": 5340.981,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.87,
        "bb_width_pct": 0.692
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T03-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T03:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5355.15,
      "stop": 5363.81,
      "target": 5337.83,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.88,
        "bb_width_pct": 0.733
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T03-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T03:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5355.15,
      "stop": 5361.56,
      "target": 5342.33,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.88,
        "bb_width_pct": 0.733
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T03-20-00Z_short_rsi_range_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T03:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5357.23,
      "stop": 5365.725,
      "target": 5340.24,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 25.62,
        "bb_width_pct": 0.852
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T03-20-00Z_short_vwap_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T03:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5357.23,
      "stop": 5363.591,
      "target": 5344.507,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 25.62,
        "bb_width_pct": 0.852
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T03-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T03:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5357.23,
      "stop": 5363.258,
      "target": 5345.174,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 25.62,
        "bb_width_pct": 0.852
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T03-25-00Z_short_rsi_range_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5355.67,
      "stop": 5362.764,
      "target": 5341.481,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 20.11,
        "bb_width_pct": 0.871
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T03-25-00Z_short_vwap_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5355.67,
      "stop": 5361.109,
      "target": 5344.792,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 20.11,
        "bb_width_pct": 0.871
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T03-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5355.67,
      "stop": 5360.418,
      "target": 5346.173,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.11,
        "bb_width_pct": 0.871
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T03-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5358.57,
      "stop": 5364.178,
      "target": 5347.354,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 24.63,
        "bb_width_pct": 0.911
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T03-40-00Z_short_rsi_range_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T03:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5362.705,
      "stop": 5370.849,
      "target": 5346.418,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 21.72,
        "bb_width_pct": 0.898
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T03-40-00Z_short_vwap_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T03:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5362.705,
      "stop": 5371.134,
      "target": 5345.848,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 21.72,
        "bb_width_pct": 0.898
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T03-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T03:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5362.705,
      "stop": 5374.875,
      "target": 5338.365,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 21.72,
        "bb_width_pct": 0.898
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T04-00-00Z_short_rsi_range_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T04:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5360.1,
      "stop": 5363.54,
      "target": 5353.221,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 15.11,
        "bb_width_pct": 0.727
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T04-00-00Z_short_vwap_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T04:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5360.1,
      "stop": 5366.515,
      "target": 5347.27,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.11,
        "bb_width_pct": 0.727
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T04-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T04:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5360.1,
      "stop": 5372.57,
      "target": 5335.16,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.11,
        "bb_width_pct": 0.727
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T04-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T04:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5360.1,
      "stop": 5362.901,
      "target": 5354.498,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.11,
        "bb_width_pct": 0.727
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T04-05-00Z_short_vwap_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5357.235,
      "stop": 5362.101,
      "target": 5347.503,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.46,
        "bb_width_pct": 0.627
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T04-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5357.235,
      "stop": 5368.174,
      "target": 5335.358,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.46,
        "bb_width_pct": 0.627
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T04-10-00Z_short_vwap_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T04:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5356.255,
      "stop": 5360.524,
      "target": 5347.716,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.75,
        "bb_width_pct": 0.528
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T04-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T04:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5356.255,
      "stop": 5366.704,
      "target": 5335.358,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.75,
        "bb_width_pct": 0.528
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T04-20-00Z_short_vwap_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5364.18,
      "stop": 5372.12,
      "target": 5348.3,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.17,
        "bb_width_pct": 0.469
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T04-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5364.18,
      "stop": 5378.591,
      "target": 5335.358,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.17,
        "bb_width_pct": 0.469
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T04-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5364.18,
      "stop": 5367.951,
      "target": 5356.639,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.17,
        "bb_width_pct": 0.469
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T04-25-00Z_short_vwap_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T04:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5363.565,
      "stop": 5371.052,
      "target": 5348.592,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.94,
        "bb_width_pct": 0.434
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T04-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T04:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5363.565,
      "stop": 5377.669,
      "target": 5335.358,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.94,
        "bb_width_pct": 0.434
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T04-30-00Z_short_vwap_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T04:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5361.06,
      "stop": 5367.176,
      "target": 5348.828,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.73,
        "bb_width_pct": 0.368
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T04-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T04:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5361.06,
      "stop": 5373.911,
      "target": 5335.358,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.73,
        "bb_width_pct": 0.368
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T04-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5350.59,
      "stop": 5346.184,
      "target": 5359.402,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.73,
        "bb_width_pct": 0.335
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T04-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5350.59,
      "stop": 5358.206,
      "target": 5335.358,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.73,
        "bb_width_pct": 0.335
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T04-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5350.59,
      "stop": 5347.393,
      "target": 5356.984,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.73,
        "bb_width_pct": 0.335
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T04-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5354.235,
      "stop": 5351.625,
      "target": 5359.455,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.58,
        "bb_width_pct": 0.33
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T04-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5353.85,
      "stop": 5351.006,
      "target": 5359.539,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.84,
        "bb_width_pct": 0.321
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T05-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5351.095,
      "stop": 5347.011,
      "target": 5359.262,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.66,
        "bb_width_pct": 0.345
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T05-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5350.09,
      "stop": 5345.924,
      "target": 5358.423,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.64,
        "bb_width_pct": 0.418
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T05-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5349.39,
      "stop": 5345.24,
      "target": 5357.69,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.23,
        "bb_width_pct": 0.43
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T05-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5349.39,
      "stop": 5346.966,
      "target": 5354.239,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.23,
        "bb_width_pct": 0.43
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T05-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T05:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5363.395,
      "stop": 5367.279,
      "target": 5355.627,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.37,
        "bb_width_pct": 0.408
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T05-50-00Z_short_vwap_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5362.95,
      "stop": 5369.389,
      "target": 5350.072,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.87,
        "bb_width_pct": 0.423
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T05-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5362.95,
      "stop": 5369.452,
      "target": 5349.945,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.87,
        "bb_width_pct": 0.423
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T05-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5362.95,
      "stop": 5366.263,
      "target": 5356.324,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.87,
        "bb_width_pct": 0.423
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T05-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T05:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5366.04,
      "stop": 5370.435,
      "target": 5357.249,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.99,
        "bb_width_pct": 0.43
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T06-00-00Z_short_vwap_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5365.37,
      "stop": 5372.814,
      "target": 5350.481,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.4,
        "bb_width_pct": 0.437
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T06-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5365.37,
      "stop": 5371.019,
      "target": 5354.073,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.4,
        "bb_width_pct": 0.437
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T06-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5365.37,
      "stop": 5369.044,
      "target": 5358.023,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.4,
        "bb_width_pct": 0.437
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T06-35-00Z_short_rsi_range_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5378.015,
      "stop": 5385.093,
      "target": 5363.859,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 25.47,
        "bb_width_pct": 0.872
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T06-35-00Z_short_vwap_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5378.015,
      "stop": 5390.596,
      "target": 5352.853,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 25.47,
        "bb_width_pct": 0.872
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T06-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5378.015,
      "stop": 5386.189,
      "target": 5361.667,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 25.47,
        "bb_width_pct": 0.872
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T06-40-00Z_short_rsi_range_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T06:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5375.61,
      "stop": 5380.873,
      "target": 5365.085,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 19.9,
        "bb_width_pct": 0.863
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T06-40-00Z_short_vwap_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T06:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5375.61,
      "stop": 5386.844,
      "target": 5353.142,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 19.9,
        "bb_width_pct": 0.863
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T06-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T06:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5375.61,
      "stop": 5382.404,
      "target": 5362.023,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 19.9,
        "bb_width_pct": 0.863
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T06-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T06:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5375.61,
      "stop": 5378.968,
      "target": 5368.895,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.9,
        "bb_width_pct": 0.863
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T07-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T07:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5408.57,
      "stop": 5420.085,
      "target": 5385.54,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 27.11,
        "bb_width_pct": 1.157
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T07-25-00Z_short_rsi_range_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T07:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5408.57,
      "stop": 5420.085,
      "target": 5385.54,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 27.11,
        "bb_width_pct": 1.157
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T07-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T07:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5408.57,
      "stop": 5422.735,
      "target": 5380.24,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 27.11,
        "bb_width_pct": 1.157
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T07-35-00Z_short_rsi_range_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T07:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5405.775,
      "stop": 5413.743,
      "target": 5389.838,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 23.78,
        "bb_width_pct": 1.121
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T07-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T07:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5405.775,
      "stop": 5418.542,
      "target": 5380.24,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 23.78,
        "bb_width_pct": 1.121
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T07-40-00Z_short_rsi_range_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T07:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5402.97,
      "stop": 5408.596,
      "target": 5391.718,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 22.35,
        "bb_width_pct": 1.058
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T07-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T07:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5402.97,
      "stop": 5414.335,
      "target": 5380.24,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 22.35,
        "bb_width_pct": 1.058
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T07-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T07:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5402.97,
      "stop": 5407.907,
      "target": 5393.096,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.35,
        "bb_width_pct": 1.058
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T07-50-00Z_short_rsi_range_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T07:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5407.69,
      "stop": 5413.985,
      "target": 5395.101,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 19.41,
        "bb_width_pct": 1.045
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T07-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T07:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5407.69,
      "stop": 5421.415,
      "target": 5380.24,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 19.41,
        "bb_width_pct": 1.045
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T07-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T07:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5407.69,
      "stop": 5413.501,
      "target": 5396.068,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.41,
        "bb_width_pct": 1.045
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T08-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5405.42,
      "stop": 5418.01,
      "target": 5380.24,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.43,
        "bb_width_pct": 0.985
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T08-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5405.42,
      "stop": 5409.129,
      "target": 5398.002,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.43,
        "bb_width_pct": 0.985
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T08-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T08:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5411.82,
      "stop": 5418.071,
      "target": 5399.318,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.47,
        "bb_width_pct": 0.964
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T08-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T08:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5409.57,
      "stop": 5424.235,
      "target": 5380.24,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.36,
        "bb_width_pct": 0.909
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T08-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T08:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5405.525,
      "stop": 5418.167,
      "target": 5380.24,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.47,
        "bb_width_pct": 0.822
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T08-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5414.19,
      "stop": 5431.165,
      "target": 5380.24,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.18,
        "bb_width_pct": 0.554
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T08-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5414.19,
      "stop": 5419.416,
      "target": 5403.738,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.18,
        "bb_width_pct": 0.554
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T08-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5408.96,
      "stop": 5421.481,
      "target": 5383.917,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.22,
        "bb_width_pct": 0.449
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T08-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T08:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5401.78,
      "stop": 5398.395,
      "target": 5408.551,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.47,
        "bb_width_pct": 0.33
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T08-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T08:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5401.78,
      "stop": 5410.534,
      "target": 5384.273,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.47,
        "bb_width_pct": 0.33
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T08-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T08:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5400.31,
      "stop": 5396.112,
      "target": 5408.707,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.08,
        "bb_width_pct": 0.331
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T08-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T08:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5400.31,
      "stop": 5407.203,
      "target": 5386.525,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.08,
        "bb_width_pct": 0.331
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T09-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T09:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5397.865,
      "stop": 5393.835,
      "target": 5405.925,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.22,
        "bb_width_pct": 0.446
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T09-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T09:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5394.695,
      "stop": 5389.443,
      "target": 5405.2,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.09,
        "bb_width_pct": 0.477
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T09-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T09:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5396.335,
      "stop": 5392.425,
      "target": 5404.155,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.39,
        "bb_width_pct": 0.541
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T09-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T09:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5396.335,
      "stop": 5394.597,
      "target": 5399.812,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.39,
        "bb_width_pct": 0.541
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T09-50-00Z_long_vwap_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T09:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5392.775,
      "stop": 5387.776,
      "target": 5402.774,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.98,
        "bb_width_pct": 0.552
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T10-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T10:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5385.94,
      "stop": 5381.015,
      "target": 5395.791,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.85,
        "bb_width_pct": 0.583
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T10-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T10:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5390.915,
      "stop": 5387.915,
      "target": 5396.915,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.52,
        "bb_width_pct": 0.511
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T10-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T10:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5390.915,
      "stop": 5385.845,
      "target": 5401.055,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.52,
        "bb_width_pct": 0.511
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T10-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T10:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5390.915,
      "stop": 5388.709,
      "target": 5395.326,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.52,
        "bb_width_pct": 0.511
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T10-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T10:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5390.025,
      "stop": 5388.462,
      "target": 5393.151,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.22,
        "bb_width_pct": 0.258
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T10-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T10:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5390.025,
      "stop": 5385.359,
      "target": 5399.358,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.22,
        "bb_width_pct": 0.258
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T10-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T10:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5394.845,
      "stop": 5395.766,
      "target": 5393.003,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.9,
        "bb_width_pct": 0.252
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T10-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T10:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5386.495,
      "stop": 5383.446,
      "target": 5392.593,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.53,
        "bb_width_pct": 0.271
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T10-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T10:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5389.435,
      "stop": 5387.908,
      "target": 5392.489,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.09,
        "bb_width_pct": 0.275
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T10-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T10:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5389.435,
      "stop": 5385.153,
      "target": 5398.0,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 3.09,
        "bb_width_pct": 0.275
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T11-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T11:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5388.735,
      "stop": 5387.467,
      "target": 5391.271,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.05,
        "bb_width_pct": 0.272
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T11-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T11:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5388.735,
      "stop": 5384.102,
      "target": 5398.0,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 2.05,
        "bb_width_pct": 0.272
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T11-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T11:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5396.02,
      "stop": 5398.415,
      "target": 5391.231,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.05,
        "bb_width_pct": 0.282
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T11-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T11:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5381.15,
      "stop": 5376.161,
      "target": 5391.127,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.19,
        "bb_width_pct": 0.317
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T11-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T11:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5385.41,
      "stop": 5383.092,
      "target": 5390.047,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.97,
        "bb_width_pct": 0.383
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T11-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T11:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5385.41,
      "stop": 5381.766,
      "target": 5392.698,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.97,
        "bb_width_pct": 0.383
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T12-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5386.905,
      "stop": 5385.363,
      "target": 5389.989,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.35,
        "bb_width_pct": 0.385
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T12-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5386.905,
      "stop": 5384.009,
      "target": 5392.698,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 2.35,
        "bb_width_pct": 0.385
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T13-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5401.27,
      "stop": 5406.071,
      "target": 5391.669,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.23,
        "bb_width_pct": 0.413
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T13-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T13:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5397.63,
      "stop": 5400.438,
      "target": 5392.015,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.57,
        "bb_width_pct": 0.423
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T13-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T13:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5397.63,
      "stop": 5402.151,
      "target": 5388.587,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.57,
        "bb_width_pct": 0.423
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T13-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T13:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5397.63,
      "stop": 5399.642,
      "target": 5393.606,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.57,
        "bb_width_pct": 0.423
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T13-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T13:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5405.725,
      "stop": 5411.59,
      "target": 5393.996,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.87,
        "bb_width_pct": 0.483
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T13-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T13:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5401.685,
      "stop": 5405.988,
      "target": 5393.08,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.96,
        "bb_width_pct": 0.469
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T13-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T13:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5401.685,
      "stop": 5406.37,
      "target": 5392.315,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.96,
        "bb_width_pct": 0.469
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T13-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5401.095,
      "stop": 5404.539,
      "target": 5394.207,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.65,
        "bb_width_pct": 0.416
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T13-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5401.095,
      "stop": 5405.485,
      "target": 5392.315,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.65,
        "bb_width_pct": 0.416
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T13-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5401.095,
      "stop": 5403.975,
      "target": 5395.335,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.65,
        "bb_width_pct": 0.416
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T14-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T14:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5375.345,
      "stop": 5366.575,
      "target": 5392.886,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.02,
        "bb_width_pct": 0.662
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T14-10-00Z_long_vwap_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T14:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5375.345,
      "stop": 5366.544,
      "target": 5392.947,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.02,
        "bb_width_pct": 0.662
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T14-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T14:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5375.345,
      "stop": 5365.971,
      "target": 5394.093,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.02,
        "bb_width_pct": 0.662
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T14-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T14:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5375.345,
      "stop": 5368.109,
      "target": 5389.817,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.02,
        "bb_width_pct": 0.662
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T15-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T15:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5315.605,
      "stop": 5302.604,
      "target": 5341.607,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.6,
        "bb_width_pct": 0.697
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T17-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T17:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5319.695,
      "stop": 5329.689,
      "target": 5299.708,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.08,
        "bb_width_pct": 0.756
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T17-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T17:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5310.075,
      "stop": 5315.397,
      "target": 5299.431,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.82,
        "bb_width_pct": 0.728
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T19-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T19:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5325.39,
      "stop": 5334.233,
      "target": 5307.704,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 23.57,
        "bb_width_pct": 0.891
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T19-15-00Z_short_rsi_range_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T19:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5325.39,
      "stop": 5334.233,
      "target": 5307.704,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 23.57,
        "bb_width_pct": 0.891
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T19-15-00Z_short_vwap_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T19:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5325.39,
      "stop": 5334.908,
      "target": 5306.354,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 23.57,
        "bb_width_pct": 0.891
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T19-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T19:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5325.39,
      "stop": 5339.669,
      "target": 5296.833,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 23.57,
        "bb_width_pct": 0.891
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T19-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T19:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5325.39,
      "stop": 5331.83,
      "target": 5312.51,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 23.57,
        "bb_width_pct": 0.891
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T19-20-00Z_short_rsi_range_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T19:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5325.215,
      "stop": 5333.446,
      "target": 5308.753,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 17.71,
        "bb_width_pct": 0.933
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T19-20-00Z_short_vwap_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T19:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5325.215,
      "stop": 5334.338,
      "target": 5306.968,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 17.71,
        "bb_width_pct": 0.933
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T19-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T19:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5325.215,
      "stop": 5336.206,
      "target": 5303.233,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.71,
        "bb_width_pct": 0.933
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T19-30-00Z_short_rsi_range_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T19:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5330.585,
      "stop": 5340.175,
      "target": 5311.405,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 27.97,
        "bb_width_pct": 1.045
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T19-30-00Z_short_vwap_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T19:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5330.585,
      "stop": 5341.664,
      "target": 5308.428,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 27.97,
        "bb_width_pct": 1.045
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T19-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T19:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5330.585,
      "stop": 5342.151,
      "target": 5307.452,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 27.97,
        "bb_width_pct": 1.045
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T19-35-00Z_short_rsi_range_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T19:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5329.285,
      "stop": 5337.668,
      "target": 5312.52,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 27.02,
        "bb_width_pct": 1.082
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T19-35-00Z_short_vwap_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T19:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5329.285,
      "stop": 5339.364,
      "target": 5309.127,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 27.02,
        "bb_width_pct": 1.082
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T19-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T19:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5329.285,
      "stop": 5340.101,
      "target": 5307.653,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 27.02,
        "bb_width_pct": 1.082
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T19-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T19:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5329.285,
      "stop": 5334.931,
      "target": 5317.994,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 27.02,
        "bb_width_pct": 1.082
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T19-40-00Z_short_rsi_range_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T19:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5325.075,
      "stop": 5330.719,
      "target": 5313.787,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 26.67,
        "bb_width_pct": 1.077
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T19-40-00Z_short_vwap_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T19:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5325.075,
      "stop": 5332.784,
      "target": 5309.658,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 26.67,
        "bb_width_pct": 1.077
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T19-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T19:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5325.075,
      "stop": 5333.526,
      "target": 5308.173,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 26.67,
        "bb_width_pct": 1.077
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T19-50-00Z_short_rsi_range_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T19:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5326.785,
      "stop": 5331.603,
      "target": 5317.148,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 14.11,
        "bb_width_pct": 0.989
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T19-50-00Z_short_vwap_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T19:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5326.785,
      "stop": 5334.854,
      "target": 5310.646,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.11,
        "bb_width_pct": 0.989
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T19-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T19:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5326.785,
      "stop": 5336.091,
      "target": 5308.173,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.11,
        "bb_width_pct": 0.989
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T19-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T19:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5330.65,
      "stop": 5335.34,
      "target": 5321.269,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.71,
        "bb_width_pct": 0.981
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T20-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T20:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5331.495,
      "stop": 5336.121,
      "target": 5322.243,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.96,
        "bb_width_pct": 0.918
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T20-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T20:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5337.645,
      "stop": 5344.288,
      "target": 5324.36,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.39,
        "bb_width_pct": 0.814
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T20-10-00Z_short_vwap_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T20:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5337.645,
      "stop": 5349.902,
      "target": 5313.131,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.39,
        "bb_width_pct": 0.814
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T20-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T20:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5337.645,
      "stop": 5348.871,
      "target": 5315.192,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.39,
        "bb_width_pct": 0.814
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T20-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T20:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5329.6,
      "stop": 5331.348,
      "target": 5326.103,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.08,
        "bb_width_pct": 0.637
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T20-15-00Z_short_vwap_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T20:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5329.6,
      "stop": 5337.571,
      "target": 5313.657,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 1.08,
        "bb_width_pct": 0.637
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T20-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T20:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5329.6,
      "stop": 5335.976,
      "target": 5316.847,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.08,
        "bb_width_pct": 0.637
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T20-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T20:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5329.6,
      "stop": 5331.591,
      "target": 5325.618,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.08,
        "bb_width_pct": 0.637
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T20-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T20:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5333.48,
      "stop": 5335.59,
      "target": 5329.26,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.62,
        "bb_width_pct": 0.501
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T20-25-00Z_short_vwap_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T20:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5333.48,
      "stop": 5342.809,
      "target": 5314.821,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.62,
        "bb_width_pct": 0.501
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T20-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T20:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5333.48,
      "stop": 5341.106,
      "target": 5318.227,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.62,
        "bb_width_pct": 0.501
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T20-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T20:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5333.48,
      "stop": 5336.229,
      "target": 5327.982,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.62,
        "bb_width_pct": 0.501
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T20-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T20:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5342.0,
      "stop": 5347.154,
      "target": 5331.691,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.85,
        "bb_width_pct": 0.418
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T20-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T20:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5342.0,
      "stop": 5347.93,
      "target": 5330.14,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.85,
        "bb_width_pct": 0.418
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T20-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5342.02,
      "stop": 5346.763,
      "target": 5332.535,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.05,
        "bb_width_pct": 0.434
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T20-40-00Z_short_vwap_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5342.02,
      "stop": 5354.767,
      "target": 5316.527,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.05,
        "bb_width_pct": 0.434
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T20-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5342.02,
      "stop": 5353.916,
      "target": 5318.227,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.05,
        "bb_width_pct": 0.434
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T20-45-00Z_short_vwap_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T20:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5338.155,
      "stop": 5348.731,
      "target": 5317.003,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.16,
        "bb_width_pct": 0.441
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T20-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T20:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5338.155,
      "stop": 5348.119,
      "target": 5318.227,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.16,
        "bb_width_pct": 0.441
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T20-55-00Z_short_vwap_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T20:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5332.69,
      "stop": 5340.11,
      "target": 5317.85,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.37,
        "bb_width_pct": 0.43
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T20-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T20:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5332.69,
      "stop": 5339.921,
      "target": 5318.227,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.37,
        "bb_width_pct": 0.43
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T21-00-00Z_long_vwap_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T21:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5338.445,
      "stop": 5313.815,
      "target": 5387.706,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.69,
        "bb_width_pct": 0.411
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T21-05-00Z_long_vwap_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T21:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5339.565,
      "stop": 5316.438,
      "target": 5385.819,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.0,
        "bb_width_pct": 0.414
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T21-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T21:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5335.545,
      "stop": 5344.204,
      "target": 5318.227,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.97,
        "bb_width_pct": 0.408
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T21-15-00Z_long_vwap_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T21:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5339.025,
      "stop": 5317.357,
      "target": 5382.361,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.09,
        "bb_width_pct": 0.4
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T21-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T21:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5336.785,
      "stop": 5346.064,
      "target": 5318.227,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.86,
        "bb_width_pct": 0.357
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T21-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T21:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5329.375,
      "stop": 5325.814,
      "target": 5336.498,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.96,
        "bb_width_pct": 0.319
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T21-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T21:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5328.885,
      "stop": 5325.123,
      "target": 5336.41,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.61,
        "bb_width_pct": 0.329
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T21-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T21:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5331.41,
      "stop": 5328.912,
      "target": 5336.405,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.37,
        "bb_width_pct": 0.329
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T21-40-00Z_long_vwap_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T21:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5331.41,
      "stop": 5309.76,
      "target": 5374.709,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.37,
        "bb_width_pct": 0.329
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T21-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T21:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5327.65,
      "stop": 5323.569,
      "target": 5335.812,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.9,
        "bb_width_pct": 0.354
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T21-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T21:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5324.66,
      "stop": 5319.409,
      "target": 5335.163,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.27,
        "bb_width_pct": 0.396
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T21-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T21:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5324.66,
      "stop": 5320.991,
      "target": 5331.999,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.27,
        "bb_width_pct": 0.396
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T21-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T21:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5321.935,
      "stop": 5317.382,
      "target": 5331.04,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.49,
        "bb_width_pct": 0.443
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T23-00-00Z_long_vwap_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5345.625,
      "stop": 5333.482,
      "target": 5369.911,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.6,
        "bb_width_pct": 0.451
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T23-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5337.33,
      "stop": 5338.478,
      "target": 5335.035,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.44,
        "bb_width_pct": 0.452
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T23-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5337.33,
      "stop": 5342.39,
      "target": 5327.21,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.44,
        "bb_width_pct": 0.452
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T23-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5337.33,
      "stop": 5339.547,
      "target": 5332.896,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.44,
        "bb_width_pct": 0.452
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T23-10-00Z_long_vwap_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5338.805,
      "stop": 5324.05,
      "target": 5368.314,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.98,
        "bb_width_pct": 0.455
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T23-25-00Z_long_vwap_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T23:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5336.865,
      "stop": 5322.27,
      "target": 5366.054,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.1,
        "bb_width_pct": 0.423
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T23-45-00Z_long_vwap_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5336.965,
      "stop": 5323.836,
      "target": 5363.224,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.72,
        "bb_width_pct": 0.405
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T23-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T23:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5341.71,
      "stop": 5345.563,
      "target": 5334.004,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.42,
        "bb_width_pct": 0.425
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T23-50-00Z_long_vwap_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T23:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5341.71,
      "stop": 5331.186,
      "target": 5362.758,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.42,
        "bb_width_pct": 0.425
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T23-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T23:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5345.89,
      "stop": 5351.661,
      "target": 5334.347,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 24.95,
        "bb_width_pct": 0.461
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-02T23-55-00Z_long_vwap_mean_reversion",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T23:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5345.89,
      "stop": 5337.649,
      "target": 5362.372,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.95,
        "bb_width_pct": 0.461
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T00-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5342.16,
      "stop": 5346.01,
      "target": 5334.46,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 23.05,
        "bb_width_pct": 0.477
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T00-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5356.345,
      "stop": 5363.606,
      "target": 5341.823,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.34,
        "bb_width_pct": 0.709
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T00-30-00Z_short_rsi_range_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5356.345,
      "stop": 5363.606,
      "target": 5341.823,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 21.34,
        "bb_width_pct": 0.709
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T00-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5356.345,
      "stop": 5364.319,
      "target": 5340.398,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 21.34,
        "bb_width_pct": 0.709
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T00-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T00:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5351.43,
      "stop": 5356.146,
      "target": 5341.997,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.82,
        "bb_width_pct": 0.637
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T00-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T00:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5351.43,
      "stop": 5354.642,
      "target": 5345.005,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.82,
        "bb_width_pct": 0.637
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T00-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T00:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5355.13,
      "stop": 5359.71,
      "target": 5345.97,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 24.36,
        "bb_width_pct": 0.665
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T00-45-00Z_short_rsi_range_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T00:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5353.63,
      "stop": 5358.151,
      "target": 5344.587,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 21.68,
        "bb_width_pct": 0.674
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T00-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T00:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5353.63,
      "stop": 5359.446,
      "target": 5341.997,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 21.68,
        "bb_width_pct": 0.674
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T00-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T00:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5353.63,
      "stop": 5357.095,
      "target": 5346.699,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.68,
        "bb_width_pct": 0.674
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T00-50-00Z_short_rsi_range_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T00:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5350.1,
      "stop": 5352.574,
      "target": 5345.152,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 12.03,
        "bb_width_pct": 0.672
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T01-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T01:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5368.65,
      "stop": 5378.618,
      "target": 5348.714,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.68,
        "bb_width_pct": 0.757
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T01-10-00Z_short_rsi_range_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T01:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5368.19,
      "stop": 5377.08,
      "target": 5350.411,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 22.08,
        "bb_width_pct": 0.777
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T01-10-00Z_short_vwap_mean_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T01:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5368.19,
      "stop": 5375.249,
      "target": 5354.071,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 22.08,
        "bb_width_pct": 0.777
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T01-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T01:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5368.19,
      "stop": 5378.826,
      "target": 5346.917,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 22.08,
        "bb_width_pct": 0.777
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T01-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T01:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5371.895,
      "stop": 5381.622,
      "target": 5352.441,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.85,
        "bb_width_pct": 0.779
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T01-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T01:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5377.21,
      "stop": 5387.408,
      "target": 5356.815,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.07,
        "bb_width_pct": 0.812
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T01-25-00Z_short_rsi_range_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T01:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5377.21,
      "stop": 5387.408,
      "target": 5356.815,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 18.07,
        "bb_width_pct": 0.812
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T01-25-00Z_short_vwap_mean_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T01:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5377.21,
      "stop": 5387.058,
      "target": 5357.515,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 18.07,
        "bb_width_pct": 0.812
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T01-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T01:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5377.21,
      "stop": 5390.42,
      "target": 5350.79,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.07,
        "bb_width_pct": 0.812
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T01-30-00Z_short_rsi_range_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5375.67,
      "stop": 5384.249,
      "target": 5358.513,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 15.17,
        "bb_width_pct": 0.824
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T01-30-00Z_short_vwap_mean_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5375.67,
      "stop": 5384.289,
      "target": 5358.431,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.17,
        "bb_width_pct": 0.824
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T01-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5375.67,
      "stop": 5388.085,
      "target": 5350.84,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.17,
        "bb_width_pct": 0.824
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T01-35-00Z_short_vwap_mean_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T01:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5373.225,
      "stop": 5380.257,
      "target": 5359.16,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.97,
        "bb_width_pct": 0.827
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T01-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T01:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5373.225,
      "stop": 5384.418,
      "target": 5350.84,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.97,
        "bb_width_pct": 0.827
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T01-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T01:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5373.225,
      "stop": 5379.151,
      "target": 5361.373,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.97,
        "bb_width_pct": 0.827
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T01-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T01:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5362.79,
      "stop": 5368.765,
      "target": 5350.84,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.09,
        "bb_width_pct": 0.77
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T01-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T01:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5352.14,
      "stop": 5347.902,
      "target": 5360.616,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.16,
        "bb_width_pct": 0.722
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T02-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T02:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5348.145,
      "stop": 5342.032,
      "target": 5360.372,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.41,
        "bb_width_pct": 0.809
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T02-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T02:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5348.145,
      "stop": 5343.68,
      "target": 5357.074,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.41,
        "bb_width_pct": 0.809
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T03-10-00Z_short_rsi_range_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T03:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5366.94,
      "stop": 5371.041,
      "target": 5358.737,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 13.41,
        "bb_width_pct": 0.633
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T03-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T03:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5371.5,
      "stop": 5375.813,
      "target": 5362.874,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.27,
        "bb_width_pct": 0.635
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T03-25-00Z_short_rsi_range_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5367.45,
      "stop": 5371.358,
      "target": 5359.635,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 14.03,
        "bb_width_pct": 0.638
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T03-25-00Z_short_vwap_mean_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5367.45,
      "stop": 5371.534,
      "target": 5359.283,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.03,
        "bb_width_pct": 0.638
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T03-45-00Z_short_vwap_mean_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T03:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5366.88,
      "stop": 5370.309,
      "target": 5360.022,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.3,
        "bb_width_pct": 0.475
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T04-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T04:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5361.835,
      "stop": 5359.724,
      "target": 5366.057,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.99,
        "bb_width_pct": 0.238
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T04-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5369.94,
      "stop": 5371.449,
      "target": 5366.921,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.46,
        "bb_width_pct": 0.187
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T04-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T04:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5372.25,
      "stop": 5374.709,
      "target": 5367.331,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.93,
        "bb_width_pct": 0.199
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T04-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T04:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5372.25,
      "stop": 5375.375,
      "target": 5366.001,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.93,
        "bb_width_pct": 0.199
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T04-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T04:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5372.04,
      "stop": 5374.194,
      "target": 5367.732,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.93,
        "bb_width_pct": 0.205
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T04-30-00Z_short_vwap_mean_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T04:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5372.04,
      "stop": 5377.497,
      "target": 5361.127,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.93,
        "bb_width_pct": 0.205
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T04-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T04:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5372.04,
      "stop": 5379.831,
      "target": 5356.458,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.93,
        "bb_width_pct": 0.205
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T04-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T04:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5372.04,
      "stop": 5374.772,
      "target": 5366.576,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.93,
        "bb_width_pct": 0.205
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T04-35-00Z_short_vwap_mean_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5368.86,
      "stop": 5372.651,
      "target": 5361.277,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.41,
        "bb_width_pct": 0.205
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T05-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5361.925,
      "stop": 5359.567,
      "target": 5366.64,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.51,
        "bb_width_pct": 0.239
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T05-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5361.925,
      "stop": 5360.056,
      "target": 5365.662,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.51,
        "bb_width_pct": 0.239
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T05-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5365.815,
      "stop": 5365.443,
      "target": 5366.559,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.01,
        "bb_width_pct": 0.239
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T05-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5359.13,
      "stop": 5355.78,
      "target": 5365.829,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.89,
        "bb_width_pct": 0.271
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T05-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5359.13,
      "stop": 5356.323,
      "target": 5364.743,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.89,
        "bb_width_pct": 0.271
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T05-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5358.895,
      "stop": 5355.683,
      "target": 5365.319,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.95,
        "bb_width_pct": 0.287
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T05-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5345.52,
      "stop": 5337.411,
      "target": 5361.739,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.86,
        "bb_width_pct": 0.652
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T05-40-00Z_long_rsi_range_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5345.52,
      "stop": 5337.411,
      "target": 5361.739,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.86,
        "bb_width_pct": 0.652
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T05-40-00Z_long_vwap_mean_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5345.52,
      "stop": 5337.898,
      "target": 5360.763,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.86,
        "bb_width_pct": 0.652
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T05-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5345.52,
      "stop": 5340.703,
      "target": 5355.155,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 19.86,
        "bb_width_pct": 0.652
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T07-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T07:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5326.53,
      "stop": 5333.91,
      "target": 5311.769,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.01,
        "bb_width_pct": 0.611
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T07-45-00Z_short_rsi_range_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T07:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5324.425,
      "stop": 5330.377,
      "target": 5312.521,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 11.2,
        "bb_width_pct": 0.644
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T07-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T07:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5329.555,
      "stop": 5337.076,
      "target": 5314.514,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.77,
        "bb_width_pct": 0.571
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T07-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T07:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5327.745,
      "stop": 5333.736,
      "target": 5315.763,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.16,
        "bb_width_pct": 0.572
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T07-55-00Z_short_rsi_range_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T07:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5327.745,
      "stop": 5333.736,
      "target": 5315.763,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 21.16,
        "bb_width_pct": 0.572
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T08-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5332.24,
      "stop": 5339.882,
      "target": 5316.956,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.59,
        "bb_width_pct": 0.617
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T08-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T08:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5326.14,
      "stop": 5330.497,
      "target": 5317.425,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.91,
        "bb_width_pct": 0.635
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T08-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T08:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5326.14,
      "stop": 5327.822,
      "target": 5322.776,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.91,
        "bb_width_pct": 0.635
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T08-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T08:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5305.25,
      "stop": 5298.599,
      "target": 5318.553,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.82,
        "bb_width_pct": 0.664
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T08-40-00Z_long_vwap_mean_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T08:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5305.25,
      "stop": 5298.671,
      "target": 5318.408,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.82,
        "bb_width_pct": 0.664
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T08-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T08:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5305.25,
      "stop": 5299.531,
      "target": 5316.688,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.82,
        "bb_width_pct": 0.664
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T08-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T08:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5302.57,
      "stop": 5296.452,
      "target": 5314.805,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.14,
        "bb_width_pct": 0.72
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T08-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T08:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5295.9,
      "stop": 5285.501,
      "target": 5316.697,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.69,
        "bb_width_pct": 0.804
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T09-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T09:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5295.485,
      "stop": 5285.912,
      "target": 5314.63,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.55,
        "bb_width_pct": 0.975
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T09-05-00Z_long_rsi_range_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T09:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5295.485,
      "stop": 5285.912,
      "target": 5314.63,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.55,
        "bb_width_pct": 0.975
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T09-05-00Z_long_vwap_mean_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T09:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5295.485,
      "stop": 5285.852,
      "target": 5314.751,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.55,
        "bb_width_pct": 0.975
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T09-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T09:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5295.485,
      "stop": 5289.446,
      "target": 5307.562,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 23.55,
        "bb_width_pct": 0.975
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T09-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T09:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5295.485,
      "stop": 5288.566,
      "target": 5309.323,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.55,
        "bb_width_pct": 0.975
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T09-10-00Z_long_rsi_range_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T09:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5296.375,
      "stop": 5287.855,
      "target": 5313.414,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.86,
        "bb_width_pct": 1.014
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T09-10-00Z_long_vwap_mean_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T09:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5296.375,
      "stop": 5287.498,
      "target": 5314.128,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.86,
        "bb_width_pct": 1.014
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T09-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T09:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5285.52,
      "stop": 5273.344,
      "target": 5309.873,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.3,
        "bb_width_pct": 1.086
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T10-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T10:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5261.065,
      "stop": 5253.659,
      "target": 5275.877,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.09,
        "bb_width_pct": 1.019
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T10-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T10:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5245.275,
      "stop": 5233.61,
      "target": 5268.604,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.63,
        "bb_width_pct": 1.001
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T10-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T10:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5248.5,
      "stop": 5239.624,
      "target": 5266.252,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.38,
        "bb_width_pct": 0.938
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T10-55-00Z_long_vwap_mean_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T10:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5248.5,
      "stop": 5239.873,
      "target": 5265.753,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.38,
        "bb_width_pct": 0.938
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T10-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T10:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5248.5,
      "stop": 5232.328,
      "target": 5280.845,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.38,
        "bb_width_pct": 0.938
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T10-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T10:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5248.5,
      "stop": 5238.446,
      "target": 5268.608,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.38,
        "bb_width_pct": 0.938
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T11-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5250.635,
      "stop": 5242.504,
      "target": 5266.897,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.32,
        "bb_width_pct": 0.908
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T17-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T17:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5075.295,
      "stop": 5064.798,
      "target": 5096.289,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.57,
        "bb_width_pct": 0.951
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T17-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T17:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5075.095,
      "stop": 5065.507,
      "target": 5094.27,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.01,
        "bb_width_pct": 1.065
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T17-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T17:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5079.0,
      "stop": 5067.741,
      "target": 5101.518,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.46,
        "bb_width_pct": 1.135
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T17-45-00Z_long_rsi_range_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T17:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5082.32,
      "stop": 5073.481,
      "target": 5099.998,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.43,
        "bb_width_pct": 1.162
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T18-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T18:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5112.185,
      "stop": 5121.992,
      "target": 5092.571,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.09,
        "bb_width_pct": 0.958
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T18-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T18:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5112.185,
      "stop": 5120.915,
      "target": 5094.726,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.09,
        "bb_width_pct": 0.958
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T18-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5116.435,
      "stop": 5128.232,
      "target": 5092.841,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.0,
        "bb_width_pct": 0.994
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T19-50-00Z_short_vwap_mean_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T19:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5120.98,
      "stop": 5128.542,
      "target": 5105.856,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.19,
        "bb_width_pct": 0.986
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T20-25-00Z_short_vwap_mean_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T20:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5122.82,
      "stop": 5130.173,
      "target": 5108.114,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.59,
        "bb_width_pct": 0.761
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T20-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5111.71,
      "stop": 5109.404,
      "target": 5116.321,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.02,
        "bb_width_pct": 0.505
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T20-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T20:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5104.68,
      "stop": 5099.442,
      "target": 5115.156,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.84,
        "bb_width_pct": 0.497
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T20-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T20:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5095.89,
      "stop": 5087.168,
      "target": 5113.335,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.95,
        "bb_width_pct": 0.595
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T20-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T20:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5097.52,
      "stop": 5089.529,
      "target": 5113.502,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.86,
        "bb_width_pct": 0.661
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T21-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T21:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5105.59,
      "stop": 5101.921,
      "target": 5112.928,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.61,
        "bb_width_pct": 0.671
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T21-00-00Z_long_vwap_mean_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T21:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5105.59,
      "stop": 5053.19,
      "target": 5210.389,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.61,
        "bb_width_pct": 0.671
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T21-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T21:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5094.295,
      "stop": 5085.621,
      "target": 5111.642,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.41,
        "bb_width_pct": 0.773
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T21-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T21:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5094.295,
      "stop": 5087.536,
      "target": 5107.812,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.41,
        "bb_width_pct": 0.773
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T21-20-00Z_long_vwap_mean_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T21:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5099.49,
      "stop": 5051.687,
      "target": 5195.096,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.23,
        "bb_width_pct": 0.787
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T21-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T21:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5099.49,
      "stop": 5090.419,
      "target": 5117.632,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.23,
        "bb_width_pct": 0.787
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T21-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T21:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5092.595,
      "stop": 5085.117,
      "target": 5107.551,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.31,
        "bb_width_pct": 0.845
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T21-30-00Z_long_rsi_range_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T21:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5092.595,
      "stop": 5085.117,
      "target": 5107.551,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.31,
        "bb_width_pct": 0.845
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T21-30-00Z_long_vwap_mean_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T21:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5092.595,
      "stop": 5044.68,
      "target": 5188.424,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.31,
        "bb_width_pct": 0.845
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T21-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T21:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5092.595,
      "stop": 5080.076,
      "target": 5117.632,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 19.31,
        "bb_width_pct": 0.845
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T21-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T21:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5092.595,
      "stop": 5086.818,
      "target": 5104.148,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.31,
        "bb_width_pct": 0.845
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T21-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T21:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5089.58,
      "stop": 5082.99,
      "target": 5102.761,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.6,
        "bb_width_pct": 0.891
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T21-40-00Z_long_rsi_range_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T21:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5091.905,
      "stop": 5085.295,
      "target": 5105.125,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.75,
        "bb_width_pct": 0.904
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T21-40-00Z_long_vwap_mean_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T21:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5091.905,
      "stop": 5046.594,
      "target": 5182.528,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.75,
        "bb_width_pct": 0.904
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T21-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T21:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5091.905,
      "stop": 5079.575,
      "target": 5116.565,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.75,
        "bb_width_pct": 0.904
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T21-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T21:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5087.735,
      "stop": 5081.405,
      "target": 5100.395,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.59,
        "bb_width_pct": 0.931
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T21-50-00Z_long_rsi_range_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T21:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5088.295,
      "stop": 5081.338,
      "target": 5102.209,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.6,
        "bb_width_pct": 0.924
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T21-50-00Z_long_vwap_mean_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T21:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5088.295,
      "stop": 5043.875,
      "target": 5177.136,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.6,
        "bb_width_pct": 0.924
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T21-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T21:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5088.295,
      "stop": 5074.16,
      "target": 5116.565,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 11.6,
        "bb_width_pct": 0.924
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T21-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T21:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5088.295,
      "stop": 5082.821,
      "target": 5099.242,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.6,
        "bb_width_pct": 0.924
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T21-55-00Z_long_vwap_mean_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T21:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5088.835,
      "stop": 5045.894,
      "target": 5174.717,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.24,
        "bb_width_pct": 0.918
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T21-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T21:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5088.835,
      "stop": 5075.126,
      "target": 5116.253,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.24,
        "bb_width_pct": 0.918
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T23-00-00Z_long_vwap_mean_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5112.005,
      "stop": 5081.517,
      "target": 5172.981,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.95,
        "bb_width_pct": 0.79
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T23-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5106.375,
      "stop": 5109.458,
      "target": 5100.21,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.63,
        "bb_width_pct": 0.688
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T23-10-00Z_long_vwap_mean_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5117.515,
      "stop": 5091.351,
      "target": 5169.843,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.84,
        "bb_width_pct": 0.702
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T23-15-00Z_long_vwap_mean_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5122.495,
      "stop": 5099.412,
      "target": 5168.661,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.6,
        "bb_width_pct": 0.783
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T23-20-00Z_long_vwap_mean_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T23:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5124.435,
      "stop": 5102.872,
      "target": 5167.562,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.44,
        "bb_width_pct": 0.868
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T23-25-00Z_long_vwap_mean_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T23:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5126.445,
      "stop": 5106.398,
      "target": 5166.539,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.7,
        "bb_width_pct": 0.974
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T23-35-00Z_short_rsi_range_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5117.895,
      "stop": 5124.773,
      "target": 5104.139,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 20.29,
        "bb_width_pct": 1.083
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T23-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5117.895,
      "stop": 5123.313,
      "target": 5107.06,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 20.29,
        "bb_width_pct": 1.083
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-03T23-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5117.895,
      "stop": 5121.649,
      "target": 5110.386,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.29,
        "bb_width_pct": 1.083
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T00-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T00:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5119.58,
      "stop": 5125.84,
      "target": 5107.06,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.12,
        "bb_width_pct": 0.996
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T00-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5124.895,
      "stop": 5133.813,
      "target": 5107.06,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.15,
        "bb_width_pct": 0.701
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T00-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T00:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5123.905,
      "stop": 5132.327,
      "target": 5107.06,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.42,
        "bb_width_pct": 0.439
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T00-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T00:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5132.35,
      "stop": 5137.421,
      "target": 5122.209,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.34,
        "bb_width_pct": 0.446
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T00-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T00:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5132.35,
      "stop": 5138.458,
      "target": 5120.134,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.34,
        "bb_width_pct": 0.446
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T00-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T00:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5129.44,
      "stop": 5131.92,
      "target": 5124.48,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.16,
        "bb_width_pct": 0.442
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T00-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T00:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5129.44,
      "stop": 5138.274,
      "target": 5111.773,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.16,
        "bb_width_pct": 0.442
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T00-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T00:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5129.44,
      "stop": 5132.8,
      "target": 5122.721,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.16,
        "bb_width_pct": 0.442
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T01-05-00Z_short_vwap_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T01:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5152.795,
      "stop": 5164.795,
      "target": 5128.795,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 23.37,
        "bb_width_pct": 0.836
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T01-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T01:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5152.795,
      "stop": 5168.677,
      "target": 5121.03,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 23.37,
        "bb_width_pct": 0.836
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T01-20-00Z_short_rsi_range_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T01:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5158.65,
      "stop": 5171.136,
      "target": 5133.677,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 20.78,
        "bb_width_pct": 1.197
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T01-20-00Z_short_vwap_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T01:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5158.65,
      "stop": 5170.89,
      "target": 5134.17,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 20.78,
        "bb_width_pct": 1.197
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T01-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T01:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5158.65,
      "stop": 5175.947,
      "target": 5124.055,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 20.78,
        "bb_width_pct": 1.197
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T02-30-00Z_short_vwap_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5170.12,
      "stop": 5179.959,
      "target": 5150.442,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.23,
        "bb_width_pct": 1.082
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T02-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5170.12,
      "stop": 5180.984,
      "target": 5148.392,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.23,
        "bb_width_pct": 1.082
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T02-45-00Z_short_vwap_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5165.82,
      "stop": 5172.543,
      "target": 5152.374,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 1.68,
        "bb_width_pct": 0.934
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T02-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5165.82,
      "stop": 5174.534,
      "target": 5148.392,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.68,
        "bb_width_pct": 0.934
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T03-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T03:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5152.555,
      "stop": 5144.499,
      "target": 5168.667,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.56,
        "bb_width_pct": 0.992
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T03-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T03:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5152.555,
      "stop": 5147.605,
      "target": 5162.455,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.56,
        "bb_width_pct": 0.992
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T04-05-00Z_short_vwap_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5174.205,
      "stop": 5183.466,
      "target": 5155.684,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 24.92,
        "bb_width_pct": 0.669
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T04-10-00Z_short_rsi_range_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T04:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5174.14,
      "stop": 5178.84,
      "target": 5164.739,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 18.86,
        "bb_width_pct": 0.682
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T04-10-00Z_short_vwap_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T04:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5174.14,
      "stop": 5183.172,
      "target": 5156.077,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 18.86,
        "bb_width_pct": 0.682
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T04-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T04:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5174.14,
      "stop": 5177.843,
      "target": 5166.734,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.86,
        "bb_width_pct": 0.682
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T04-15-00Z_short_rsi_range_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T04:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5169.19,
      "stop": 5171.483,
      "target": 5164.604,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 11.86,
        "bb_width_pct": 0.675
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T04-15-00Z_short_vwap_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T04:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5169.19,
      "stop": 5175.611,
      "target": 5156.347,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.86,
        "bb_width_pct": 0.675
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T04-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5161.735,
      "stop": 5159.756,
      "target": 5165.693,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.95,
        "bb_width_pct": 0.486
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T04-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5161.735,
      "stop": 5159.307,
      "target": 5166.59,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.95,
        "bb_width_pct": 0.486
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T05-05-00Z_long_rsi_range_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5158.505,
      "stop": 5155.29,
      "target": 5164.936,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.41,
        "bb_width_pct": 0.52
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T06-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5142.285,
      "stop": 5134.478,
      "target": 5157.899,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.77,
        "bb_width_pct": 0.525
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T06-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T06:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5141.425,
      "stop": 5133.972,
      "target": 5156.33,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.0,
        "bb_width_pct": 0.55
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T06-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T06:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5144.355,
      "stop": 5138.574,
      "target": 5155.916,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.77,
        "bb_width_pct": 0.57
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T06-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T06:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5134.575,
      "stop": 5126.091,
      "target": 5151.543,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.8,
        "bb_width_pct": 0.737
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T06-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5151.58,
      "stop": 5150.754,
      "target": 5153.232,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.88,
        "bb_width_pct": 0.732
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T07-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T07:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5167.69,
      "stop": 5174.802,
      "target": 5153.467,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.28,
        "bb_width_pct": 0.865
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T07-10-00Z_short_rsi_range_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T07:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5167.69,
      "stop": 5174.802,
      "target": 5153.467,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 15.28,
        "bb_width_pct": 0.865
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T07-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T07:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5167.69,
      "stop": 5176.852,
      "target": 5149.365,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.28,
        "bb_width_pct": 0.865
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T07-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T07:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5167.69,
      "stop": 5173.23,
      "target": 5156.61,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.28,
        "bb_width_pct": 0.865
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T07-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T07:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5167.535,
      "stop": 5176.62,
      "target": 5149.365,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 22.77,
        "bb_width_pct": 0.927
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T07-30-00Z_short_rsi_range_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5167.495,
      "stop": 5173.882,
      "target": 5154.721,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 25.26,
        "bb_width_pct": 0.952
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T07-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5167.495,
      "stop": 5177.796,
      "target": 5146.892,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 25.26,
        "bb_width_pct": 0.952
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T07-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T07:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5169.66,
      "stop": 5181.044,
      "target": 5146.892,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.38,
        "bb_width_pct": 0.994
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T07-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T07:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5171.37,
      "stop": 5183.609,
      "target": 5146.892,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.73,
        "bb_width_pct": 0.982
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T07-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T07:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5168.37,
      "stop": 5179.109,
      "target": 5146.892,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.98,
        "bb_width_pct": 0.952
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T08-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5156.69,
      "stop": 5161.589,
      "target": 5146.892,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.33,
        "bb_width_pct": 0.843
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T08-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T08:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5157.415,
      "stop": 5155.122,
      "target": 5162.001,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.79,
        "bb_width_pct": 0.71
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T08-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T08:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5174.85,
      "stop": 5187.403,
      "target": 5149.745,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.51,
        "bb_width_pct": 0.603
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T08-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T08:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5174.85,
      "stop": 5178.98,
      "target": 5166.59,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.51,
        "bb_width_pct": 0.603
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T08-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T08:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5167.775,
      "stop": 5176.649,
      "target": 5150.028,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.89,
        "bb_width_pct": 0.602
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T09-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T09:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5170.92,
      "stop": 5178.696,
      "target": 5155.368,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.49,
        "bb_width_pct": 0.617
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T09-40-00Z_short_vwap_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T09:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5182.575,
      "stop": 5189.482,
      "target": 5168.762,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.65,
        "bb_width_pct": 0.698
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T09-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T09:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5182.575,
      "stop": 5194.326,
      "target": 5159.073,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.65,
        "bb_width_pct": 0.698
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T09-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T09:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5182.575,
      "stop": 5188.146,
      "target": 5171.434,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.65,
        "bb_width_pct": 0.698
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T09-45-00Z_short_vwap_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T09:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5182.475,
      "stop": 5189.131,
      "target": 5169.163,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.93,
        "bb_width_pct": 0.634
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T09-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T09:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5182.475,
      "stop": 5194.176,
      "target": 5159.073,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.93,
        "bb_width_pct": 0.634
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T09-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T09:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5182.475,
      "stop": 5187.47,
      "target": 5172.485,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.93,
        "bb_width_pct": 0.634
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T09-50-00Z_short_vwap_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T09:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5179.7,
      "stop": 5184.801,
      "target": 5169.498,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 1.38,
        "bb_width_pct": 0.604
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T09-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T09:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5179.7,
      "stop": 5186.705,
      "target": 5165.69,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.38,
        "bb_width_pct": 0.604
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T10-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T10:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5185.665,
      "stop": 5190.914,
      "target": 5175.167,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.12,
        "bb_width_pct": 0.559
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T10-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T10:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5192.83,
      "stop": 5199.889,
      "target": 5178.712,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 26.63,
        "bb_width_pct": 0.727
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T10-15-00Z_short_rsi_range_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T10:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5192.83,
      "stop": 5199.889,
      "target": 5178.712,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 26.63,
        "bb_width_pct": 0.727
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T10-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T10:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5192.83,
      "stop": 5202.754,
      "target": 5172.983,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 26.63,
        "bb_width_pct": 0.727
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T10-20-00Z_short_rsi_range_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T10:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5188.775,
      "stop": 5193.482,
      "target": 5179.361,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 13.11,
        "bb_width_pct": 0.744
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T10-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T10:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5188.775,
      "stop": 5192.574,
      "target": 5181.177,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.11,
        "bb_width_pct": 0.744
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T10-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T10:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5188.05,
      "stop": 5191.159,
      "target": 5181.832,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.37,
        "bb_width_pct": 0.758
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T11-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T11:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5191.86,
      "stop": 5200.274,
      "target": 5175.033,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.93,
        "bb_width_pct": 0.36
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T11-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T11:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5195.09,
      "stop": 5204.874,
      "target": 5175.523,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.47,
        "bb_width_pct": 0.358
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T11-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T11:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5195.09,
      "stop": 5198.234,
      "target": 5188.803,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.47,
        "bb_width_pct": 0.358
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T11-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T11:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5197.0,
      "stop": 5199.682,
      "target": 5191.636,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.12,
        "bb_width_pct": 0.314
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T11-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T11:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5197.0,
      "stop": 5206.746,
      "target": 5177.507,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.12,
        "bb_width_pct": 0.314
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T11-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T11:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5197.0,
      "stop": 5200.3,
      "target": 5190.399,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.12,
        "bb_width_pct": 0.314
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T11-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T11:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5192.935,
      "stop": 5199.472,
      "target": 5179.86,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.94,
        "bb_width_pct": 0.296
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T12-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T12:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5199.79,
      "stop": 5203.345,
      "target": 5192.679,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.7,
        "bb_width_pct": 0.328
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T12-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T12:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5199.79,
      "stop": 5208.286,
      "target": 5182.798,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.7,
        "bb_width_pct": 0.328
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T12-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T12:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5199.79,
      "stop": 5203.347,
      "target": 5192.675,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.7,
        "bb_width_pct": 0.328
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T12-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T12:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5197.595,
      "stop": 5204.994,
      "target": 5182.798,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.82,
        "bb_width_pct": 0.323
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T12-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T12:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5184.04,
      "stop": 5179.563,
      "target": 5192.994,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.1,
        "bb_width_pct": 0.348
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T12-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T12:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5184.04,
      "stop": 5179.922,
      "target": 5192.277,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.1,
        "bb_width_pct": 0.348
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T12-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T12:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5172.035,
      "stop": 5164.007,
      "target": 5188.091,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.05,
        "bb_width_pct": 0.844
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T12-45-00Z_long_rsi_range_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T12:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5172.035,
      "stop": 5164.007,
      "target": 5188.091,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.05,
        "bb_width_pct": 0.844
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T12-45-00Z_long_vwap_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T12:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5172.035,
      "stop": 5167.006,
      "target": 5182.092,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.05,
        "bb_width_pct": 0.844
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T12-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T12:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5172.035,
      "stop": 5167.359,
      "target": 5181.388,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 18.05,
        "bb_width_pct": 0.844
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T12-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T12:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5172.035,
      "stop": 5166.449,
      "target": 5183.207,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.05,
        "bb_width_pct": 0.844
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T12-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T12:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5171.335,
      "stop": 5164.147,
      "target": 5185.71,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.97,
        "bb_width_pct": 0.928
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T12-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T12:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5171.335,
      "stop": 5166.309,
      "target": 5181.388,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.97,
        "bb_width_pct": 0.928
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T12-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T12:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5171.335,
      "stop": 5166.609,
      "target": 5180.788,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.97,
        "bb_width_pct": 0.928
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T14-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5173.485,
      "stop": 5168.901,
      "target": 5182.654,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.51,
        "bb_width_pct": 0.714
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T14-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T14:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5174.02,
      "stop": 5170.336,
      "target": 5181.388,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.47,
        "bb_width_pct": 0.727
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T14-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T14:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5174.02,
      "stop": 5171.184,
      "target": 5179.691,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.47,
        "bb_width_pct": 0.727
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T14-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T14:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5163.305,
      "stop": 5155.892,
      "target": 5178.13,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.91,
        "bb_width_pct": 0.75
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T14-25-00Z_long_vwap_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T14:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5166.53,
      "stop": 5159.654,
      "target": 5180.283,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.11,
        "bb_width_pct": 0.772
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T14-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T14:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5166.53,
      "stop": 5159.101,
      "target": 5181.388,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.11,
        "bb_width_pct": 0.772
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T14-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T14:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5166.53,
      "stop": 5161.282,
      "target": 5177.026,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.11,
        "bb_width_pct": 0.772
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T14-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5179.595,
      "stop": 5178.699,
      "target": 5181.388,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.53,
        "bb_width_pct": 0.746
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T14-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T14:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5155.87,
      "stop": 5146.538,
      "target": 5174.534,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.81,
        "bb_width_pct": 0.832
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T14-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T14:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5152.41,
      "stop": 5142.402,
      "target": 5172.427,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.36,
        "bb_width_pct": 0.884
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T14-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T14:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5147.475,
      "stop": 5136.187,
      "target": 5170.051,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.42,
        "bb_width_pct": 0.978
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T15-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T15:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5159.48,
      "stop": 5152.868,
      "target": 5172.704,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.85,
        "bb_width_pct": 0.983
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T15-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T15:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5159.48,
      "stop": 5152.909,
      "target": 5172.622,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 3.85,
        "bb_width_pct": 0.983
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T15-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T15:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5159.48,
      "stop": 5154.698,
      "target": 5169.044,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.85,
        "bb_width_pct": 0.983
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T15-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T15:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5151.15,
      "stop": 5141.407,
      "target": 5170.635,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.86,
        "bb_width_pct": 0.981
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T15-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T15:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5151.15,
      "stop": 5143.055,
      "target": 5167.34,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.86,
        "bb_width_pct": 0.981
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T15-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T15:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5141.95,
      "stop": 5130.072,
      "target": 5165.707,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.75,
        "bb_width_pct": 1.134
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T15-15-00Z_long_vwap_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T15:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5141.95,
      "stop": 5125.682,
      "target": 5174.486,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.75,
        "bb_width_pct": 1.134
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T15-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T15:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5141.95,
      "stop": 5128.524,
      "target": 5168.802,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.75,
        "bb_width_pct": 1.134
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T15-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T15:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5141.95,
      "stop": 5131.879,
      "target": 5162.092,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.75,
        "bb_width_pct": 1.134
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T15-20-00Z_long_vwap_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T15:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5149.115,
      "stop": 5136.758,
      "target": 5173.83,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.32,
        "bb_width_pct": 1.09
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T15-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T15:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5149.115,
      "stop": 5140.27,
      "target": 5166.805,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.32,
        "bb_width_pct": 1.09
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T15-50-00Z_long_vwap_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T15:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5148.84,
      "stop": 5137.825,
      "target": 5170.869,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.07,
        "bb_width_pct": 0.937
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T15-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T15:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5148.84,
      "stop": 5141.295,
      "target": 5163.93,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 3.07,
        "bb_width_pct": 0.937
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T15-55-00Z_long_vwap_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T15:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5151.595,
      "stop": 5142.17,
      "target": 5170.445,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.41,
        "bb_width_pct": 0.885
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T16-25-00Z_long_vwap_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T16:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5146.19,
      "stop": 5135.224,
      "target": 5168.122,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.83,
        "bb_width_pct": 0.509
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T16-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T16:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5146.19,
      "stop": 5137.32,
      "target": 5163.93,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.83,
        "bb_width_pct": 0.509
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T16-30-00Z_long_vwap_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T16:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5153.175,
      "stop": 5145.859,
      "target": 5167.808,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.92,
        "bb_width_pct": 0.51
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T16-45-00Z_long_vwap_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5148.075,
      "stop": 5138.661,
      "target": 5166.902,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.63,
        "bb_width_pct": 0.477
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T16-55-00Z_long_vwap_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5149.67,
      "stop": 5141.366,
      "target": 5166.278,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.59,
        "bb_width_pct": 0.384
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T17-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T17:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5133.815,
      "stop": 5124.319,
      "target": 5152.807,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.96,
        "bb_width_pct": 0.481
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T17-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T17:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5133.815,
      "stop": 5127.503,
      "target": 5146.439,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.96,
        "bb_width_pct": 0.481
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T17-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T17:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5136.375,
      "stop": 5131.324,
      "target": 5146.478,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.08,
        "bb_width_pct": 0.512
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T17-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T17:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5136.375,
      "stop": 5128.159,
      "target": 5152.807,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.08,
        "bb_width_pct": 0.512
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T17-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T17:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5136.375,
      "stop": 5131.822,
      "target": 5145.48,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.08,
        "bb_width_pct": 0.512
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T18-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T18:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5125.425,
      "stop": 5118.964,
      "target": 5138.347,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.81,
        "bb_width_pct": 0.708
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T18-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T18:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5125.425,
      "stop": 5116.984,
      "target": 5142.307,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.81,
        "bb_width_pct": 0.708
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T18-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T18:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5125.425,
      "stop": 5119.866,
      "target": 5136.544,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.81,
        "bb_width_pct": 0.708
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T18-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T18:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5125.38,
      "stop": 5121.441,
      "target": 5133.259,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.41,
        "bb_width_pct": 0.702
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T18-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T18:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5125.38,
      "stop": 5118.584,
      "target": 5138.972,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.41,
        "bb_width_pct": 0.702
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T18-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T18:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5125.38,
      "stop": 5121.97,
      "target": 5132.201,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.41,
        "bb_width_pct": 0.702
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T19-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T19:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5138.015,
      "stop": 5142.444,
      "target": 5129.156,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.04,
        "bb_width_pct": 0.357
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T19-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T19:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5138.015,
      "stop": 5141.221,
      "target": 5131.604,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.04,
        "bb_width_pct": 0.357
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T20-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T20:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5134.34,
      "stop": 5136.709,
      "target": 5129.602,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.37,
        "bb_width_pct": 0.361
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T20-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T20:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5137.39,
      "stop": 5140.48,
      "target": 5131.21,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.2,
        "bb_width_pct": 0.275
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T20-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T20:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5138.035,
      "stop": 5141.258,
      "target": 5131.59,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.32,
        "bb_width_pct": 0.297
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T20-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T20:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5138.035,
      "stop": 5140.816,
      "target": 5132.473,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.32,
        "bb_width_pct": 0.297
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T20-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T20:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5141.095,
      "stop": 5144.996,
      "target": 5133.294,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.43,
        "bb_width_pct": 0.337
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T20-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T20:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5139.975,
      "stop": 5143.49,
      "target": 5132.945,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.62,
        "bb_width_pct": 0.413
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T20-45-00Z_short_vwap_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T20:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5139.975,
      "stop": 5143.301,
      "target": 5133.323,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.62,
        "bb_width_pct": 0.413
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T20-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T20:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5139.975,
      "stop": 5145.865,
      "target": 5128.195,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.62,
        "bb_width_pct": 0.413
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T20-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T20:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5139.975,
      "stop": 5142.534,
      "target": 5134.856,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.62,
        "bb_width_pct": 0.413
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T21-00-00Z_long_vwap_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T21:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5140.815,
      "stop": 5116.619,
      "target": 5189.206,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.46,
        "bb_width_pct": 0.401
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T21-05-00Z_long_vwap_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T21:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5140.825,
      "stop": 5117.575,
      "target": 5187.325,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.03,
        "bb_width_pct": 0.379
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T21-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T21:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5140.49,
      "stop": 5146.637,
      "target": 5128.195,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.15,
        "bb_width_pct": 0.364
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T21-15-00Z_long_vwap_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T21:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5141.06,
      "stop": 5119.587,
      "target": 5184.006,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.35,
        "bb_width_pct": 0.343
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T21-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T21:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5137.835,
      "stop": 5142.856,
      "target": 5127.792,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.31,
        "bb_width_pct": 0.33
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T21-25-00Z_long_vwap_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T21:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5141.575,
      "stop": 5121.851,
      "target": 5181.022,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.69,
        "bb_width_pct": 0.334
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T21-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T21:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5130.02,
      "stop": 5131.134,
      "target": 5127.792,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.76,
        "bb_width_pct": 0.355
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T21-35-00Z_long_vwap_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T21:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5137.61,
      "stop": 5117.358,
      "target": 5178.115,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.5,
        "bb_width_pct": 0.355
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T21-45-00Z_long_vwap_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T21:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5136.105,
      "stop": 5116.331,
      "target": 5175.653,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.7,
        "bb_width_pct": 0.335
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T21-50-00Z_long_vwap_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T21:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5142.345,
      "stop": 5126.2,
      "target": 5174.635,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.87,
        "bb_width_pct": 0.32
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T21-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T21:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5140.945,
      "stop": 5147.521,
      "target": 5127.792,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.74,
        "bb_width_pct": 0.275
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T23-00-00Z_long_vwap_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5152.825,
      "stop": 5142.672,
      "target": 5173.132,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.06,
        "bb_width_pct": 0.345
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T23-05-00Z_long_vwap_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5153.05,
      "stop": 5143.291,
      "target": 5172.568,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.53,
        "bb_width_pct": 0.412
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T23-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5146.905,
      "stop": 5150.029,
      "target": 5140.656,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.93,
        "bb_width_pct": 0.425
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T23-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5146.905,
      "stop": 5150.821,
      "target": 5139.073,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.93,
        "bb_width_pct": 0.425
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T23-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5146.905,
      "stop": 5149.885,
      "target": 5140.945,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.93,
        "bb_width_pct": 0.425
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T23-15-00Z_long_vwap_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5154.53,
      "stop": 5146.059,
      "target": 5171.472,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.13,
        "bb_width_pct": 0.486
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T23-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T23:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5155.45,
      "stop": 5162.226,
      "target": 5141.899,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.92,
        "bb_width_pct": 0.541
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T23-20-00Z_long_vwap_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T23:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5155.45,
      "stop": 5147.647,
      "target": 5171.057,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.92,
        "bb_width_pct": 0.541
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T23-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T23:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5154.94,
      "stop": 5162.546,
      "target": 5139.727,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 20.37,
        "bb_width_pct": 0.583
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T23-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5153.555,
      "stop": 5160.269,
      "target": 5140.128,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.59,
        "bb_width_pct": 0.593
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T23-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5153.555,
      "stop": 5157.612,
      "target": 5145.441,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.59,
        "bb_width_pct": 0.593
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T23-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5152.26,
      "stop": 5158.326,
      "target": 5140.128,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 27.0,
        "bb_width_pct": 0.589
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T23-40-00Z_long_vwap_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5156.255,
      "stop": 5149.616,
      "target": 5169.533,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.02,
        "bb_width_pct": 0.617
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-04T23-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5156.255,
      "stop": 5160.853,
      "target": 5147.059,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 25.02,
        "bb_width_pct": 0.617
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T00-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T00:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5177.115,
      "stop": 5187.122,
      "target": 5157.101,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 27.92,
        "bb_width_pct": 0.847
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T00-20-00Z_short_rsi_range_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T00:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5177.115,
      "stop": 5187.122,
      "target": 5157.101,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 27.92,
        "bb_width_pct": 0.847
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T00-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T00:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5177.115,
      "stop": 5190.204,
      "target": 5150.938,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 27.92,
        "bb_width_pct": 0.847
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T00-25-00Z_short_rsi_range_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T00:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5173.43,
      "stop": 5180.661,
      "target": 5158.968,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 23.37,
        "bb_width_pct": 0.802
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T00-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T00:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5173.43,
      "stop": 5184.174,
      "target": 5151.943,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 23.37,
        "bb_width_pct": 0.802
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T00-30-00Z_short_rsi_range_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5171.985,
      "stop": 5177.753,
      "target": 5160.45,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 22.33,
        "bb_width_pct": 0.773
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T00-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5171.985,
      "stop": 5182.006,
      "target": 5151.943,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 22.33,
        "bb_width_pct": 0.773
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T00-35-00Z_short_rsi_range_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T00:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5170.385,
      "stop": 5174.617,
      "target": 5161.921,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 22.45,
        "bb_width_pct": 0.707
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T00-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T00:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5170.385,
      "stop": 5174.293,
      "target": 5162.569,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.45,
        "bb_width_pct": 0.707
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T00-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T00:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5171.58,
      "stop": 5175.657,
      "target": 5163.427,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 24.77,
        "bb_width_pct": 0.705
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T00-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T00:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5170.385,
      "stop": 5178.154,
      "target": 5154.847,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.12,
        "bb_width_pct": 0.658
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T00-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T00:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5170.385,
      "stop": 5172.956,
      "target": 5165.244,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.12,
        "bb_width_pct": 0.658
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T01-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5174.455,
      "stop": 5178.301,
      "target": 5166.763,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.39,
        "bb_width_pct": 0.626
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T01-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T01:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5176.605,
      "stop": 5180.14,
      "target": 5169.534,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.34,
        "bb_width_pct": 0.584
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T01-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T01:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5176.605,
      "stop": 5187.096,
      "target": 5155.622,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.34,
        "bb_width_pct": 0.584
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T01-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T01:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5176.605,
      "stop": 5180.446,
      "target": 5168.924,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.34,
        "bb_width_pct": 0.584
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T01-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T01:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5179.72,
      "stop": 5184.604,
      "target": 5169.952,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.0,
        "bb_width_pct": 0.521
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T01-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T01:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5174.215,
      "stop": 5182.28,
      "target": 5158.085,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.81,
        "bb_width_pct": 0.454
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T01-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5176.28,
      "stop": 5185.377,
      "target": 5158.085,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.96,
        "bb_width_pct": 0.339
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T01-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T01:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5174.505,
      "stop": 5182.615,
      "target": 5158.285,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.2,
        "bb_width_pct": 0.22
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T02-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T02:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5174.865,
      "stop": 5174.869,
      "target": 5174.856,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.4,
        "bb_width_pct": 0.217
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T02-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T02:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5174.865,
      "stop": 5181.836,
      "target": 5160.923,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.4,
        "bb_width_pct": 0.217
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T02-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T02:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5181.705,
      "stop": 5184.427,
      "target": 5176.262,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.01,
        "bb_width_pct": 0.236
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T02-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T02:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5181.705,
      "stop": 5184.97,
      "target": 5175.174,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.01,
        "bb_width_pct": 0.236
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T02-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5184.28,
      "stop": 5187.753,
      "target": 5177.334,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.77,
        "bb_width_pct": 0.278
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T02-30-00Z_short_vwap_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5184.28,
      "stop": 5188.815,
      "target": 5175.209,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.77,
        "bb_width_pct": 0.278
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T02-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5184.28,
      "stop": 5192.736,
      "target": 5167.368,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.77,
        "bb_width_pct": 0.278
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T02-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5184.28,
      "stop": 5188.003,
      "target": 5176.835,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.77,
        "bb_width_pct": 0.278
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T02-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T02:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5179.765,
      "stop": 5185.378,
      "target": 5168.54,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.56,
        "bb_width_pct": 0.268
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T02-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T02:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5175.48,
      "stop": 5178.95,
      "target": 5168.54,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.45,
        "bb_width_pct": 0.265
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T02-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T02:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5187.66,
      "stop": 5192.314,
      "target": 5178.352,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.66,
        "bb_width_pct": 0.313
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T03-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T03:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5188.325,
      "stop": 5192.286,
      "target": 5180.403,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.01,
        "bb_width_pct": 0.467
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T03-05-00Z_short_vwap_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T03:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5188.325,
      "stop": 5193.964,
      "target": 5177.047,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.01,
        "bb_width_pct": 0.467
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T03-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T03:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5188.325,
      "stop": 5194.789,
      "target": 5175.398,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.01,
        "bb_width_pct": 0.467
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T03-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T03:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5188.325,
      "stop": 5191.665,
      "target": 5181.645,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.01,
        "bb_width_pct": 0.467
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T03-10-00Z_short_vwap_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T03:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5185.92,
      "stop": 5190.237,
      "target": 5177.285,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.19,
        "bb_width_pct": 0.47
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T03-20-00Z_short_vwap_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T03:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5187.24,
      "stop": 5191.957,
      "target": 5177.805,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.91,
        "bb_width_pct": 0.457
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T03-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T03:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5184.0,
      "stop": 5185.6,
      "target": 5180.8,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.13,
        "bb_width_pct": 0.332
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T04-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T04:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5182.325,
      "stop": 5180.824,
      "target": 5185.327,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.14,
        "bb_width_pct": 0.317
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T04-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T04:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5178.495,
      "stop": 5176.179,
      "target": 5183.128,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.28,
        "bb_width_pct": 0.275
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T04-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5177.02,
      "stop": 5173.336,
      "target": 5184.388,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.61,
        "bb_width_pct": 0.307
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T04-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5174.36,
      "stop": 5170.875,
      "target": 5181.33,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.63,
        "bb_width_pct": 0.311
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T04-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T04:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5171.61,
      "stop": 5167.004,
      "target": 5180.822,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.21,
        "bb_width_pct": 0.452
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T04-55-00Z_long_rsi_range_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T04:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5171.61,
      "stop": 5167.004,
      "target": 5180.822,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.21,
        "bb_width_pct": 0.452
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T04-55-00Z_long_vwap_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T04:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5171.61,
      "stop": 5168.036,
      "target": 5178.757,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.21,
        "bb_width_pct": 0.452
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T04-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T04:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5171.61,
      "stop": 5167.031,
      "target": 5180.767,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 17.21,
        "bb_width_pct": 0.452
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T04-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T04:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5171.61,
      "stop": 5168.216,
      "target": 5178.397,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.21,
        "bb_width_pct": 0.452
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T05-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5173.98,
      "stop": 5170.586,
      "target": 5180.767,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.0,
        "bb_width_pct": 0.451
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T05-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5173.98,
      "stop": 5171.982,
      "target": 5177.976,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.0,
        "bb_width_pct": 0.451
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T05-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5172.82,
      "stop": 5168.846,
      "target": 5180.767,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.49,
        "bb_width_pct": 0.391
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T05-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5167.76,
      "stop": 5163.569,
      "target": 5176.142,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.62,
        "bb_width_pct": 0.394
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T05-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5164.925,
      "stop": 5159.702,
      "target": 5175.371,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.28,
        "bb_width_pct": 0.429
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T05-40-00Z_long_vwap_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5166.49,
      "stop": 5160.837,
      "target": 5177.797,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.99,
        "bb_width_pct": 0.435
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T05-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5166.49,
      "stop": 5160.43,
      "target": 5178.61,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.99,
        "bb_width_pct": 0.435
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T05-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5166.49,
      "stop": 5162.922,
      "target": 5173.626,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.99,
        "bb_width_pct": 0.435
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T05-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T05:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5166.35,
      "stop": 5162.679,
      "target": 5173.692,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.68,
        "bb_width_pct": 0.422
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T05-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T05:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5166.35,
      "stop": 5163.058,
      "target": 5172.933,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.68,
        "bb_width_pct": 0.422
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T06-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5154.84,
      "stop": 5147.596,
      "target": 5169.328,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.16,
        "bb_width_pct": 0.59
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T06-00-00Z_long_vwap_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5154.84,
      "stop": 5143.914,
      "target": 5176.693,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.16,
        "bb_width_pct": 0.59
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T06-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5154.84,
      "stop": 5146.352,
      "target": 5171.815,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 18.16,
        "bb_width_pct": 0.59
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T06-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T06:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5142.21,
      "stop": 5132.569,
      "target": 5161.492,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.15,
        "bb_width_pct": 1.063
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T06-20-00Z_long_rsi_range_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T06:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5142.21,
      "stop": 5132.569,
      "target": 5161.492,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.15,
        "bb_width_pct": 1.063
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T06-20-00Z_long_vwap_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T06:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5142.21,
      "stop": 5126.012,
      "target": 5174.605,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.15,
        "bb_width_pct": 1.063
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T06-25-00Z_long_rsi_range_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T06:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5143.375,
      "stop": 5134.984,
      "target": 5160.158,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.81,
        "bb_width_pct": 1.094
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T06-25-00Z_long_vwap_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T06:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5143.375,
      "stop": 5127.966,
      "target": 5174.194,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.81,
        "bb_width_pct": 1.094
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T06-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T06:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5143.375,
      "stop": 5136.746,
      "target": 5156.633,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.81,
        "bb_width_pct": 1.094
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T06-30-00Z_long_vwap_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5147.675,
      "stop": 5134.597,
      "target": 5173.831,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.79,
        "bb_width_pct": 1.104
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T06-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5147.675,
      "stop": 5143.623,
      "target": 5155.78,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.79,
        "bb_width_pct": 1.104
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T06-35-00Z_long_vwap_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5151.48,
      "stop": 5140.458,
      "target": 5173.524,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.88,
        "bb_width_pct": 1.088
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T06-45-00Z_long_vwap_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T06:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5159.075,
      "stop": 5152.092,
      "target": 5173.041,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.93,
        "bb_width_pct": 1.004
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T07-30-00Z_short_rsi_range_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5161.26,
      "stop": 5164.724,
      "target": 5154.332,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 16.55,
        "bb_width_pct": 0.86
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T08-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T08:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5148.845,
      "stop": 5143.23,
      "target": 5160.075,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.49,
        "bb_width_pct": 0.483
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T08-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T08:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5145.64,
      "stop": 5138.993,
      "target": 5158.935,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.09,
        "bb_width_pct": 0.646
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T08-20-00Z_long_vwap_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T08:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5145.64,
      "stop": 5138.85,
      "target": 5159.219,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.09,
        "bb_width_pct": 0.646
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T08-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T08:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5145.64,
      "stop": 5140.914,
      "target": 5155.091,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.09,
        "bb_width_pct": 0.646
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T08-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T08:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5144.805,
      "stop": 5140.152,
      "target": 5154.111,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.95,
        "bb_width_pct": 0.689
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T08-50-00Z_short_vwap_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T08:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5167.9,
      "stop": 5172.455,
      "target": 5158.79,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.93,
        "bb_width_pct": 0.679
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T08-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T08:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5167.9,
      "stop": 5178.419,
      "target": 5146.862,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.93,
        "bb_width_pct": 0.679
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T08-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T08:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5165.625,
      "stop": 5175.006,
      "target": 5146.862,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.34,
        "bb_width_pct": 0.681
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T08-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T08:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5165.625,
      "stop": 5169.347,
      "target": 5158.18,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.34,
        "bb_width_pct": 0.681
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T09-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5164.315,
      "stop": 5173.041,
      "target": 5146.862,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.02,
        "bb_width_pct": 0.677
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T09-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T09:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5176.7,
      "stop": 5186.034,
      "target": 5158.032,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.48,
        "bb_width_pct": 0.738
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T09-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T09:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5179.46,
      "stop": 5189.719,
      "target": 5158.942,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 26.21,
        "bb_width_pct": 0.821
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T09-25-00Z_short_rsi_range_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T09:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5169.42,
      "stop": 5173.888,
      "target": 5160.484,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 20.81,
        "bb_width_pct": 0.899
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T09-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T09:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5169.42,
      "stop": 5178.814,
      "target": 5150.632,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 20.81,
        "bb_width_pct": 0.899
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T10-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T10:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5150.135,
      "stop": 5144.049,
      "target": 5162.306,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.8,
        "bb_width_pct": 0.668
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T10-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T10:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5151.145,
      "stop": 5144.602,
      "target": 5164.231,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.94,
        "bb_width_pct": 0.621
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T10-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T10:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5151.145,
      "stop": 5146.096,
      "target": 5161.243,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.94,
        "bb_width_pct": 0.621
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T10-25-00Z_long_rsi_range_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T10:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5156.26,
      "stop": 5152.8,
      "target": 5163.179,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.04,
        "bb_width_pct": 0.645
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T10-55-00Z_short_vwap_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T10:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5164.635,
      "stop": 5168.748,
      "target": 5156.408,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.31,
        "bb_width_pct": 0.467
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T11-25-00Z_short_rsi_range_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T11:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5163.15,
      "stop": 5165.023,
      "target": 5159.403,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 13.07,
        "bb_width_pct": 0.397
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T12-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T12:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5168.815,
      "stop": 5171.961,
      "target": 5162.523,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.04,
        "bb_width_pct": 0.29
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T12-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T12:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5168.815,
      "stop": 5171.745,
      "target": 5162.956,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.04,
        "bb_width_pct": 0.29
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T12-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T12:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5168.52,
      "stop": 5171.151,
      "target": 5163.258,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.61,
        "bb_width_pct": 0.263
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T12-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T12:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5168.52,
      "stop": 5171.037,
      "target": 5163.485,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.61,
        "bb_width_pct": 0.263
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T12-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T12:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5170.27,
      "stop": 5173.339,
      "target": 5164.132,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.71,
        "bb_width_pct": 0.257
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T12-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T12:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5164.38,
      "stop": 5164.409,
      "target": 5164.323,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.47,
        "bb_width_pct": 0.227
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T13-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T13:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5155.92,
      "stop": 5152.568,
      "target": 5162.625,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.66,
        "bb_width_pct": 0.392
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T13-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T13:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5155.92,
      "stop": 5154.435,
      "target": 5158.89,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.66,
        "bb_width_pct": 0.392
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T13-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T13:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5155.92,
      "stop": 5153.314,
      "target": 5161.132,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.66,
        "bb_width_pct": 0.392
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T14-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T14:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5098.065,
      "stop": 5084.753,
      "target": 5124.689,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.21,
        "bb_width_pct": 1.151
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T14-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T14:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5097.66,
      "stop": 5085.566,
      "target": 5121.847,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.81,
        "bb_width_pct": 1.108
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T14-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T14:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5097.275,
      "stop": 5086.282,
      "target": 5119.261,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.88,
        "bb_width_pct": 1.071
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T14-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T14:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5097.275,
      "stop": 5085.774,
      "target": 5120.277,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.88,
        "bb_width_pct": 1.071
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T14-50-00Z_long_vwap_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T14:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5102.535,
      "stop": 5085.493,
      "target": 5136.62,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.12,
        "bb_width_pct": 0.883
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T14-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T14:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5102.535,
      "stop": 5090.61,
      "target": 5126.385,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.12,
        "bb_width_pct": 0.883
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T14-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T14:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5102.535,
      "stop": 5094.509,
      "target": 5118.587,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.12,
        "bb_width_pct": 0.883
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T15-45-00Z_long_vwap_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T15:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5088.435,
      "stop": 5070.209,
      "target": 5124.888,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.83,
        "bb_width_pct": 1.08
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T15-50-00Z_long_vwap_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T15:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5097.47,
      "stop": 5084.087,
      "target": 5124.236,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.08,
        "bb_width_pct": 1.038
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T15-55-00Z_long_vwap_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T15:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5102.63,
      "stop": 5092.087,
      "target": 5123.716,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.04,
        "bb_width_pct": 1.019
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T16-10-00Z_long_vwap_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T16:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5083.155,
      "stop": 5063.957,
      "target": 5121.552,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.74,
        "bb_width_pct": 0.715
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T16-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T16:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5083.155,
      "stop": 5068.119,
      "target": 5113.227,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.74,
        "bb_width_pct": 0.715
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T16-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T16:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5078.24,
      "stop": 5071.047,
      "target": 5092.626,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.68,
        "bb_width_pct": 0.729
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T16-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T16:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5064.06,
      "stop": 5053.138,
      "target": 5085.905,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.36,
        "bb_width_pct": 0.898
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T16-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T16:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5063.855,
      "stop": 5053.797,
      "target": 5083.971,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.41,
        "bb_width_pct": 0.921
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T16-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5066.695,
      "stop": 5058.947,
      "target": 5082.19,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.59,
        "bb_width_pct": 0.904
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T16-35-00Z_long_vwap_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5066.695,
      "stop": 5041.644,
      "target": 5116.797,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.59,
        "bb_width_pct": 0.904
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T16-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5066.695,
      "stop": 5051.961,
      "target": 5096.163,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.59,
        "bb_width_pct": 0.904
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T16-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5066.695,
      "stop": 5058.308,
      "target": 5083.47,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.59,
        "bb_width_pct": 0.904
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T16-40-00Z_long_vwap_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T16:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5071.27,
      "stop": 5048.928,
      "target": 5115.954,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.93,
        "bb_width_pct": 0.88
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T16-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T16:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5071.27,
      "stop": 5058.824,
      "target": 5096.163,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.93,
        "bb_width_pct": 0.88
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T16-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T16:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5071.27,
      "stop": 5065.751,
      "target": 5082.308,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.93,
        "bb_width_pct": 0.88
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T16-45-00Z_long_vwap_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5079.225,
      "stop": 5061.199,
      "target": 5115.278,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.81,
        "bb_width_pct": 0.861
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T17-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T17:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5067.53,
      "stop": 5062.826,
      "target": 5076.938,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.6,
        "bb_width_pct": 0.682
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T17-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T17:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5067.53,
      "stop": 5061.438,
      "target": 5079.713,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.6,
        "bb_width_pct": 0.682
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T17-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T17:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5063.385,
      "stop": 5057.376,
      "target": 5075.403,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.38,
        "bb_width_pct": 0.646
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T17-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T17:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5063.385,
      "stop": 5055.998,
      "target": 5078.158,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.38,
        "bb_width_pct": 0.646
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T17-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T17:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5066.78,
      "stop": 5055.674,
      "target": 5088.993,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 3.31,
        "bb_width_pct": 0.661
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T17-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T17:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5066.78,
      "stop": 5061.633,
      "target": 5077.075,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.31,
        "bb_width_pct": 0.661
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T17-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T17:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5062.87,
      "stop": 5050.759,
      "target": 5087.093,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 11.46,
        "bb_width_pct": 0.713
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T17-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T17:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5062.87,
      "stop": 5057.204,
      "target": 5074.203,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.46,
        "bb_width_pct": 0.713
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T18-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T18:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5065.94,
      "stop": 5062.41,
      "target": 5073.0,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.39,
        "bb_width_pct": 0.708
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T18-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T18:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5065.94,
      "stop": 5055.364,
      "target": 5087.093,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.39,
        "bb_width_pct": 0.708
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T18-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T18:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5065.94,
      "stop": 5062.202,
      "target": 5073.416,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.39,
        "bb_width_pct": 0.708
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T19-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T19:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5060.81,
      "stop": 5055.326,
      "target": 5071.777,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.82,
        "bb_width_pct": 0.451
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T19-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T19:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5060.81,
      "stop": 5055.272,
      "target": 5071.885,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.82,
        "bb_width_pct": 0.451
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T19-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T19:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5060.845,
      "stop": 5055.43,
      "target": 5071.676,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.08,
        "bb_width_pct": 0.464
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T19-35-00Z_long_vwap_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T19:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5060.845,
      "stop": 5055.112,
      "target": 5072.311,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.08,
        "bb_width_pct": 0.464
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T19-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T19:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5060.845,
      "stop": 5056.166,
      "target": 5070.202,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.08,
        "bb_width_pct": 0.464
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T19-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T19:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5060.845,
      "stop": 5055.851,
      "target": 5070.834,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.08,
        "bb_width_pct": 0.464
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T20-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T20:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5080.83,
      "stop": 5085.485,
      "target": 5071.519,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.21,
        "bb_width_pct": 0.571
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T20-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T20:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5080.83,
      "stop": 5084.788,
      "target": 5072.915,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.21,
        "bb_width_pct": 0.571
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T20-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T20:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5080.83,
      "stop": 5084.832,
      "target": 5072.826,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.21,
        "bb_width_pct": 0.571
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T20-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T20:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5080.815,
      "stop": 5085.422,
      "target": 5071.602,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.57,
        "bb_width_pct": 0.579
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T21-00-00Z_long_vwap_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T21:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5079.82,
      "stop": 5041.485,
      "target": 5156.489,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.19,
        "bb_width_pct": 0.627
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T21-15-00Z_long_vwap_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T21:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5077.99,
      "stop": 5042.941,
      "target": 5148.087,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.89,
        "bb_width_pct": 0.517
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T21-20-00Z_long_vwap_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T21:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5080.155,
      "stop": 5047.373,
      "target": 5145.719,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.82,
        "bb_width_pct": 0.489
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T21-25-00Z_long_vwap_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T21:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5081.0,
      "stop": 5049.731,
      "target": 5143.538,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.18,
        "bb_width_pct": 0.467
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T21-30-00Z_long_vwap_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T21:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5082.22,
      "stop": 5052.564,
      "target": 5141.532,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.64,
        "bb_width_pct": 0.427
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T21-45-00Z_long_vwap_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T21:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5077.6,
      "stop": 5048.509,
      "target": 5135.781,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.05,
        "bb_width_pct": 0.25
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T21-50-00Z_long_vwap_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T21:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5084.915,
      "stop": 5060.244,
      "target": 5134.257,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.24,
        "bb_width_pct": 0.267
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T21-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T21:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5081.38,
      "stop": 5082.463,
      "target": 5079.215,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.69,
        "bb_width_pct": 0.18
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T23-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5090.66,
      "stop": 5098.315,
      "target": 5075.35,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 20.21,
        "bb_width_pct": 0.266
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T23-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5085.935,
      "stop": 5088.922,
      "target": 5079.962,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.48,
        "bb_width_pct": 0.286
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T23-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5085.935,
      "stop": 5091.228,
      "target": 5075.35,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.48,
        "bb_width_pct": 0.286
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T23-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5085.935,
      "stop": 5088.782,
      "target": 5080.242,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.48,
        "bb_width_pct": 0.286
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T23-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5086.405,
      "stop": 5089.383,
      "target": 5080.448,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.6,
        "bb_width_pct": 0.3
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T23-10-00Z_long_vwap_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5086.405,
      "stop": 5064.934,
      "target": 5129.347,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.6,
        "bb_width_pct": 0.3
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T23-15-00Z_long_vwap_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5095.99,
      "stop": 5079.779,
      "target": 5128.412,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.92,
        "bb_width_pct": 0.399
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T23-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T23:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5092.695,
      "stop": 5098.084,
      "target": 5081.918,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.61,
        "bb_width_pct": 0.444
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T23-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T23:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5092.695,
      "stop": 5100.89,
      "target": 5076.305,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.61,
        "bb_width_pct": 0.444
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T23-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T23:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5091.14,
      "stop": 5095.471,
      "target": 5082.477,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.69,
        "bb_width_pct": 0.469
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T23-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T23:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5091.14,
      "stop": 5098.53,
      "target": 5076.36,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.69,
        "bb_width_pct": 0.469
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T23-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T23:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5091.14,
      "stop": 5094.702,
      "target": 5084.015,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.69,
        "bb_width_pct": 0.469
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T23-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5088.26,
      "stop": 5094.21,
      "target": 5076.36,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.73,
        "bb_width_pct": 0.468
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T23-35-00Z_long_vwap_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5095.965,
      "stop": 5081.382,
      "target": 5125.131,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.66,
        "bb_width_pct": 0.503
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T23-40-00Z_long_vwap_mean_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5101.085,
      "stop": 5089.345,
      "target": 5124.565,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.77,
        "bb_width_pct": 0.576
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T23-45-00Z_short_rsi_range_reversion",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5098.935,
      "stop": 5105.366,
      "target": 5086.074,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 26.5,
        "bb_width_pct": 0.609
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T23-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5098.935,
      "stop": 5108.828,
      "target": 5079.15,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 26.5,
        "bb_width_pct": 0.609
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-05T23-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T23:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5089.705,
      "stop": 5094.983,
      "target": 5079.15,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.46,
        "bb_width_pct": 0.587
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T00-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5084.39,
      "stop": 5082.719,
      "target": 5087.732,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.86,
        "bb_width_pct": 0.554
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T00-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T00:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5083.845,
      "stop": 5080.829,
      "target": 5089.876,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.76,
        "bb_width_pct": 0.382
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T00-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T00:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5083.845,
      "stop": 5082.064,
      "target": 5087.407,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.76,
        "bb_width_pct": 0.382
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T00-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T00:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5083.845,
      "stop": 5082.044,
      "target": 5087.447,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.76,
        "bb_width_pct": 0.382
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T01-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5075.845,
      "stop": 5070.866,
      "target": 5085.803,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.11,
        "bb_width_pct": 0.454
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T01-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T01:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5079.41,
      "stop": 5075.224,
      "target": 5087.782,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.92,
        "bb_width_pct": 0.476
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T01-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T01:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5077.135,
      "stop": 5072.09,
      "target": 5087.225,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.59,
        "bb_width_pct": 0.509
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T03-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5129.765,
      "stop": 5134.39,
      "target": 5120.516,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.2,
        "bb_width_pct": 0.95
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T03-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T03:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5131.085,
      "stop": 5135.866,
      "target": 5121.522,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.04,
        "bb_width_pct": 0.674
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T03-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5136.765,
      "stop": 5139.641,
      "target": 5131.012,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.73,
        "bb_width_pct": 0.377
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T03-25-00Z_short_vwap_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5136.765,
      "stop": 5150.723,
      "target": 5108.849,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.73,
        "bb_width_pct": 0.377
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T03-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5136.765,
      "stop": 5152.535,
      "target": 5105.225,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.73,
        "bb_width_pct": 0.377
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T03-30-00Z_short_vwap_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5132.835,
      "stop": 5144.531,
      "target": 5109.444,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.54,
        "bb_width_pct": 0.342
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T03-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5132.835,
      "stop": 5146.64,
      "target": 5105.225,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.54,
        "bb_width_pct": 0.342
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T03-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5132.835,
      "stop": 5135.566,
      "target": 5127.372,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.54,
        "bb_width_pct": 0.342
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T03-35-00Z_short_vwap_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T03:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5129.775,
      "stop": 5139.686,
      "target": 5109.954,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.02,
        "bb_width_pct": 0.335
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T03-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T03:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5129.775,
      "stop": 5142.05,
      "target": 5105.225,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.02,
        "bb_width_pct": 0.335
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T03-50-00Z_short_vwap_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T03:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5131.205,
      "stop": 5141.121,
      "target": 5111.373,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.66,
        "bb_width_pct": 0.342
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T03-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T03:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5131.205,
      "stop": 5144.195,
      "target": 5105.225,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.66,
        "bb_width_pct": 0.342
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T03-55-00Z_short_vwap_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T03:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5131.21,
      "stop": 5140.924,
      "target": 5111.783,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.24,
        "bb_width_pct": 0.342
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T04-15-00Z_short_vwap_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T04:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5133.44,
      "stop": 5143.411,
      "target": 5113.497,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.45,
        "bb_width_pct": 0.342
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T04-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T04:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5133.44,
      "stop": 5147.547,
      "target": 5105.225,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.45,
        "bb_width_pct": 0.342
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T04-20-00Z_short_vwap_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5130.83,
      "stop": 5139.324,
      "target": 5113.841,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.27,
        "bb_width_pct": 0.315
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T04-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5130.83,
      "stop": 5141.964,
      "target": 5108.562,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.27,
        "bb_width_pct": 0.315
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T04-25-00Z_short_vwap_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T04:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5129.745,
      "stop": 5137.553,
      "target": 5114.13,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 18.2,
        "bb_width_pct": 0.286
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T04-30-00Z_long_rsi_range_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T04:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5129.77,
      "stop": 5128.257,
      "target": 5132.797,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.14,
        "bb_width_pct": 0.257
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T04-50-00Z_short_vwap_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T04:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5133.26,
      "stop": 5142.068,
      "target": 5115.644,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 1.53,
        "bb_width_pct": 0.224
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T04-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T04:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5127.65,
      "stop": 5125.111,
      "target": 5132.727,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.3,
        "bb_width_pct": 0.221
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T04-55-00Z_short_vwap_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T04:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5127.65,
      "stop": 5133.541,
      "target": 5115.868,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.3,
        "bb_width_pct": 0.221
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T05-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5128.975,
      "stop": 5127.392,
      "target": 5132.141,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.29,
        "bb_width_pct": 0.177
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T05-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5128.975,
      "stop": 5128.082,
      "target": 5130.762,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.29,
        "bb_width_pct": 0.177
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T05-05-00Z_short_vwap_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5123.07,
      "stop": 5126.5,
      "target": 5116.21,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 19.8,
        "bb_width_pct": 0.217
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T05-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5126.78,
      "stop": 5124.593,
      "target": 5131.153,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.18,
        "bb_width_pct": 0.229
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T05-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5126.78,
      "stop": 5123.639,
      "target": 5133.062,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 13.18,
        "bb_width_pct": 0.229
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T05-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5126.78,
      "stop": 5125.31,
      "target": 5129.72,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.18,
        "bb_width_pct": 0.229
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T05-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5127.99,
      "stop": 5126.548,
      "target": 5130.873,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.11,
        "bb_width_pct": 0.236
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T05-20-00Z_short_vwap_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5127.99,
      "stop": 5133.634,
      "target": 5116.701,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 9.11,
        "bb_width_pct": 0.236
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T05-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5127.99,
      "stop": 5127.251,
      "target": 5129.467,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.11,
        "bb_width_pct": 0.236
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T05-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5124.975,
      "stop": 5122.279,
      "target": 5130.367,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.19,
        "bb_width_pct": 0.249
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T05-30-00Z_short_vwap_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5124.975,
      "stop": 5128.954,
      "target": 5117.018,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.19,
        "bb_width_pct": 0.249
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T05-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5124.975,
      "stop": 5122.917,
      "target": 5129.09,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.19,
        "bb_width_pct": 0.249
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T05-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5121.615,
      "stop": 5118.233,
      "target": 5128.378,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.29,
        "bb_width_pct": 0.29
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T05-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5121.18,
      "stop": 5117.924,
      "target": 5127.693,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.01,
        "bb_width_pct": 0.314
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T05-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5118.45,
      "stop": 5113.937,
      "target": 5127.476,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.74,
        "bb_width_pct": 0.385
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T05-50-00Z_long_rsi_range_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5118.45,
      "stop": 5113.937,
      "target": 5127.476,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.74,
        "bb_width_pct": 0.385
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T05-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5118.45,
      "stop": 5113.465,
      "target": 5128.42,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 18.74,
        "bb_width_pct": 0.385
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T05-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5118.45,
      "stop": 5114.766,
      "target": 5125.817,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.74,
        "bb_width_pct": 0.385
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T05-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T05:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5117.63,
      "stop": 5113.102,
      "target": 5126.686,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.65,
        "bb_width_pct": 0.404
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T05-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T05:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5117.63,
      "stop": 5113.926,
      "target": 5125.037,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.65,
        "bb_width_pct": 0.404
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T06-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5117.41,
      "stop": 5113.392,
      "target": 5125.445,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.79,
        "bb_width_pct": 0.467
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T06-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5117.41,
      "stop": 5114.439,
      "target": 5123.351,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.79,
        "bb_width_pct": 0.467
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T06-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T06:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5116.53,
      "stop": 5113.444,
      "target": 5122.702,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.29,
        "bb_width_pct": 0.482
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T07-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T07:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5111.73,
      "stop": 5108.82,
      "target": 5117.549,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.59,
        "bb_width_pct": 0.28
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T07-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T07:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5111.73,
      "stop": 5107.044,
      "target": 5121.102,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.59,
        "bb_width_pct": 0.28
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T07-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T07:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5111.73,
      "stop": 5108.54,
      "target": 5118.111,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.59,
        "bb_width_pct": 0.28
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T07-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5114.105,
      "stop": 5112.857,
      "target": 5116.602,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.17,
        "bb_width_pct": 0.272
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T07-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5114.105,
      "stop": 5112.683,
      "target": 5116.949,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.17,
        "bb_width_pct": 0.272
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T08-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T08:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5116.745,
      "stop": 5117.113,
      "target": 5116.008,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.96,
        "bb_width_pct": 0.249
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T08-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T08:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5110.345,
      "stop": 5107.95,
      "target": 5115.135,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.29,
        "bb_width_pct": 0.233
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T08-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T08:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5110.345,
      "stop": 5107.502,
      "target": 5116.03,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.29,
        "bb_width_pct": 0.233
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T08-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5106.1,
      "stop": 5102.388,
      "target": 5113.524,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.8,
        "bb_width_pct": 0.339
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T08-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5106.1,
      "stop": 5101.723,
      "target": 5114.855,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.8,
        "bb_width_pct": 0.339
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T08-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5106.1,
      "stop": 5102.267,
      "target": 5113.765,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.8,
        "bb_width_pct": 0.339
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T08-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5108.52,
      "stop": 5106.2,
      "target": 5113.16,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.42,
        "bb_width_pct": 0.347
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T08-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5108.52,
      "stop": 5106.147,
      "target": 5113.266,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.42,
        "bb_width_pct": 0.347
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T09-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T09:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5099.985,
      "stop": 5094.956,
      "target": 5110.043,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.46,
        "bb_width_pct": 0.443
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T09-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T09:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5101.675,
      "stop": 5097.582,
      "target": 5109.861,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.62,
        "bb_width_pct": 0.532
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T09-15-00Z_long_vwap_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T09:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5101.675,
      "stop": 5097.139,
      "target": 5110.746,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.62,
        "bb_width_pct": 0.532
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T09-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T09:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5101.675,
      "stop": 5098.068,
      "target": 5108.89,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.62,
        "bb_width_pct": 0.532
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T09-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T09:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5101.675,
      "stop": 5098.502,
      "target": 5108.022,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.62,
        "bb_width_pct": 0.532
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T09-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T09:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5095.84,
      "stop": 5089.292,
      "target": 5108.937,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.38,
        "bb_width_pct": 0.576
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T09-25-00Z_long_vwap_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T09:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5099.09,
      "stop": 5093.704,
      "target": 5109.862,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.34,
        "bb_width_pct": 0.582
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T09-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T09:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5099.09,
      "stop": 5094.84,
      "target": 5107.59,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 11.34,
        "bb_width_pct": 0.582
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T09-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T09:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5099.09,
      "stop": 5095.574,
      "target": 5106.121,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.34,
        "bb_width_pct": 0.582
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T09-30-00Z_long_vwap_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5100.97,
      "stop": 5096.67,
      "target": 5109.57,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.26,
        "bb_width_pct": 0.568
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T09-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5091.44,
      "stop": 5084.25,
      "target": 5105.82,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.65,
        "bb_width_pct": 0.583
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T09-40-00Z_long_vwap_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T09:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5096.37,
      "stop": 5090.232,
      "target": 5108.646,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.57,
        "bb_width_pct": 0.558
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T09-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T09:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5096.37,
      "stop": 5091.986,
      "target": 5105.137,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.57,
        "bb_width_pct": 0.558
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T09-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T09:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5096.37,
      "stop": 5092.792,
      "target": 5103.526,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.57,
        "bb_width_pct": 0.558
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T09-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T09:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5091.15,
      "stop": 5085.004,
      "target": 5103.443,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.45,
        "bb_width_pct": 0.56
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T09-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T09:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5089.77,
      "stop": 5083.58,
      "target": 5102.149,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.9,
        "bb_width_pct": 0.562
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T09-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T09:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5089.77,
      "stop": 5084.08,
      "target": 5101.149,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.9,
        "bb_width_pct": 0.562
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T10-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T10:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5086.465,
      "stop": 5080.436,
      "target": 5098.523,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.25,
        "bb_width_pct": 0.671
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T10-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T10:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5086.465,
      "stop": 5079.352,
      "target": 5100.69,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 13.25,
        "bb_width_pct": 0.671
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T10-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T10:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5086.465,
      "stop": 5081.267,
      "target": 5096.86,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.25,
        "bb_width_pct": 0.671
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T10-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T10:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5082.595,
      "stop": 5076.749,
      "target": 5094.287,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.01,
        "bb_width_pct": 0.721
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T10-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T10:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5085.095,
      "stop": 5077.938,
      "target": 5099.41,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 13.92,
        "bb_width_pct": 0.711
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T10-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T10:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5085.095,
      "stop": 5080.937,
      "target": 5093.412,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.92,
        "bb_width_pct": 0.711
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T10-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T10:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5088.915,
      "stop": 5083.667,
      "target": 5099.41,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.67,
        "bb_width_pct": 0.489
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T11-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T11:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5087.86,
      "stop": 5082.085,
      "target": 5099.41,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.07,
        "bb_width_pct": 0.372
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T11-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T11:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5094.63,
      "stop": 5098.237,
      "target": 5087.415,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.12,
        "bb_width_pct": 0.302
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T11-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T11:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5093.205,
      "stop": 5096.014,
      "target": 5087.587,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.89,
        "bb_width_pct": 0.315
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T11-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T11:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5084.925,
      "stop": 5079.998,
      "target": 5094.78,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 3.05,
        "bb_width_pct": 0.328
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T11-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T11:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5078.725,
      "stop": 5074.277,
      "target": 5087.621,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.27,
        "bb_width_pct": 0.354
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T11-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T11:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5078.725,
      "stop": 5073.801,
      "target": 5088.573,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.27,
        "bb_width_pct": 0.354
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T11-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T11:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5077.28,
      "stop": 5072.171,
      "target": 5087.497,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.49,
        "bb_width_pct": 0.387
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T12-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5082.44,
      "stop": 5080.049,
      "target": 5087.223,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.73,
        "bb_width_pct": 0.395
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T13-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5076.145,
      "stop": 5070.378,
      "target": 5087.678,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.96,
        "bb_width_pct": 0.483
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T13-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5076.145,
      "stop": 5070.376,
      "target": 5087.684,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.96,
        "bb_width_pct": 0.483
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T13-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T13:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5073.42,
      "stop": 5067.388,
      "target": 5085.484,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.03,
        "bb_width_pct": 0.577
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T13-10-00Z_long_vwap_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T13:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5073.42,
      "stop": 5067.1,
      "target": 5086.06,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.03,
        "bb_width_pct": 0.577
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T13-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T13:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5073.42,
      "stop": 5069.392,
      "target": 5081.475,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.03,
        "bb_width_pct": 0.577
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T13-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T13:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5073.42,
      "stop": 5067.707,
      "target": 5084.847,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.03,
        "bb_width_pct": 0.577
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T13-35-00Z_short_rsi_range_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5124.435,
      "stop": 5141.941,
      "target": 5089.424,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 21.38,
        "bb_width_pct": 1.065
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T13-35-00Z_short_vwap_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5124.435,
      "stop": 5142.429,
      "target": 5088.447,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 21.38,
        "bb_width_pct": 1.065
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T13-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5124.435,
      "stop": 5139.19,
      "target": 5094.925,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 21.38,
        "bb_width_pct": 1.065
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T13-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T13:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5121.64,
      "stop": 5136.768,
      "target": 5091.384,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.84,
        "bb_width_pct": 1.189
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T13-40-00Z_short_vwap_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T13:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5121.64,
      "stop": 5137.479,
      "target": 5089.961,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.84,
        "bb_width_pct": 1.189
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T13-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T13:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5121.64,
      "stop": 5133.845,
      "target": 5097.23,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.84,
        "bb_width_pct": 1.189
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T14-45-00Z_long_rsi_range_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T14:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5090.635,
      "stop": 5087.084,
      "target": 5097.737,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.71,
        "bb_width_pct": 1.182
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T14-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T14:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5130.2,
      "stop": 5144.335,
      "target": 5101.929,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.08,
        "bb_width_pct": 1.144
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T16-30-00Z_short_vwap_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T16:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5137.34,
      "stop": 5149.496,
      "target": 5113.028,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.98,
        "bb_width_pct": 0.631
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T16-35-00Z_short_vwap_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5130.345,
      "stop": 5138.818,
      "target": 5113.399,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 16.27,
        "bb_width_pct": 0.63
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T16-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T16:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5142.3,
      "stop": 5139.565,
      "target": 5147.77,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.38,
        "bb_width_pct": 0.637
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T16-45-00Z_short_vwap_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5142.135,
      "stop": 5156.037,
      "target": 5114.331,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.93,
        "bb_width_pct": 0.642
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T16-50-00Z_short_vwap_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T16:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5140.35,
      "stop": 5153.117,
      "target": 5114.815,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.28,
        "bb_width_pct": 0.651
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T16-55-00Z_short_vwap_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5140.125,
      "stop": 5152.586,
      "target": 5115.203,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 1.13,
        "bb_width_pct": 0.658
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T17-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T17:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5136.28,
      "stop": 5132.683,
      "target": 5143.474,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.42,
        "bb_width_pct": 0.521
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T17-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T17:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5145.27,
      "stop": 5146.98,
      "target": 5141.85,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.81,
        "bb_width_pct": 0.398
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T18-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T18:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5161.91,
      "stop": 5169.748,
      "target": 5146.234,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 26.34,
        "bb_width_pct": 0.61
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T18-45-00Z_short_vwap_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T18:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5161.91,
      "stop": 5170.518,
      "target": 5144.693,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 26.34,
        "bb_width_pct": 0.61
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T18-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T18:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5161.91,
      "stop": 5169.689,
      "target": 5146.352,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 26.34,
        "bb_width_pct": 0.61
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T18-50-00Z_short_rsi_range_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T18:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5157.76,
      "stop": 5162.999,
      "target": 5147.283,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 21.88,
        "bb_width_pct": 0.616
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T18-50-00Z_short_vwap_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T18:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5157.76,
      "stop": 5163.981,
      "target": 5145.318,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 21.88,
        "bb_width_pct": 0.616
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T18-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T18:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5157.76,
      "stop": 5163.205,
      "target": 5146.87,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 21.88,
        "bb_width_pct": 0.616
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T18-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T18:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5157.76,
      "stop": 5162.032,
      "target": 5149.216,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.88,
        "bb_width_pct": 0.616
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T19-20-00Z_short_rsi_range_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T19:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5168.275,
      "stop": 5175.187,
      "target": 5154.451,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 27.87,
        "bb_width_pct": 0.906
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T19-20-00Z_short_vwap_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T19:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5168.275,
      "stop": 5177.502,
      "target": 5149.821,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 27.87,
        "bb_width_pct": 0.906
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T19-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T19:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5168.275,
      "stop": 5177.279,
      "target": 5150.267,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 27.87,
        "bb_width_pct": 0.906
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T19-25-00Z_short_rsi_range_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T19:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5165.365,
      "stop": 5170.146,
      "target": 5155.804,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 19.65,
        "bb_width_pct": 0.876
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T19-25-00Z_short_vwap_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T19:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5165.365,
      "stop": 5172.86,
      "target": 5150.375,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 19.65,
        "bb_width_pct": 0.876
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T19-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T19:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5165.365,
      "stop": 5172.914,
      "target": 5150.267,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 19.65,
        "bb_width_pct": 0.876
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T19-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T19:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5165.365,
      "stop": 5168.745,
      "target": 5158.604,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.65,
        "bb_width_pct": 0.876
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T19-35-00Z_short_vwap_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T19:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5159.445,
      "stop": 5163.567,
      "target": 5151.2,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.59,
        "bb_width_pct": 0.749
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T19-55-00Z_short_vwap_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T19:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5159.73,
      "stop": 5163.481,
      "target": 5152.229,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.46,
        "bb_width_pct": 0.506
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T21-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T21:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5162.66,
      "stop": 5164.95,
      "target": 5158.081,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.07,
        "bb_width_pct": 0.264
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T21-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T21:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5168.52,
      "stop": 5173.235,
      "target": 5159.091,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.96,
        "bb_width_pct": 0.367
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T21-20-00Z_short_vwap_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T21:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5168.52,
      "stop": 5202.747,
      "target": 5100.065,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.96,
        "bb_width_pct": 0.367
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T21-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T21:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5168.52,
      "stop": 5173.984,
      "target": 5157.593,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.96,
        "bb_width_pct": 0.367
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T21-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T21:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5168.52,
      "stop": 5172.528,
      "target": 5160.505,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.96,
        "bb_width_pct": 0.367
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T21-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T21:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5168.42,
      "stop": 5172.886,
      "target": 5159.488,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.52,
        "bb_width_pct": 0.399
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T21-25-00Z_short_vwap_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T21:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5168.42,
      "stop": 5201.463,
      "target": 5102.335,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.52,
        "bb_width_pct": 0.399
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T21-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T21:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5168.42,
      "stop": 5173.501,
      "target": 5158.257,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.52,
        "bb_width_pct": 0.399
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T21-35-00Z_short_rsi_range_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T21:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5171.165,
      "stop": 5176.484,
      "target": 5160.527,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 24.91,
        "bb_width_pct": 0.486
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T21-35-00Z_short_vwap_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T21:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5171.165,
      "stop": 5203.449,
      "target": 5106.597,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 24.91,
        "bb_width_pct": 0.486
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T21-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T21:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5171.165,
      "stop": 5177.134,
      "target": 5159.227,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 24.91,
        "bb_width_pct": 0.486
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T21-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T21:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5171.165,
      "stop": 5175.199,
      "target": 5163.097,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 24.91,
        "bb_width_pct": 0.486
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T21-40-00Z_short_rsi_range_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T21:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5170.645,
      "stop": 5175.347,
      "target": 5161.24,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 19.59,
        "bb_width_pct": 0.508
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T21-40-00Z_short_vwap_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T21:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5170.645,
      "stop": 5201.703,
      "target": 5108.529,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 19.59,
        "bb_width_pct": 0.508
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T21-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T21:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5170.645,
      "stop": 5175.456,
      "target": 5161.023,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 19.59,
        "bb_width_pct": 0.508
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T21-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T21:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5171.69,
      "stop": 5174.927,
      "target": 5165.215,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.82,
        "bb_width_pct": 0.546
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T21-55-00Z_short_rsi_range_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T21:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5171.5,
      "stop": 5175.504,
      "target": 5163.493,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 21.45,
        "bb_width_pct": 0.547
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T21-55-00Z_short_vwap_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T21:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5171.5,
      "stop": 5200.347,
      "target": 5113.805,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 21.45,
        "bb_width_pct": 0.547
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T21-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T21:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5171.5,
      "stop": 5176.247,
      "target": 5162.005,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 21.45,
        "bb_width_pct": 0.547
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-06T21-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T21:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5171.5,
      "stop": 5174.343,
      "target": 5165.814,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.45,
        "bb_width_pct": 0.547
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-08T22-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-08",
      "timestamp": "2026-03-08T22:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5157.895,
      "stop": 5154.828,
      "target": 5164.029,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.71,
        "bb_width_pct": 0.522
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-08T22-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-08",
      "timestamp": "2026-03-08T22:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5157.895,
      "stop": 5154.34,
      "target": 5165.005,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.71,
        "bb_width_pct": 0.522
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-08T22-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-08",
      "timestamp": "2026-03-08T22:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5150.755,
      "stop": 5144.649,
      "target": 5162.968,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.4,
        "bb_width_pct": 0.725
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-08T22-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-08",
      "timestamp": "2026-03-08T22:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5150.755,
      "stop": 5145.894,
      "target": 5160.477,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.4,
        "bb_width_pct": 0.725
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-08T22-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-08",
      "timestamp": "2026-03-08T22:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5156.065,
      "stop": 5152.704,
      "target": 5162.788,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.01,
        "bb_width_pct": 0.732
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T01-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T01:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5051.785,
      "stop": 5029.759,
      "target": 5095.837,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.0,
        "bb_width_pct": 1.186
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T01-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T01:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5051.785,
      "stop": 5047.229,
      "target": 5060.897,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.0,
        "bb_width_pct": 1.186
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T01-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T01:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5079.345,
      "stop": 5091.468,
      "target": 5055.1,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.4,
        "bb_width_pct": 1.055
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T01-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T01:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5071.89,
      "stop": 5079.84,
      "target": 5055.99,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.27,
        "bb_width_pct": 1.154
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T02-45-00Z_short_vwap_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5092.6,
      "stop": 5105.821,
      "target": 5066.157,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.96,
        "bb_width_pct": 0.618
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T02-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5092.6,
      "stop": 5108.756,
      "target": 5060.288,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.96,
        "bb_width_pct": 0.618
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T02-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T02:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5094.655,
      "stop": 5101.057,
      "target": 5081.851,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.9,
        "bb_width_pct": 0.678
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T03-00-00Z_short_vwap_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5092.535,
      "stop": 5104.616,
      "target": 5068.373,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.9,
        "bb_width_pct": 0.702
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T03-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5092.535,
      "stop": 5110.239,
      "target": 5057.128,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.9,
        "bb_width_pct": 0.702
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T03-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5092.535,
      "stop": 5097.173,
      "target": 5083.259,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.9,
        "bb_width_pct": 0.702
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T03-05-00Z_short_vwap_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T03:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5090.505,
      "stop": 5101.267,
      "target": 5068.981,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 17.37,
        "bb_width_pct": 0.689
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T03-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T03:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5090.505,
      "stop": 5107.041,
      "target": 5057.432,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.37,
        "bb_width_pct": 0.689
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T03-10-00Z_short_vwap_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T03:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5087.295,
      "stop": 5096.208,
      "target": 5069.469,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.88,
        "bb_width_pct": 0.691
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T03-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T03:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5087.295,
      "stop": 5102.226,
      "target": 5057.432,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.88,
        "bb_width_pct": 0.691
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T03-20-00Z_short_vwap_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T03:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5093.14,
      "stop": 5104.393,
      "target": 5070.635,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.58,
        "bb_width_pct": 0.697
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T03-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T03:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5093.14,
      "stop": 5110.994,
      "target": 5057.432,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.58,
        "bb_width_pct": 0.697
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T03-25-00Z_short_vwap_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5083.94,
      "stop": 5090.361,
      "target": 5071.097,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.74,
        "bb_width_pct": 0.694
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T03-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5083.94,
      "stop": 5097.194,
      "target": 5057.432,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.74,
        "bb_width_pct": 0.694
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T03-35-00Z_short_vwap_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T03:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5085.79,
      "stop": 5092.739,
      "target": 5071.892,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.12,
        "bb_width_pct": 0.604
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T03-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T03:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5085.79,
      "stop": 5099.36,
      "target": 5058.65,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.12,
        "bb_width_pct": 0.604
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T03-50-00Z_short_vwap_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T03:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5091.31,
      "stop": 5100.458,
      "target": 5073.015,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 1.13,
        "bb_width_pct": 0.422
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T03-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T03:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5091.31,
      "stop": 5107.64,
      "target": 5058.65,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.13,
        "bb_width_pct": 0.422
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T03-55-00Z_short_vwap_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T03:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5091.275,
      "stop": 5100.213,
      "target": 5073.4,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 1.37,
        "bb_width_pct": 0.385
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T03-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T03:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5091.275,
      "stop": 5107.587,
      "target": 5058.65,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.37,
        "bb_width_pct": 0.385
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T04-00-00Z_short_vwap_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T04:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5089.52,
      "stop": 5097.416,
      "target": 5073.728,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.77,
        "bb_width_pct": 0.342
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T04-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T04:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5089.52,
      "stop": 5104.955,
      "target": 5058.65,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.77,
        "bb_width_pct": 0.342
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T04-10-00Z_short_vwap_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T04:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5090.855,
      "stop": 5099.052,
      "target": 5074.462,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.33,
        "bb_width_pct": 0.217
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T04-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T04:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5090.855,
      "stop": 5106.957,
      "target": 5058.65,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.33,
        "bb_width_pct": 0.217
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T04-20-00Z_short_vwap_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5090.06,
      "stop": 5097.547,
      "target": 5075.087,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.92,
        "bb_width_pct": 0.215
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T04-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5090.06,
      "stop": 5101.604,
      "target": 5066.972,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.92,
        "bb_width_pct": 0.215
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T04-25-00Z_short_vwap_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T04:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5089.46,
      "stop": 5096.5,
      "target": 5075.38,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.83,
        "bb_width_pct": 0.213
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T04-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T04:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5089.46,
      "stop": 5096.782,
      "target": 5074.815,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.83,
        "bb_width_pct": 0.213
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T04-35-00Z_short_vwap_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5091.02,
      "stop": 5098.558,
      "target": 5075.944,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.17,
        "bb_width_pct": 0.2
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T04-40-00Z_short_vwap_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5090.38,
      "stop": 5097.474,
      "target": 5076.193,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.06,
        "bb_width_pct": 0.196
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T04-45-00Z_short_vwap_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5089.625,
      "stop": 5096.235,
      "target": 5076.405,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.32,
        "bb_width_pct": 0.197
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T04-50-00Z_short_vwap_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T04:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5085.55,
      "stop": 5090.031,
      "target": 5076.587,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 9.7,
        "bb_width_pct": 0.207
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T05-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5094.88,
      "stop": 5097.277,
      "target": 5090.086,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.46,
        "bb_width_pct": 0.206
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T05-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5096.11,
      "stop": 5098.939,
      "target": 5090.452,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.58,
        "bb_width_pct": 0.199
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T05-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5096.425,
      "stop": 5099.152,
      "target": 5090.972,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.39,
        "bb_width_pct": 0.222
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T05-15-00Z_short_vwap_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5088.46,
      "stop": 5093.757,
      "target": 5077.865,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.72,
        "bb_width_pct": 0.207
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T05-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5088.46,
      "stop": 5093.3,
      "target": 5078.78,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.72,
        "bb_width_pct": 0.207
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T05-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5095.18,
      "stop": 5097.02,
      "target": 5091.501,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.0,
        "bb_width_pct": 0.206
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T05-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5095.18,
      "stop": 5097.172,
      "target": 5091.196,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.0,
        "bb_width_pct": 0.206
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T05-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5095.425,
      "stop": 5097.31,
      "target": 5091.655,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.21,
        "bb_width_pct": 0.217
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T05-35-00Z_short_vwap_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5106.07,
      "stop": 5119.504,
      "target": 5079.201,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.42,
        "bb_width_pct": 0.405
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T05-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5106.07,
      "stop": 5113.752,
      "target": 5090.705,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.42,
        "bb_width_pct": 0.405
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T05-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5106.07,
      "stop": 5111.98,
      "target": 5094.249,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.42,
        "bb_width_pct": 0.405
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T05-50-00Z_short_rsi_range_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5126.205,
      "stop": 5139.978,
      "target": 5098.659,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 23.23,
        "bb_width_pct": 1.065
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T05-50-00Z_short_vwap_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5126.205,
      "stop": 5148.71,
      "target": 5081.195,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 23.23,
        "bb_width_pct": 1.065
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T05-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5126.205,
      "stop": 5133.901,
      "target": 5110.812,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 23.23,
        "bb_width_pct": 1.065
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T05-55-00Z_short_rsi_range_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T05:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5124.2,
      "stop": 5136.145,
      "target": 5100.31,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 24.11,
        "bb_width_pct": 1.14
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T05-55-00Z_short_vwap_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T05:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5124.2,
      "stop": 5145.408,
      "target": 5081.784,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 24.11,
        "bb_width_pct": 1.14
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T06-00-00Z_short_rsi_range_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5123.51,
      "stop": 5134.274,
      "target": 5101.983,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 19.89,
        "bb_width_pct": 1.19
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T06-00-00Z_short_vwap_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5123.51,
      "stop": 5144.08,
      "target": 5082.369,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 19.89,
        "bb_width_pct": 1.19
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T06-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5123.51,
      "stop": 5131.855,
      "target": 5106.821,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.89,
        "bb_width_pct": 1.19
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T06-35-00Z_short_vwap_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5118.21,
      "stop": 5134.198,
      "target": 5086.235,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.0,
        "bb_width_pct": 1.166
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T06-40-00Z_short_vwap_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T06:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5106.675,
      "stop": 5116.748,
      "target": 5086.529,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.42,
        "bb_width_pct": 1.122
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T06-45-00Z_short_vwap_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T06:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5106.115,
      "stop": 5115.788,
      "target": 5086.77,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.06,
        "bb_width_pct": 1.082
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T06-50-00Z_short_vwap_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T06:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5100.565,
      "stop": 5107.37,
      "target": 5086.954,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 25.61,
        "bb_width_pct": 1.061
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T06-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T06:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5100.565,
      "stop": 5094.334,
      "target": 5113.027,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.61,
        "bb_width_pct": 1.061
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T06-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T06:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5097.975,
      "stop": 5091.166,
      "target": 5111.593,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.05,
        "bb_width_pct": 0.997
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T07-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T07:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5094.23,
      "stop": 5083.188,
      "target": 5116.313,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.14,
        "bb_width_pct": 1.003
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T07-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T07:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5097.905,
      "stop": 5088.639,
      "target": 5116.437,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.38,
        "bb_width_pct": 0.988
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T07-05-00Z_long_rsi_range_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T07:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5097.905,
      "stop": 5088.639,
      "target": 5116.437,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.38,
        "bb_width_pct": 0.988
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T07-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T07:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5097.905,
      "stop": 5091.364,
      "target": 5110.988,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 20.38,
        "bb_width_pct": 0.988
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T07-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T07:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5097.905,
      "stop": 5092.461,
      "target": 5108.794,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.38,
        "bb_width_pct": 0.988
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T07-15-00Z_long_rsi_range_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T07:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5098.535,
      "stop": 5090.008,
      "target": 5115.588,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.4,
        "bb_width_pct": 1.059
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T07-20-00Z_long_rsi_range_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T07:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5105.12,
      "stop": 5100.28,
      "target": 5114.8,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.35,
        "bb_width_pct": 1.069
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T07-25-00Z_long_rsi_range_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T07:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5106.815,
      "stop": 5103.576,
      "target": 5113.293,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.58,
        "bb_width_pct": 1.0
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T07-35-00Z_long_rsi_range_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T07:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5103.83,
      "stop": 5100.196,
      "target": 5111.097,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.4,
        "bb_width_pct": 0.972
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T08-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5095.885,
      "stop": 5093.882,
      "target": 5099.89,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.91,
        "bb_width_pct": 0.332
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T08-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5095.885,
      "stop": 5086.805,
      "target": 5114.045,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.91,
        "bb_width_pct": 0.332
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T08-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5095.885,
      "stop": 5093.196,
      "target": 5101.263,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.91,
        "bb_width_pct": 0.332
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T08-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T08:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5090.265,
      "stop": 5085.638,
      "target": 5099.518,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.52,
        "bb_width_pct": 0.369
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T08-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T08:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5100.9,
      "stop": 5094.385,
      "target": 5113.93,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.28,
        "bb_width_pct": 0.368
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T08-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T08:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5096.725,
      "stop": 5088.123,
      "target": 5113.93,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.12,
        "bb_width_pct": 0.373
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T09-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T09:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5112.865,
      "stop": 5118.711,
      "target": 5101.172,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.85,
        "bb_width_pct": 0.444
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T09-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5118.34,
      "stop": 5124.879,
      "target": 5105.263,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.14,
        "bb_width_pct": 0.875
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T09-35-00Z_short_rsi_range_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5118.34,
      "stop": 5124.879,
      "target": 5105.263,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 17.14,
        "bb_width_pct": 0.875
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T09-35-00Z_short_vwap_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5118.34,
      "stop": 5125.955,
      "target": 5103.11,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 17.14,
        "bb_width_pct": 0.875
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T09-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5118.34,
      "stop": 5122.551,
      "target": 5109.917,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.14,
        "bb_width_pct": 0.875
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T09-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5118.34,
      "stop": 5122.854,
      "target": 5109.313,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.14,
        "bb_width_pct": 0.875
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T10-40-00Z_long_rsi_range_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T10:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5096.045,
      "stop": 5090.07,
      "target": 5107.994,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.19,
        "bb_width_pct": 0.745
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T10-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T10:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5096.045,
      "stop": 5089.109,
      "target": 5109.917,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 21.19,
        "bb_width_pct": 0.745
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T10-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T10:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5096.575,
      "stop": 5091.724,
      "target": 5106.278,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.64,
        "bb_width_pct": 0.809
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T10-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T10:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5096.575,
      "stop": 5089.904,
      "target": 5109.917,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.64,
        "bb_width_pct": 0.809
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T10-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T10:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5096.575,
      "stop": 5094.075,
      "target": 5101.575,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.64,
        "bb_width_pct": 0.809
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T11-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5096.525,
      "stop": 5090.635,
      "target": 5108.305,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.16,
        "bb_width_pct": 0.818
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T11-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5096.525,
      "stop": 5094.854,
      "target": 5099.867,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.16,
        "bb_width_pct": 0.818
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T11-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T11:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5088.53,
      "stop": 5084.07,
      "target": 5097.449,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.86,
        "bb_width_pct": 0.522
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T11-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T11:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5084.565,
      "stop": 5077.969,
      "target": 5097.756,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.7,
        "bb_width_pct": 0.569
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T11-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T11:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5085.94,
      "stop": 5080.407,
      "target": 5097.006,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.44,
        "bb_width_pct": 0.6
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T11-25-00Z_long_vwap_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T11:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5085.94,
      "stop": 5080.789,
      "target": 5096.241,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.44,
        "bb_width_pct": 0.6
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T11-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T11:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5085.94,
      "stop": 5075.736,
      "target": 5106.347,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.44,
        "bb_width_pct": 0.6
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T11-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T11:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5085.94,
      "stop": 5081.288,
      "target": 5095.243,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.44,
        "bb_width_pct": 0.6
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T11-30-00Z_long_vwap_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T11:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5086.165,
      "stop": 5081.391,
      "target": 5095.713,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.17,
        "bb_width_pct": 0.608
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T11-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T11:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5086.165,
      "stop": 5076.074,
      "target": 5106.347,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.17,
        "bb_width_pct": 0.608
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T11-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T11:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5086.165,
      "stop": 5082.058,
      "target": 5094.378,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.17,
        "bb_width_pct": 0.608
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T11-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T11:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5091.205,
      "stop": 5083.634,
      "target": 5106.347,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 2.11,
        "bb_width_pct": 0.59
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T11-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T11:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5086.11,
      "stop": 5075.991,
      "target": 5106.347,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.1,
        "bb_width_pct": 0.524
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T11-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T11:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5092.5,
      "stop": 5085.576,
      "target": 5106.347,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.97,
        "bb_width_pct": 0.436
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T12-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T12:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5104.4,
      "stop": 5109.117,
      "target": 5094.966,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.33,
        "bb_width_pct": 0.42
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T12-30-00Z_short_rsi_range_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T12:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5109.59,
      "stop": 5117.623,
      "target": 5093.524,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 23.85,
        "bb_width_pct": 0.588
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T12-30-00Z_short_vwap_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T12:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5109.59,
      "stop": 5113.885,
      "target": 5101.001,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 23.85,
        "bb_width_pct": 0.588
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T12-40-00Z_short_rsi_range_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T12:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5107.1,
      "stop": 5113.062,
      "target": 5095.175,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 16.94,
        "bb_width_pct": 0.673
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T12-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T12:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5107.1,
      "stop": 5110.865,
      "target": 5099.57,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.94,
        "bb_width_pct": 0.673
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T13-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T13:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5087.38,
      "stop": 5082.925,
      "target": 5096.29,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.65,
        "bb_width_pct": 0.559
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T13-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5098.18,
      "stop": 5099.161,
      "target": 5096.218,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.8,
        "bb_width_pct": 0.512
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T13-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5098.18,
      "stop": 5098.534,
      "target": 5097.472,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.8,
        "bb_width_pct": 0.512
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T13-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5081.645,
      "stop": 5073.715,
      "target": 5097.504,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.02,
        "bb_width_pct": 0.709
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T13-45-00Z_long_vwap_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5081.645,
      "stop": 5073.759,
      "target": 5097.418,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.02,
        "bb_width_pct": 0.709
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T13-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5081.645,
      "stop": 5075.766,
      "target": 5093.403,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 17.02,
        "bb_width_pct": 0.709
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T13-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5081.645,
      "stop": 5075.407,
      "target": 5094.12,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.02,
        "bb_width_pct": 0.709
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T13-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T13:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5074.39,
      "stop": 5063.981,
      "target": 5095.208,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.09,
        "bb_width_pct": 0.892
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T13-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T13:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5074.39,
      "stop": 5066.306,
      "target": 5090.558,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.09,
        "bb_width_pct": 0.892
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T14-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5086.365,
      "stop": 5084.566,
      "target": 5089.962,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.09,
        "bb_width_pct": 0.889
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T14-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T14:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5074.87,
      "stop": 5066.02,
      "target": 5092.57,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.48,
        "bb_width_pct": 0.903
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T14-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T14:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5074.87,
      "stop": 5067.954,
      "target": 5088.702,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.48,
        "bb_width_pct": 0.903
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T14-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T14:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5071.26,
      "stop": 5061.563,
      "target": 5090.653,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.85,
        "bb_width_pct": 0.919
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T14-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T14:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5071.26,
      "stop": 5063.369,
      "target": 5087.041,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.85,
        "bb_width_pct": 0.919
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T14-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T14:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5076.01,
      "stop": 5069.532,
      "target": 5088.966,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.46,
        "bb_width_pct": 0.884
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T14-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T14:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5076.01,
      "stop": 5070.74,
      "target": 5086.55,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.46,
        "bb_width_pct": 0.884
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T14-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T14:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5076.01,
      "stop": 5071.02,
      "target": 5085.991,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.46,
        "bb_width_pct": 0.884
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T14-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T14:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5099.42,
      "stop": 5105.427,
      "target": 5087.405,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.21,
        "bb_width_pct": 0.908
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T14-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T14:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5099.42,
      "stop": 5105.234,
      "target": 5087.792,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.21,
        "bb_width_pct": 0.908
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T14-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T14:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5099.42,
      "stop": 5104.22,
      "target": 5089.82,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.21,
        "bb_width_pct": 0.908
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T16-05-00Z_short_vwap_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T16:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5106.195,
      "stop": 5112.587,
      "target": 5093.412,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 17.02,
        "bb_width_pct": 0.578
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T16-10-00Z_short_vwap_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T16:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5103.525,
      "stop": 5108.464,
      "target": 5093.647,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 20.22,
        "bb_width_pct": 0.575
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T16-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T16:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5103.525,
      "stop": 5111.069,
      "target": 5088.438,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 20.22,
        "bb_width_pct": 0.575
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T16-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T16:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5103.525,
      "stop": 5106.841,
      "target": 5096.894,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.22,
        "bb_width_pct": 0.575
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T16-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T16:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5104.26,
      "stop": 5107.249,
      "target": 5098.282,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.43,
        "bb_width_pct": 0.527
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T16-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T16:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5107.305,
      "stop": 5111.019,
      "target": 5099.877,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.54,
        "bb_width_pct": 0.538
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T16-45-00Z_short_vwap_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5105.27,
      "stop": 5110.488,
      "target": 5094.833,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.78,
        "bb_width_pct": 0.453
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T16-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5105.27,
      "stop": 5113.686,
      "target": 5088.438,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.78,
        "bb_width_pct": 0.453
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T16-50-00Z_short_vwap_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T16:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5105.0,
      "stop": 5109.992,
      "target": 5095.016,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.19,
        "bb_width_pct": 0.437
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T16-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T16:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5105.0,
      "stop": 5113.281,
      "target": 5088.438,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.19,
        "bb_width_pct": 0.437
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T16-55-00Z_short_vwap_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5104.74,
      "stop": 5109.52,
      "target": 5095.179,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.54,
        "bb_width_pct": 0.327
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T17-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T17:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5093.81,
      "stop": 5090.502,
      "target": 5100.427,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.9,
        "bb_width_pct": 0.312
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T17-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T17:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5095.055,
      "stop": 5091.52,
      "target": 5102.125,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.22,
        "bb_width_pct": 0.319
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T17-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T17:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5095.055,
      "stop": 5092.625,
      "target": 5099.915,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.22,
        "bb_width_pct": 0.319
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T17-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T17:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5093.62,
      "stop": 5089.538,
      "target": 5101.785,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.06,
        "bb_width_pct": 0.35
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T17-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T17:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5093.62,
      "stop": 5090.772,
      "target": 5099.316,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.06,
        "bb_width_pct": 0.35
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T17-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T17:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5090.815,
      "stop": 5085.884,
      "target": 5100.677,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.78,
        "bb_width_pct": 0.407
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T17-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T17:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5090.815,
      "stop": 5087.224,
      "target": 5097.996,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.78,
        "bb_width_pct": 0.407
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T17-45-00Z_long_rsi_range_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T17:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5093.635,
      "stop": 5090.428,
      "target": 5100.049,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.04,
        "bb_width_pct": 0.411
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T18-05-00Z_long_rsi_range_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T18:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5093.11,
      "stop": 5090.17,
      "target": 5098.991,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.76,
        "bb_width_pct": 0.428
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T18-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T18:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5105.985,
      "stop": 5109.836,
      "target": 5098.282,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.82,
        "bb_width_pct": 0.394
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T18-25-00Z_short_vwap_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T18:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5105.315,
      "stop": 5109.091,
      "target": 5097.762,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.26,
        "bb_width_pct": 0.394
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T18-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T18:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5105.315,
      "stop": 5110.329,
      "target": 5095.288,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.26,
        "bb_width_pct": 0.394
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T18-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T18:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5105.315,
      "stop": 5108.496,
      "target": 5098.952,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.26,
        "bb_width_pct": 0.394
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T19-30-00Z_short_rsi_range_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T19:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5131.605,
      "stop": 5139.434,
      "target": 5115.947,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 26.06,
        "bb_width_pct": 1.14
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T19-30-00Z_short_vwap_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T19:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5131.605,
      "stop": 5142.949,
      "target": 5108.917,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 26.06,
        "bb_width_pct": 1.14
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T19-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T19:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5131.605,
      "stop": 5139.121,
      "target": 5116.573,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 26.06,
        "bb_width_pct": 1.14
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T19-35-00Z_short_rsi_range_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T19:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5130.385,
      "stop": 5136.747,
      "target": 5117.66,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 19.24,
        "bb_width_pct": 1.106
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T19-35-00Z_short_vwap_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T19:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5130.385,
      "stop": 5140.791,
      "target": 5109.572,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 19.24,
        "bb_width_pct": 1.106
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T19-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T19:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5130.385,
      "stop": 5135.089,
      "target": 5120.977,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.24,
        "bb_width_pct": 1.106
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T19-45-00Z_short_vwap_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T19:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5134.285,
      "stop": 5145.928,
      "target": 5110.998,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.74,
        "bb_width_pct": 0.962
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T19-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T19:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5134.285,
      "stop": 5143.141,
      "target": 5116.573,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.74,
        "bb_width_pct": 0.962
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T19-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T19:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5134.285,
      "stop": 5139.679,
      "target": 5123.498,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.74,
        "bb_width_pct": 0.962
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T20-00-00Z_short_vwap_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T20:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5139.97,
      "stop": 5153.323,
      "target": 5113.264,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.59,
        "bb_width_pct": 0.814
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T20-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T20:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5139.97,
      "stop": 5151.59,
      "target": 5116.73,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.59,
        "bb_width_pct": 0.814
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T20-10-00Z_short_vwap_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T20:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5139.53,
      "stop": 5151.929,
      "target": 5114.733,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.39,
        "bb_width_pct": 0.684
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T20-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T20:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5139.53,
      "stop": 5149.96,
      "target": 5118.67,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.39,
        "bb_width_pct": 0.684
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T20-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T20:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5139.53,
      "stop": 5144.281,
      "target": 5130.028,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.39,
        "bb_width_pct": 0.684
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T20-20-00Z_short_vwap_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T20:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5137.24,
      "stop": 5147.91,
      "target": 5115.9,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.62,
        "bb_width_pct": 0.591
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T20-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T20:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5137.24,
      "stop": 5146.525,
      "target": 5118.67,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.62,
        "bb_width_pct": 0.591
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T20-30-00Z_short_vwap_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T20:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5137.265,
      "stop": 5147.437,
      "target": 5116.921,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.2,
        "bb_width_pct": 0.494
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T20-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T20:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5137.265,
      "stop": 5146.562,
      "target": 5118.67,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.2,
        "bb_width_pct": 0.494
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T20-45-00Z_short_vwap_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T20:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5138.805,
      "stop": 5149.053,
      "target": 5118.309,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.11,
        "bb_width_pct": 0.345
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T20-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T20:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5138.805,
      "stop": 5148.873,
      "target": 5118.67,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.11,
        "bb_width_pct": 0.345
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T20-50-00Z_short_vwap_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T20:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5135.57,
      "stop": 5144.002,
      "target": 5118.707,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 1.68,
        "bb_width_pct": 0.24
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T20-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T20:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5135.57,
      "stop": 5144.02,
      "target": 5118.67,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.68,
        "bb_width_pct": 0.24
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T22-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T22:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5131.515,
      "stop": 5128.887,
      "target": 5136.771,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.3,
        "bb_width_pct": 0.285
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T22-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T22:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5131.515,
      "stop": 5130.294,
      "target": 5133.957,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.3,
        "bb_width_pct": 0.285
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T22-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T22:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5132.45,
      "stop": 5130.269,
      "target": 5136.813,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.21,
        "bb_width_pct": 0.281
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T22-15-00Z_short_vwap_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T22:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5128.21,
      "stop": 5142.589,
      "target": 5099.452,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.81,
        "bb_width_pct": 0.298
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T22-20-00Z_short_vwap_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T22:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5124.525,
      "stop": 5136.641,
      "target": 5100.292,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 19.5,
        "bb_width_pct": 0.363
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T22-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T22:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5124.525,
      "stop": 5120.565,
      "target": 5132.446,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.5,
        "bb_width_pct": 0.363
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T22-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T22:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5132.225,
      "stop": 5130.312,
      "target": 5136.052,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.81,
        "bb_width_pct": 0.368
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T22-30-00Z_short_vwap_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T22:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5129.67,
      "stop": 5143.387,
      "target": 5102.236,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.13,
        "bb_width_pct": 0.383
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T22-35-00Z_short_vwap_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T22:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5128.925,
      "stop": 5141.829,
      "target": 5103.117,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 9.27,
        "bb_width_pct": 0.386
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T22-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T22:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5145.51,
      "stop": 5150.673,
      "target": 5135.184,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.54,
        "bb_width_pct": 0.409
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T22-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T22:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5145.51,
      "stop": 5151.076,
      "target": 5134.377,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.54,
        "bb_width_pct": 0.409
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T23-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5142.645,
      "stop": 5145.904,
      "target": 5136.127,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.99,
        "bb_width_pct": 0.52
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T23-00-00Z_short_vwap_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5142.645,
      "stop": 5159.705,
      "target": 5108.525,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.99,
        "bb_width_pct": 0.52
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T23-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5142.645,
      "stop": 5146.785,
      "target": 5134.365,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.99,
        "bb_width_pct": 0.52
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T23-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5142.645,
      "stop": 5145.573,
      "target": 5136.788,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.99,
        "bb_width_pct": 0.52
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T23-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T23:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5146.26,
      "stop": 5150.36,
      "target": 5138.059,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.01,
        "bb_width_pct": 0.658
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T23-20-00Z_short_vwap_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T23:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5146.26,
      "stop": 5163.205,
      "target": 5112.37,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.01,
        "bb_width_pct": 0.658
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T23-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T23:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5146.26,
      "stop": 5150.999,
      "target": 5136.782,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.01,
        "bb_width_pct": 0.658
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T23-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T23:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5146.26,
      "stop": 5149.092,
      "target": 5140.596,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.01,
        "bb_width_pct": 0.658
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T23-25-00Z_short_vwap_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T23:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5145.04,
      "stop": 5160.975,
      "target": 5113.171,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 16.19,
        "bb_width_pct": 0.668
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T23-30-00Z_short_vwap_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5143.2,
      "stop": 5157.857,
      "target": 5113.887,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 9.15,
        "bb_width_pct": 0.671
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T23-40-00Z_short_vwap_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5137.425,
      "stop": 5148.534,
      "target": 5115.206,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.94,
        "bb_width_pct": 0.665
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-09T23-55-00Z_short_vwap_mean_reversion",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T23:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5139.805,
      "stop": 5151.31,
      "target": 5116.795,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.01,
        "bb_width_pct": 0.595
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T00-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T00:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5130.955,
      "stop": 5125.229,
      "target": 5142.407,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.95,
        "bb_width_pct": 0.464
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T00-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5130.355,
      "stop": 5124.994,
      "target": 5141.077,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.85,
        "bb_width_pct": 0.537
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T00-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5130.355,
      "stop": 5126.922,
      "target": 5137.221,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.85,
        "bb_width_pct": 0.537
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T01-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T01:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5144.115,
      "stop": 5147.64,
      "target": 5137.065,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.45,
        "bb_width_pct": 0.43
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T01-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T01:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5144.115,
      "stop": 5147.781,
      "target": 5136.782,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.45,
        "bb_width_pct": 0.43
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T01-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T01:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5144.115,
      "stop": 5147.628,
      "target": 5137.09,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.45,
        "bb_width_pct": 0.43
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T01-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T01:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5143.735,
      "stop": 5147.056,
      "target": 5137.092,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.06,
        "bb_width_pct": 0.432
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T01-25-00Z_short_rsi_range_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T01:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5158.205,
      "stop": 5167.748,
      "target": 5139.119,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 20.86,
        "bb_width_pct": 0.675
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T01-25-00Z_short_vwap_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T01:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5158.205,
      "stop": 5167.857,
      "target": 5138.901,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 20.86,
        "bb_width_pct": 0.675
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T01-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T01:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5158.205,
      "stop": 5167.546,
      "target": 5139.522,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 20.86,
        "bb_width_pct": 0.675
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T01-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T01:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5161.215,
      "stop": 5171.184,
      "target": 5141.277,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.86,
        "bb_width_pct": 0.868
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T01-35-00Z_short_rsi_range_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T01:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5161.215,
      "stop": 5171.184,
      "target": 5141.277,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 22.86,
        "bb_width_pct": 0.868
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T01-35-00Z_short_vwap_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T01:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5161.215,
      "stop": 5171.239,
      "target": 5141.167,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 22.86,
        "bb_width_pct": 0.868
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T01-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T01:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5161.215,
      "stop": 5170.446,
      "target": 5142.752,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 22.86,
        "bb_width_pct": 0.868
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T01-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T01:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5166.065,
      "stop": 5177.664,
      "target": 5142.867,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 24.29,
        "bb_width_pct": 0.953
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T02-30-00Z_short_rsi_range_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5178.815,
      "stop": 5185.894,
      "target": 5164.656,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 18.4,
        "bb_width_pct": 1.131
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T02-30-00Z_short_vwap_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5178.815,
      "stop": 5191.575,
      "target": 5153.294,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 18.4,
        "bb_width_pct": 1.131
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T02-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5178.815,
      "stop": 5190.25,
      "target": 5155.945,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.4,
        "bb_width_pct": 1.131
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T02-45-00Z_short_rsi_range_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5179.39,
      "stop": 5183.75,
      "target": 5170.669,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 13.12,
        "bb_width_pct": 0.843
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T02-45-00Z_short_vwap_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5179.39,
      "stop": 5191.239,
      "target": 5155.693,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.12,
        "bb_width_pct": 0.843
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T02-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5179.39,
      "stop": 5191.113,
      "target": 5155.945,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.12,
        "bb_width_pct": 0.843
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T02-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5179.39,
      "stop": 5184.014,
      "target": 5170.142,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.12,
        "bb_width_pct": 0.843
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T02-50-00Z_short_vwap_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T02:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5174.74,
      "stop": 5183.98,
      "target": 5156.259,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.69,
        "bb_width_pct": 0.696
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T02-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T02:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5174.74,
      "stop": 5184.137,
      "target": 5155.945,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.69,
        "bb_width_pct": 0.696
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T02-55-00Z_short_vwap_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T02:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5166.065,
      "stop": 5170.8,
      "target": 5156.596,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.76,
        "bb_width_pct": 0.595
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T03-10-00Z_short_vwap_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T03:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5166.5,
      "stop": 5170.961,
      "target": 5157.578,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.4,
        "bb_width_pct": 0.462
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T03-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5166.95,
      "stop": 5163.264,
      "target": 5174.321,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.92,
        "bb_width_pct": 0.439
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T03-25-00Z_short_vwap_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5166.95,
      "stop": 5171.309,
      "target": 5158.233,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.92,
        "bb_width_pct": 0.439
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T03-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T03:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5162.935,
      "stop": 5158.035,
      "target": 5172.736,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.19,
        "bb_width_pct": 0.47
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T03-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T03:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5158.825,
      "stop": 5152.61,
      "target": 5171.255,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.77,
        "bb_width_pct": 0.539
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T03-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T03:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5158.825,
      "stop": 5154.939,
      "target": 5166.597,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.77,
        "bb_width_pct": 0.539
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T03-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T03:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5159.355,
      "stop": 5153.808,
      "target": 5170.448,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.53,
        "bb_width_pct": 0.569
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T03-50-00Z_long_rsi_range_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T03:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5159.355,
      "stop": 5153.808,
      "target": 5170.448,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.53,
        "bb_width_pct": 0.569
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T03-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T03:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5159.355,
      "stop": 5156.079,
      "target": 5165.907,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.53,
        "bb_width_pct": 0.569
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T04-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T04:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5155.74,
      "stop": 5151.498,
      "target": 5164.224,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.4,
        "bb_width_pct": 0.618
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T04-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5157.87,
      "stop": 5154.995,
      "target": 5163.619,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.15,
        "bb_width_pct": 0.607
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T05-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5168.635,
      "stop": 5171.711,
      "target": 5162.484,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.82,
        "bb_width_pct": 0.24
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T05-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5168.635,
      "stop": 5170.914,
      "target": 5164.076,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.82,
        "bb_width_pct": 0.24
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T05-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5167.65,
      "stop": 5170.215,
      "target": 5162.519,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.62,
        "bb_width_pct": 0.245
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T05-05-00Z_short_rsi_range_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5167.65,
      "stop": 5170.215,
      "target": 5162.519,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 21.62,
        "bb_width_pct": 0.245
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T05-05-00Z_short_vwap_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5167.65,
      "stop": 5171.671,
      "target": 5159.609,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 21.62,
        "bb_width_pct": 0.245
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T05-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5167.65,
      "stop": 5169.267,
      "target": 5164.417,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.62,
        "bb_width_pct": 0.245
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T05-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5170.345,
      "stop": 5173.846,
      "target": 5163.344,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.12,
        "bb_width_pct": 0.325
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T05-15-00Z_short_rsi_range_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5170.345,
      "stop": 5173.846,
      "target": 5163.344,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 10.12,
        "bb_width_pct": 0.325
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T05-15-00Z_short_vwap_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5170.345,
      "stop": 5175.532,
      "target": 5159.972,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.12,
        "bb_width_pct": 0.325
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T05-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5170.345,
      "stop": 5172.662,
      "target": 5165.71,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.12,
        "bb_width_pct": 0.325
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T05-20-00Z_short_vwap_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5169.395,
      "stop": 5174.03,
      "target": 5160.125,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.5,
        "bb_width_pct": 0.34
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T05-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5168.495,
      "stop": 5170.35,
      "target": 5164.786,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.87,
        "bb_width_pct": 0.35
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T05-30-00Z_short_vwap_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5168.495,
      "stop": 5172.525,
      "target": 5160.434,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.87,
        "bb_width_pct": 0.35
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T05-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5168.495,
      "stop": 5169.352,
      "target": 5166.782,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.87,
        "bb_width_pct": 0.35
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T05-40-00Z_short_vwap_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5168.825,
      "stop": 5172.891,
      "target": 5160.694,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 9.02,
        "bb_width_pct": 0.29
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T05-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T05:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5173.23,
      "stop": 5175.962,
      "target": 5167.766,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.38,
        "bb_width_pct": 0.276
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T06-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5177.95,
      "stop": 5182.499,
      "target": 5168.851,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 23.83,
        "bb_width_pct": 0.371
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T06-00-00Z_short_rsi_range_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5177.95,
      "stop": 5182.499,
      "target": 5168.851,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 23.83,
        "bb_width_pct": 0.371
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T06-00-00Z_short_vwap_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5177.95,
      "stop": 5186.171,
      "target": 5161.508,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 23.83,
        "bb_width_pct": 0.371
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T06-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5177.95,
      "stop": 5181.896,
      "target": 5170.058,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 23.83,
        "bb_width_pct": 0.371
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T06-05-00Z_short_rsi_range_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5175.755,
      "stop": 5178.877,
      "target": 5169.511,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 11.31,
        "bb_width_pct": 0.371
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T06-05-00Z_short_vwap_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5175.755,
      "stop": 5182.779,
      "target": 5161.707,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.31,
        "bb_width_pct": 0.371
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T06-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5175.755,
      "stop": 5179.74,
      "target": 5167.785,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.31,
        "bb_width_pct": 0.371
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T06-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5175.755,
      "stop": 5178.256,
      "target": 5170.752,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.31,
        "bb_width_pct": 0.371
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T06-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T06:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5179.73,
      "stop": 5184.444,
      "target": 5170.303,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.35,
        "bb_width_pct": 0.394
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T06-15-00Z_short_vwap_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T06:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5177.255,
      "stop": 5184.813,
      "target": 5162.139,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.03,
        "bb_width_pct": 0.395
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T06-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T06:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5177.255,
      "stop": 5181.99,
      "target": 5167.785,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.03,
        "bb_width_pct": 0.395
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T06-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T06:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5177.255,
      "stop": 5179.81,
      "target": 5172.145,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.03,
        "bb_width_pct": 0.395
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T06-25-00Z_short_vwap_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T06:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5176.24,
      "stop": 5183.113,
      "target": 5162.494,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.43,
        "bb_width_pct": 0.36
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T06-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T06:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5176.24,
      "stop": 5180.467,
      "target": 5167.785,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.43,
        "bb_width_pct": 0.36
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T06-30-00Z_short_vwap_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5175.625,
      "stop": 5182.103,
      "target": 5162.67,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.19,
        "bb_width_pct": 0.332
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T06-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5175.625,
      "stop": 5179.545,
      "target": 5167.785,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.19,
        "bb_width_pct": 0.332
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T06-40-00Z_short_vwap_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T06:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5175.95,
      "stop": 5182.417,
      "target": 5163.015,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.66,
        "bb_width_pct": 0.292
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T06-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T06:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5175.95,
      "stop": 5180.032,
      "target": 5167.785,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.66,
        "bb_width_pct": 0.292
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T06-55-00Z_short_vwap_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T06:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5175.34,
      "stop": 5181.274,
      "target": 5163.472,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.63,
        "bb_width_pct": 0.261
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T07-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T07:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5172.87,
      "stop": 5175.413,
      "target": 5167.785,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.78,
        "bb_width_pct": 0.241
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T07-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T07:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5168.905,
      "stop": 5169.465,
      "target": 5167.785,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.4,
        "bb_width_pct": 0.213
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T07-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T07:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5169.43,
      "stop": 5166.666,
      "target": 5174.958,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.75,
        "bb_width_pct": 0.337
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T07-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T07:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5169.43,
      "stop": 5167.951,
      "target": 5172.387,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.75,
        "bb_width_pct": 0.337
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T07-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T07:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5177.865,
      "stop": 5181.924,
      "target": 5169.748,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.21,
        "bb_width_pct": 0.348
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T08-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5177.64,
      "stop": 5179.202,
      "target": 5174.515,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.58,
        "bb_width_pct": 0.365
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T08-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5177.64,
      "stop": 5181.423,
      "target": 5170.075,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.58,
        "bb_width_pct": 0.365
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T08-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5177.64,
      "stop": 5179.17,
      "target": 5174.58,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.58,
        "bb_width_pct": 0.365
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T08-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T08:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5179.82,
      "stop": 5183.745,
      "target": 5171.97,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.68,
        "bb_width_pct": 0.397
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T08-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5185.05,
      "stop": 5189.53,
      "target": 5176.09,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.73,
        "bb_width_pct": 0.461
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T08-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5185.05,
      "stop": 5188.624,
      "target": 5177.902,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.73,
        "bb_width_pct": 0.461
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T08-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T08:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5190.055,
      "stop": 5196.343,
      "target": 5177.479,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.69,
        "bb_width_pct": 0.566
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T08-40-00Z_short_rsi_range_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T08:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5190.055,
      "stop": 5196.343,
      "target": 5177.479,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 21.69,
        "bb_width_pct": 0.566
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T08-40-00Z_short_vwap_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T08:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5190.055,
      "stop": 5196.432,
      "target": 5177.301,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 21.69,
        "bb_width_pct": 0.566
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T08-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T08:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5190.055,
      "stop": 5197.78,
      "target": 5174.605,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 21.69,
        "bb_width_pct": 0.566
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T08-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T08:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5194.53,
      "stop": 5202.514,
      "target": 5178.562,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 23.47,
        "bb_width_pct": 0.628
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T08-50-00Z_short_vwap_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T08:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5188.645,
      "stop": 5193.687,
      "target": 5178.56,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.59,
        "bb_width_pct": 0.646
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T08-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T08:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5188.645,
      "stop": 5194.518,
      "target": 5176.9,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.59,
        "bb_width_pct": 0.646
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T08-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T08:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5188.645,
      "stop": 5191.868,
      "target": 5182.198,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.59,
        "bb_width_pct": 0.646
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T10-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T10:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5182.145,
      "stop": 5180.346,
      "target": 5185.744,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.63,
        "bb_width_pct": 0.27
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T10-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T10:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5182.145,
      "stop": 5181.453,
      "target": 5183.529,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.63,
        "bb_width_pct": 0.27
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T10-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T10:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5181.495,
      "stop": 5179.459,
      "target": 5185.566,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.91,
        "bb_width_pct": 0.28
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T10-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T10:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5178.22,
      "stop": 5174.855,
      "target": 5184.949,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.25,
        "bb_width_pct": 0.291
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T10-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T10:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5178.22,
      "stop": 5175.906,
      "target": 5182.848,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.25,
        "bb_width_pct": 0.291
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T10-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T10:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5169.165,
      "stop": 5163.585,
      "target": 5180.324,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.07,
        "bb_width_pct": 0.57
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T10-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T10:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5169.165,
      "stop": 5165.771,
      "target": 5175.952,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.07,
        "bb_width_pct": 0.57
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T10-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T10:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5169.165,
      "stop": 5164.981,
      "target": 5177.533,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.07,
        "bb_width_pct": 0.57
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T11-10-00Z_short_vwap_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T11:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5187.31,
      "stop": 5192.603,
      "target": 5176.725,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.85,
        "bb_width_pct": 0.588
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T11-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T11:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5187.31,
      "stop": 5192.989,
      "target": 5175.952,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.85,
        "bb_width_pct": 0.588
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T11-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T11:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5187.31,
      "stop": 5191.294,
      "target": 5179.341,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.85,
        "bb_width_pct": 0.588
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T11-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T11:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5184.49,
      "stop": 5188.759,
      "target": 5175.952,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.83,
        "bb_width_pct": 0.578
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T12-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5168.035,
      "stop": 5163.173,
      "target": 5177.76,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.59,
        "bb_width_pct": 0.582
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T12-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T12:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5171.5,
      "stop": 5169.178,
      "target": 5176.145,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.25,
        "bb_width_pct": 0.604
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T12-15-00Z_long_rsi_range_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T12:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5173.235,
      "stop": 5171.242,
      "target": 5177.22,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.04,
        "bb_width_pct": 0.51
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T12-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T12:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5173.235,
      "stop": 5171.919,
      "target": 5175.868,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.04,
        "bb_width_pct": 0.51
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T12-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T12:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5186.445,
      "stop": 5190.317,
      "target": 5178.702,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.54,
        "bb_width_pct": 0.462
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T12-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T12:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5182.41,
      "stop": 5186.479,
      "target": 5174.273,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.95,
        "bb_width_pct": 0.441
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T13-55-00Z_short_vwap_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T13:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5205.34,
      "stop": 5211.419,
      "target": 5193.183,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 16.7,
        "bb_width_pct": 1.124
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T13-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T13:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5205.34,
      "stop": 5207.727,
      "target": 5200.565,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.7,
        "bb_width_pct": 1.124
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T14-20-00Z_short_vwap_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T14:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5211.2,
      "stop": 5219.452,
      "target": 5194.697,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.14,
        "bb_width_pct": 0.848
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T14-25-00Z_short_vwap_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T14:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5208.98,
      "stop": 5215.881,
      "target": 5195.179,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.77,
        "bb_width_pct": 0.793
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T15-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T15:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5225.33,
      "stop": 5233.058,
      "target": 5209.874,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.64,
        "bb_width_pct": 0.645
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T15-20-00Z_short_rsi_range_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T15:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5225.33,
      "stop": 5233.058,
      "target": 5209.874,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 11.64,
        "bb_width_pct": 0.645
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T15-20-00Z_short_vwap_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T15:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5225.33,
      "stop": 5237.934,
      "target": 5200.121,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.64,
        "bb_width_pct": 0.645
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T15-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T15:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5225.33,
      "stop": 5240.142,
      "target": 5195.705,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.64,
        "bb_width_pct": 0.645
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T15-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T15:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5234.25,
      "stop": 5244.578,
      "target": 5213.594,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 25.57,
        "bb_width_pct": 0.862
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T15-45-00Z_short_rsi_range_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T15:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5232.475,
      "stop": 5240.076,
      "target": 5217.273,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 25.62,
        "bb_width_pct": 0.865
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T15-45-00Z_short_vwap_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T15:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5232.475,
      "stop": 5246.938,
      "target": 5203.549,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 25.62,
        "bb_width_pct": 0.865
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T15-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T15:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5232.475,
      "stop": 5244.973,
      "target": 5207.48,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 25.62,
        "bb_width_pct": 0.865
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T15-50-00Z_short_rsi_range_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T15:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5227.925,
      "stop": 5232.434,
      "target": 5218.907,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 20.06,
        "bb_width_pct": 0.789
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T15-50-00Z_short_vwap_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T15:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5227.925,
      "stop": 5239.832,
      "target": 5204.111,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 20.06,
        "bb_width_pct": 0.789
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T15-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T15:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5227.925,
      "stop": 5237.451,
      "target": 5208.872,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 20.06,
        "bb_width_pct": 0.789
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T15-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T15:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5227.925,
      "stop": 5231.529,
      "target": 5220.717,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.06,
        "bb_width_pct": 0.789
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T16-00-00Z_short_vwap_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5226.5,
      "stop": 5237.206,
      "target": 5205.088,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 19.33,
        "bb_width_pct": 0.789
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T16-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5226.5,
      "stop": 5234.935,
      "target": 5209.63,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 19.33,
        "bb_width_pct": 0.789
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T16-10-00Z_short_vwap_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T16:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5223.825,
      "stop": 5232.786,
      "target": 5205.904,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.23,
        "bb_width_pct": 0.728
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T16-25-00Z_short_vwap_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T16:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5232.55,
      "stop": 5245.188,
      "target": 5207.274,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.15,
        "bb_width_pct": 0.593
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T16-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T16:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5232.55,
      "stop": 5242.806,
      "target": 5212.038,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.15,
        "bb_width_pct": 0.593
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T16-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T16:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5232.55,
      "stop": 5236.396,
      "target": 5224.859,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.15,
        "bb_width_pct": 0.593
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T16-35-00Z_short_vwap_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5232.22,
      "stop": 5244.241,
      "target": 5208.177,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 1.91,
        "bb_width_pct": 0.431
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T16-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5232.22,
      "stop": 5242.311,
      "target": 5212.038,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.91,
        "bb_width_pct": 0.431
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T16-40-00Z_short_vwap_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T16:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5228.655,
      "stop": 5238.705,
      "target": 5208.554,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.78,
        "bb_width_pct": 0.349
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T16-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T16:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5228.655,
      "stop": 5236.964,
      "target": 5212.038,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.78,
        "bb_width_pct": 0.349
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T16-45-00Z_short_vwap_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5227.82,
      "stop": 5237.274,
      "target": 5208.911,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.18,
        "bb_width_pct": 0.283
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T16-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5227.82,
      "stop": 5235.711,
      "target": 5212.038,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.18,
        "bb_width_pct": 0.283
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T16-50-00Z_short_vwap_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T16:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5227.86,
      "stop": 5237.173,
      "target": 5209.233,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.08,
        "bb_width_pct": 0.264
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T16-55-00Z_short_vwap_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5227.58,
      "stop": 5236.599,
      "target": 5209.542,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.48,
        "bb_width_pct": 0.26
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T17-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T17:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5234.26,
      "stop": 5237.274,
      "target": 5228.232,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.56,
        "bb_width_pct": 0.244
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T17-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T17:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5225.99,
      "stop": 5232.966,
      "target": 5212.038,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.01,
        "bb_width_pct": 0.243
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T17-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T17:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5231.085,
      "stop": 5238.396,
      "target": 5216.462,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.05,
        "bb_width_pct": 0.222
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T18-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T18:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5221.505,
      "stop": 5218.148,
      "target": 5228.218,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.86,
        "bb_width_pct": 0.226
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T18-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T18:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5221.54,
      "stop": 5218.519,
      "target": 5227.582,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.67,
        "bb_width_pct": 0.257
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T18-20-00Z_long_rsi_range_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T18:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5192.715,
      "stop": 5177.353,
      "target": 5223.439,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.5,
        "bb_width_pct": 1.11
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T18-20-00Z_long_vwap_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T18:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5192.715,
      "stop": 5177.489,
      "target": 5223.168,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.5,
        "bb_width_pct": 1.11
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T18-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T18:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5192.715,
      "stop": 5189.216,
      "target": 5199.712,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 20.5,
        "bb_width_pct": 1.11
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T18-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T18:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5203.06,
      "stop": 5193.489,
      "target": 5222.201,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.43,
        "bb_width_pct": 1.158
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T18-25-00Z_long_vwap_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T18:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5203.06,
      "stop": 5193.648,
      "target": 5221.883,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.43,
        "bb_width_pct": 1.158
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T18-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T18:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5203.06,
      "stop": 5196.011,
      "target": 5217.159,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.43,
        "bb_width_pct": 1.158
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T19-35-00Z_long_vwap_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T19:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5192.915,
      "stop": 5183.778,
      "target": 5211.189,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.25,
        "bb_width_pct": 0.855
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T19-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T19:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5192.915,
      "stop": 5188.333,
      "target": 5202.078,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.25,
        "bb_width_pct": 0.855
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T19-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T19:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5187.905,
      "stop": 5181.493,
      "target": 5200.728,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.0,
        "bb_width_pct": 0.783
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T19-45-00Z_long_vwap_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T19:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5189.545,
      "stop": 5179.357,
      "target": 5209.92,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.52,
        "bb_width_pct": 0.674
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T19-50-00Z_long_vwap_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T19:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5197.085,
      "stop": 5190.893,
      "target": 5209.469,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.24,
        "bb_width_pct": 0.58
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T20-10-00Z_long_vwap_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T20:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5197.895,
      "stop": 5192.737,
      "target": 5208.212,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.75,
        "bb_width_pct": 0.396
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T20-20-00Z_long_vwap_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T20:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5197.61,
      "stop": 5192.618,
      "target": 5207.593,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.65,
        "bb_width_pct": 0.386
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T20-35-00Z_long_vwap_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T20:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5195.68,
      "stop": 5190.144,
      "target": 5206.753,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.99,
        "bb_width_pct": 0.361
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T20-40-00Z_long_vwap_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5198.025,
      "stop": 5193.77,
      "target": 5206.535,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.5,
        "bb_width_pct": 0.362
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T22-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T22:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5188.375,
      "stop": 5185.522,
      "target": 5194.081,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.17,
        "bb_width_pct": 0.276
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T22-05-00Z_short_vwap_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T22:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5188.375,
      "stop": 5193.147,
      "target": 5178.832,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.17,
        "bb_width_pct": 0.276
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T22-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T22:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5190.27,
      "stop": 5188.263,
      "target": 5194.283,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.06,
        "bb_width_pct": 0.249
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T22-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T22:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5190.27,
      "stop": 5187.929,
      "target": 5194.952,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.06,
        "bb_width_pct": 0.249
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T22-25-00Z_short_vwap_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T22:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5190.95,
      "stop": 5196.088,
      "target": 5180.675,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 9.74,
        "bb_width_pct": 0.216
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T22-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T22:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5190.16,
      "stop": 5187.917,
      "target": 5194.645,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.1,
        "bb_width_pct": 0.227
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T22-30-00Z_short_vwap_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T22:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5190.16,
      "stop": 5194.738,
      "target": 5181.004,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.1,
        "bb_width_pct": 0.227
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T22-45-00Z_short_vwap_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T22:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5190.385,
      "stop": 5194.588,
      "target": 5181.979,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.1,
        "bb_width_pct": 0.219
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T22-55-00Z_short_vwap_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T22:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5189.525,
      "stop": 5193.052,
      "target": 5182.471,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.65,
        "bb_width_pct": 0.219
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T23-10-00Z_short_vwap_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5191.75,
      "stop": 5195.987,
      "target": 5183.276,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.73,
        "bb_width_pct": 0.212
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T23-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T23:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5193.895,
      "stop": 5194.524,
      "target": 5192.637,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.34,
        "bb_width_pct": 0.187
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T23-25-00Z_short_vwap_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T23:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5193.61,
      "stop": 5198.428,
      "target": 5183.975,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.13,
        "bb_width_pct": 0.179
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T23-35-00Z_short_vwap_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5193.0,
      "stop": 5197.278,
      "target": 5184.445,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.04,
        "bb_width_pct": 0.181
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T23-40-00Z_short_vwap_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5191.225,
      "stop": 5194.534,
      "target": 5184.607,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.79,
        "bb_width_pct": 0.182
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T23-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5190.69,
      "stop": 5189.705,
      "target": 5192.659,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.57,
        "bb_width_pct": 0.171
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-10T23-45-00Z_short_vwap_mean_reversion",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5190.69,
      "stop": 5193.671,
      "target": 5184.728,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.57,
        "bb_width_pct": 0.171
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T00-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T00:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5188.04,
      "stop": 5185.853,
      "target": 5192.414,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.39,
        "bb_width_pct": 0.176
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T00-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5209.545,
      "stop": 5216.407,
      "target": 5195.82,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.88,
        "bb_width_pct": 0.538
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T00-30-00Z_short_vwap_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5209.545,
      "stop": 5214.196,
      "target": 5200.244,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 19.88,
        "bb_width_pct": 0.538
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T00-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5209.545,
      "stop": 5214.514,
      "target": 5199.608,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 19.88,
        "bb_width_pct": 0.538
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T00-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T00:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5210.03,
      "stop": 5216.622,
      "target": 5196.845,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.25,
        "bb_width_pct": 0.575
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T00-55-00Z_short_rsi_range_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T00:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5215.455,
      "stop": 5222.516,
      "target": 5201.332,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 24.22,
        "bb_width_pct": 0.772
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T00-55-00Z_short_vwap_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T00:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5215.455,
      "stop": 5220.22,
      "target": 5205.925,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 24.22,
        "bb_width_pct": 0.772
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T00-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T00:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5215.455,
      "stop": 5222.474,
      "target": 5201.417,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 24.22,
        "bb_width_pct": 0.772
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T01-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T01:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5213.54,
      "stop": 5218.596,
      "target": 5203.427,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 24.06,
        "bb_width_pct": 0.812
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T01-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T01:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5213.54,
      "stop": 5217.011,
      "target": 5206.598,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 24.06,
        "bb_width_pct": 0.812
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T01-20-00Z_short_rsi_range_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T01:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5214.79,
      "stop": 5218.647,
      "target": 5207.077,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 11.78,
        "bb_width_pct": 0.805
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T01-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T01:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5214.79,
      "stop": 5220.471,
      "target": 5203.427,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.78,
        "bb_width_pct": 0.805
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T01-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T01:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5214.79,
      "stop": 5217.568,
      "target": 5209.234,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.78,
        "bb_width_pct": 0.805
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T01-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T01:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5216.165,
      "stop": 5221.936,
      "target": 5204.622,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.36,
        "bb_width_pct": 0.715
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T02-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T02:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5202.38,
      "stop": 5198.184,
      "target": 5210.772,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.97,
        "bb_width_pct": 0.312
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T02-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T02:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5201.48,
      "stop": 5195.817,
      "target": 5212.806,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.86,
        "bb_width_pct": 0.458
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T02-10-00Z_long_vwap_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T02:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5201.48,
      "stop": 5197.384,
      "target": 5209.672,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.86,
        "bb_width_pct": 0.458
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T02-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T02:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5201.48,
      "stop": 5197.855,
      "target": 5208.73,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.86,
        "bb_width_pct": 0.458
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T02-55-00Z_short_vwap_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T02:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5217.45,
      "stop": 5221.473,
      "target": 5209.404,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.75,
        "bb_width_pct": 0.493
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T02-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T02:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5217.45,
      "stop": 5223.664,
      "target": 5205.023,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.75,
        "bb_width_pct": 0.493
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T02-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T02:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5217.45,
      "stop": 5221.27,
      "target": 5209.81,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.75,
        "bb_width_pct": 0.493
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T03-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5218.8,
      "stop": 5222.867,
      "target": 5210.666,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.04,
        "bb_width_pct": 0.509
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T03-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T03:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5213.465,
      "stop": 5217.686,
      "target": 5205.023,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.36,
        "bb_width_pct": 0.505
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T03-15-00Z_short_rsi_range_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5213.43,
      "stop": 5215.276,
      "target": 5209.738,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 18.14,
        "bb_width_pct": 0.473
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T03-55-00Z_long_vwap_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T03:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5203.44,
      "stop": 5200.489,
      "target": 5209.342,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.92,
        "bb_width_pct": 0.419
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T03-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T03:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5203.44,
      "stop": 5201.17,
      "target": 5207.98,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.92,
        "bb_width_pct": 0.419
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T04-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T04:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5203.23,
      "stop": 5201.081,
      "target": 5207.528,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.44,
        "bb_width_pct": 0.423
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T04-05-00Z_long_rsi_range_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5205.265,
      "stop": 5203.326,
      "target": 5209.143,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.21,
        "bb_width_pct": 0.42
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T04-10-00Z_long_rsi_range_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T04:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5205.995,
      "stop": 5204.418,
      "target": 5209.148,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.83,
        "bb_width_pct": 0.42
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T05-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5202.915,
      "stop": 5201.858,
      "target": 5205.029,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.7,
        "bb_width_pct": 0.139
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T05-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5202.915,
      "stop": 5201.482,
      "target": 5205.782,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.7,
        "bb_width_pct": 0.139
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T05-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5200.87,
      "stop": 5198.967,
      "target": 5204.676,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.79,
        "bb_width_pct": 0.186
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T05-35-00Z_long_vwap_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5200.87,
      "stop": 5197.344,
      "target": 5207.922,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.79,
        "bb_width_pct": 0.186
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T05-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5200.87,
      "stop": 5199.173,
      "target": 5204.264,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.79,
        "bb_width_pct": 0.186
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T05-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5201.21,
      "stop": 5199.528,
      "target": 5204.575,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.71,
        "bb_width_pct": 0.194
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T05-40-00Z_long_vwap_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5201.21,
      "stop": 5197.902,
      "target": 5207.826,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.71,
        "bb_width_pct": 0.194
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T05-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T05:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5198.05,
      "stop": 5195.37,
      "target": 5203.409,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.69,
        "bb_width_pct": 0.222
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T05-50-00Z_long_vwap_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5199.4,
      "stop": 5195.311,
      "target": 5207.577,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.92,
        "bb_width_pct": 0.234
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T05-55-00Z_long_vwap_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T05:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5199.84,
      "stop": 5196.028,
      "target": 5207.464,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.36,
        "bb_width_pct": 0.241
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T06-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5199.6,
      "stop": 5197.799,
      "target": 5203.202,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.74,
        "bb_width_pct": 0.239
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T06-00-00Z_long_vwap_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5199.6,
      "stop": 5195.727,
      "target": 5207.346,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.74,
        "bb_width_pct": 0.239
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T06-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T06:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5209.42,
      "stop": 5212.54,
      "target": 5203.179,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.77,
        "bb_width_pct": 0.247
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T06-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T06:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5204.91,
      "stop": 5205.846,
      "target": 5203.038,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.55,
        "bb_width_pct": 0.236
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T06-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T06:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5194.83,
      "stop": 5190.92,
      "target": 5202.651,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.94,
        "bb_width_pct": 0.263
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T06-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T06:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5195.285,
      "stop": 5192.074,
      "target": 5201.707,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.96,
        "bb_width_pct": 0.276
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T06-45-00Z_long_vwap_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T06:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5195.285,
      "stop": 5189.511,
      "target": 5206.833,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.96,
        "bb_width_pct": 0.276
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T06-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T06:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5195.285,
      "stop": 5192.509,
      "target": 5200.837,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.96,
        "bb_width_pct": 0.276
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T06-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T06:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5195.285,
      "stop": 5191.953,
      "target": 5201.949,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.96,
        "bb_width_pct": 0.276
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T06-50-00Z_long_vwap_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T06:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5197.755,
      "stop": 5193.275,
      "target": 5206.714,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.41,
        "bb_width_pct": 0.278
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T07-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5192.185,
      "stop": 5188.261,
      "target": 5200.033,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.49,
        "bb_width_pct": 0.317
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T07-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5192.185,
      "stop": 5188.707,
      "target": 5199.141,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.49,
        "bb_width_pct": 0.317
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T07-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T07:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5191.72,
      "stop": 5188.089,
      "target": 5198.981,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.59,
        "bb_width_pct": 0.409
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T07-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T07:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5191.72,
      "stop": 5188.523,
      "target": 5198.115,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.59,
        "bb_width_pct": 0.409
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T07-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T07:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5191.72,
      "stop": 5188.899,
      "target": 5197.362,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.59,
        "bb_width_pct": 0.409
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T08-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5195.26,
      "stop": 5194.403,
      "target": 5196.975,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.28,
        "bb_width_pct": 0.321
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T08-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5195.26,
      "stop": 5194.53,
      "target": 5196.721,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.28,
        "bb_width_pct": 0.321
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T08-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5185.325,
      "stop": 5180.9,
      "target": 5194.175,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.97,
        "bb_width_pct": 0.361
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T08-30-00Z_long_vwap_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5185.325,
      "stop": 5181.064,
      "target": 5193.847,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.97,
        "bb_width_pct": 0.361
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T08-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5185.325,
      "stop": 5179.99,
      "target": 5195.995,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.97,
        "bb_width_pct": 0.361
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T08-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5185.325,
      "stop": 5181.199,
      "target": 5193.578,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.97,
        "bb_width_pct": 0.361
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T08-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5183.73,
      "stop": 5178.856,
      "target": 5193.479,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.11,
        "bb_width_pct": 0.395
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T08-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5183.73,
      "stop": 5179.275,
      "target": 5192.64,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.11,
        "bb_width_pct": 0.395
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T08-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T08:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5181.75,
      "stop": 5176.352,
      "target": 5192.545,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.45,
        "bb_width_pct": 0.422
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T08-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T08:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5185.185,
      "stop": 5181.824,
      "target": 5191.906,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.44,
        "bb_width_pct": 0.427
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T08-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T08:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5185.185,
      "stop": 5181.198,
      "target": 5193.16,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.44,
        "bb_width_pct": 0.427
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T08-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T08:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5185.185,
      "stop": 5182.282,
      "target": 5190.991,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.44,
        "bb_width_pct": 0.427
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T09-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T09:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5184.62,
      "stop": 5180.35,
      "target": 5193.16,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.1,
        "bb_width_pct": 0.391
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T09-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T09:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5184.62,
      "stop": 5182.359,
      "target": 5189.142,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.1,
        "bb_width_pct": 0.391
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T10-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T10:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5184.5,
      "stop": 5181.601,
      "target": 5190.297,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.97,
        "bb_width_pct": 0.284
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T10-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T10:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5184.1,
      "stop": 5181.435,
      "target": 5189.431,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.18,
        "bb_width_pct": 0.298
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T10-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T10:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5184.1,
      "stop": 5181.297,
      "target": 5189.707,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.18,
        "bb_width_pct": 0.298
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T10-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T10:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5187.52,
      "stop": 5186.602,
      "target": 5189.356,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.84,
        "bb_width_pct": 0.321
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T10-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T10:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5187.52,
      "stop": 5186.976,
      "target": 5188.607,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.84,
        "bb_width_pct": 0.321
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T11-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T11:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5181.415,
      "stop": 5179.332,
      "target": 5185.581,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.28,
        "bb_width_pct": 0.278
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T11-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T11:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5181.415,
      "stop": 5179.345,
      "target": 5185.556,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.28,
        "bb_width_pct": 0.278
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T12-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5185.625,
      "stop": 5185.184,
      "target": 5186.507,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.63,
        "bb_width_pct": 0.262
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T12-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T12:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5191.295,
      "stop": 5194.212,
      "target": 5185.461,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.88,
        "bb_width_pct": 0.261
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T12-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T12:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5190.925,
      "stop": 5193.113,
      "target": 5186.549,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.33,
        "bb_width_pct": 0.286
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T12-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T12:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5190.925,
      "stop": 5193.134,
      "target": 5186.507,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.33,
        "bb_width_pct": 0.286
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T12-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T12:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5177.82,
      "stop": 5173.749,
      "target": 5185.961,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.94,
        "bb_width_pct": 0.337
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T12-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T12:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5177.82,
      "stop": 5173.573,
      "target": 5186.315,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.94,
        "bb_width_pct": 0.337
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T12-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T12:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5180.225,
      "stop": 5177.678,
      "target": 5185.319,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.66,
        "bb_width_pct": 0.325
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T12-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T12:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5180.225,
      "stop": 5177.728,
      "target": 5185.22,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.66,
        "bb_width_pct": 0.325
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T12-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T12:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5180.225,
      "stop": 5177.47,
      "target": 5185.735,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.66,
        "bb_width_pct": 0.325
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T12-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T12:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5177.015,
      "stop": 5173.12,
      "target": 5184.804,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.58,
        "bb_width_pct": 0.351
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T12-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T12:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5177.015,
      "stop": 5173.07,
      "target": 5184.904,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.58,
        "bb_width_pct": 0.351
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T12-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T12:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5175.71,
      "stop": 5171.463,
      "target": 5184.204,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.74,
        "bb_width_pct": 0.379
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T13-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5176.35,
      "stop": 5172.905,
      "target": 5183.241,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.22,
        "bb_width_pct": 0.485
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T13-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5176.35,
      "stop": 5173.523,
      "target": 5182.005,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.22,
        "bb_width_pct": 0.485
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T13-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5176.35,
      "stop": 5173.587,
      "target": 5181.876,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.22,
        "bb_width_pct": 0.485
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T13-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T13:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5168.43,
      "stop": 5163.941,
      "target": 5177.409,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.3,
        "bb_width_pct": 0.635
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T13-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T13:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5168.43,
      "stop": 5163.668,
      "target": 5177.955,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.3,
        "bb_width_pct": 0.635
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T13-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T13:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5168.43,
      "stop": 5164.797,
      "target": 5175.695,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.3,
        "bb_width_pct": 0.635
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T14-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T14:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5186.075,
      "stop": 5191.112,
      "target": 5176.001,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.06,
        "bb_width_pct": 0.487
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T14-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T14:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5190.11,
      "stop": 5196.957,
      "target": 5176.416,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.96,
        "bb_width_pct": 0.534
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T14-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T14:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5188.32,
      "stop": 5195.897,
      "target": 5173.165,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.0,
        "bb_width_pct": 0.57
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T14-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T14:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5194.41,
      "stop": 5202.49,
      "target": 5178.25,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.67,
        "bb_width_pct": 0.668
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T14-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5186.135,
      "stop": 5192.62,
      "target": 5173.165,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.22,
        "bb_width_pct": 0.679
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T14-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T14:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5185.77,
      "stop": 5192.073,
      "target": 5173.165,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.67,
        "bb_width_pct": 0.658
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T14-55-00Z_short_rsi_range_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T14:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5183.38,
      "stop": 5184.263,
      "target": 5181.614,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 10.64,
        "bb_width_pct": 0.684
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T14-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T14:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5183.38,
      "stop": 5188.488,
      "target": 5173.165,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.64,
        "bb_width_pct": 0.684
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T15-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T15:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5169.085,
      "stop": 5162.231,
      "target": 5182.792,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.96,
        "bb_width_pct": 0.529
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T15-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T15:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5169.915,
      "stop": 5163.65,
      "target": 5182.445,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.22,
        "bb_width_pct": 0.564
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T15-35-00Z_long_rsi_range_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T15:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5169.915,
      "stop": 5163.65,
      "target": 5182.445,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.22,
        "bb_width_pct": 0.564
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T15-35-00Z_long_vwap_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T15:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5169.915,
      "stop": 5164.816,
      "target": 5180.114,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.22,
        "bb_width_pct": 0.564
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T15-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T15:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5170.745,
      "stop": 5165.673,
      "target": 5180.89,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.58,
        "bb_width_pct": 0.624
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T15-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T15:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5170.745,
      "stop": 5167.656,
      "target": 5176.924,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.58,
        "bb_width_pct": 0.624
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T16-00-00Z_long_rsi_range_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5166.64,
      "stop": 5161.065,
      "target": 5177.79,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.44,
        "bb_width_pct": 0.644
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T16-00-00Z_long_vwap_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5166.64,
      "stop": 5160.449,
      "target": 5179.023,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.44,
        "bb_width_pct": 0.644
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T16-20-00Z_long_vwap_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T16:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5169.285,
      "stop": 5164.819,
      "target": 5178.217,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.21,
        "bb_width_pct": 0.55
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T16-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5171.63,
      "stop": 5172.007,
      "target": 5170.876,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.49,
        "bb_width_pct": 0.25
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T17-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T17:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5175.745,
      "stop": 5177.742,
      "target": 5171.751,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.65,
        "bb_width_pct": 0.307
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T17-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T17:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5163.28,
      "stop": 5159.277,
      "target": 5171.286,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.76,
        "bb_width_pct": 0.384
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T17-40-00Z_long_vwap_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T17:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5163.28,
      "stop": 5159.19,
      "target": 5171.46,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.76,
        "bb_width_pct": 0.384
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T17-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T17:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5163.28,
      "stop": 5156.224,
      "target": 5177.392,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.76,
        "bb_width_pct": 0.384
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T17-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T17:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5163.28,
      "stop": 5159.419,
      "target": 5171.002,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.76,
        "bb_width_pct": 0.384
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T17-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T17:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5166.365,
      "stop": 5163.899,
      "target": 5171.296,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.18,
        "bb_width_pct": 0.383
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T17-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T17:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5166.365,
      "stop": 5164.268,
      "target": 5170.56,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.18,
        "bb_width_pct": 0.383
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T18-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5177.255,
      "stop": 5181.858,
      "target": 5168.05,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.91,
        "bb_width_pct": 0.41
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T18-45-00Z_short_rsi_range_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T18:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5176.345,
      "stop": 5178.471,
      "target": 5172.092,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 26.16,
        "bb_width_pct": 0.392
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T18-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T18:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5176.345,
      "stop": 5180.493,
      "target": 5168.05,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 26.16,
        "bb_width_pct": 0.392
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T18-50-00Z_short_rsi_range_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T18:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5174.545,
      "stop": 5175.801,
      "target": 5172.032,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 18.18,
        "bb_width_pct": 0.389
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T18-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T18:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5174.545,
      "stop": 5177.793,
      "target": 5168.05,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.18,
        "bb_width_pct": 0.389
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T19-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T19:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5174.995,
      "stop": 5178.468,
      "target": 5168.05,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.21,
        "bb_width_pct": 0.251
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T19-35-00Z_short_vwap_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T19:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5178.01,
      "stop": 5180.369,
      "target": 5173.292,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 1.9,
        "bb_width_pct": 0.182
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T19-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T19:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5178.01,
      "stop": 5182.99,
      "target": 5168.05,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.9,
        "bb_width_pct": 0.182
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T19-45-00Z_short_vwap_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T19:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5178.215,
      "stop": 5180.516,
      "target": 5173.613,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.52,
        "bb_width_pct": 0.179
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T19-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T19:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5178.215,
      "stop": 5183.298,
      "target": 5168.05,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.52,
        "bb_width_pct": 0.179
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T20-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T20:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5179.965,
      "stop": 5181.487,
      "target": 5176.921,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.84,
        "bb_width_pct": 0.226
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T20-00-00Z_short_vwap_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T20:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5179.965,
      "stop": 5182.84,
      "target": 5174.216,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.84,
        "bb_width_pct": 0.226
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T20-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T20:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5179.965,
      "stop": 5185.261,
      "target": 5169.372,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.84,
        "bb_width_pct": 0.226
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T20-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T20:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5179.965,
      "stop": 5181.355,
      "target": 5177.185,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.84,
        "bb_width_pct": 0.226
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T20-05-00Z_short_vwap_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T20:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5178.72,
      "stop": 5180.909,
      "target": 5174.342,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.28,
        "bb_width_pct": 0.228
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T20-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T20:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5178.72,
      "stop": 5183.394,
      "target": 5169.372,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.28,
        "bb_width_pct": 0.228
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T22-00-00Z_long_vwap_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T22:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5178.07,
      "stop": 5173.841,
      "target": 5186.528,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.13,
        "bb_width_pct": 0.133
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T22-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T22:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5173.28,
      "stop": 5171.463,
      "target": 5176.913,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.49,
        "bb_width_pct": 0.157
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T22-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T22:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5175.445,
      "stop": 5174.204,
      "target": 5177.926,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.32,
        "bb_width_pct": 0.163
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T22-10-00Z_long_vwap_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T22:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5175.445,
      "stop": 5170.374,
      "target": 5185.587,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.32,
        "bb_width_pct": 0.163
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T22-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T22:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5175.445,
      "stop": 5174.781,
      "target": 5176.773,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.32,
        "bb_width_pct": 0.163
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T22-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T22:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5172.555,
      "stop": 5170.13,
      "target": 5177.406,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.69,
        "bb_width_pct": 0.187
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T22-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T22:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5168.205,
      "stop": 5165.572,
      "target": 5173.471,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.74,
        "bb_width_pct": 0.446
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T22-45-00Z_long_vwap_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T22:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5168.205,
      "stop": 5161.395,
      "target": 5181.825,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.74,
        "bb_width_pct": 0.446
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T22-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T22:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5168.205,
      "stop": 5166.526,
      "target": 5171.563,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.74,
        "bb_width_pct": 0.446
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T23-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5147.675,
      "stop": 5137.023,
      "target": 5168.98,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.7,
        "bb_width_pct": 0.838
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T23-00-00Z_long_rsi_range_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5147.675,
      "stop": 5137.023,
      "target": 5168.98,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.7,
        "bb_width_pct": 0.838
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T23-00-00Z_long_vwap_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5147.675,
      "stop": 5131.932,
      "target": 5179.161,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.7,
        "bb_width_pct": 0.838
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T23-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5147.675,
      "stop": 5143.115,
      "target": 5156.795,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 23.7,
        "bb_width_pct": 0.838
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T23-05-00Z_long_rsi_range_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5147.96,
      "stop": 5138.2,
      "target": 5167.481,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.24,
        "bb_width_pct": 0.893
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T23-05-00Z_long_vwap_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5147.96,
      "stop": 5132.763,
      "target": 5178.355,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.24,
        "bb_width_pct": 0.893
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T23-10-00Z_long_vwap_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5152.265,
      "stop": 5139.568,
      "target": 5177.659,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.02,
        "bb_width_pct": 0.913
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T23-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5152.265,
      "stop": 5147.115,
      "target": 5162.565,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.02,
        "bb_width_pct": 0.913
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T23-15-00Z_long_vwap_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5153.725,
      "stop": 5142.063,
      "target": 5177.049,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.28,
        "bb_width_pct": 0.915
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T23-25-00Z_long_vwap_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T23:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5156.19,
      "stop": 5146.301,
      "target": 5175.967,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.75,
        "bb_width_pct": 0.893
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T23-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5143.4,
      "stop": 5137.008,
      "target": 5156.183,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.55,
        "bb_width_pct": 0.812
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T23-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T23:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5141.91,
      "stop": 5135.453,
      "target": 5154.824,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.56,
        "bb_width_pct": 0.783
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-11T23-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T23:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5134.6,
      "stop": 5125.162,
      "target": 5153.477,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.66,
        "bb_width_pct": 0.779
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T00-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5131.285,
      "stop": 5121.221,
      "target": 5151.414,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.23,
        "bb_width_pct": 0.787
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T00-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T00:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5137.785,
      "stop": 5131.777,
      "target": 5149.8,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.96,
        "bb_width_pct": 0.746
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T00-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T00:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5137.785,
      "stop": 5129.252,
      "target": 5154.85,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.96,
        "bb_width_pct": 0.746
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T00-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T00:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5137.785,
      "stop": 5131.879,
      "target": 5149.596,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.96,
        "bb_width_pct": 0.746
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T00-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T00:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5138.975,
      "stop": 5134.17,
      "target": 5148.585,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.73,
        "bb_width_pct": 0.712
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T00-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T00:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5157.635,
      "stop": 5162.924,
      "target": 5147.057,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.3,
        "bb_width_pct": 0.555
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T01-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5158.68,
      "stop": 5163.983,
      "target": 5148.074,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.83,
        "bb_width_pct": 0.609
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T01-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5158.68,
      "stop": 5162.072,
      "target": 5151.896,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.83,
        "bb_width_pct": 0.609
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T01-05-00Z_short_rsi_range_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T01:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5156.41,
      "stop": 5160.573,
      "target": 5148.084,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 23.78,
        "bb_width_pct": 0.609
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T01-25-00Z_short_rsi_range_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T01:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5157.605,
      "stop": 5161.307,
      "target": 5150.201,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 8.88,
        "bb_width_pct": 0.681
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T01-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T01:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5167.52,
      "stop": 5172.52,
      "target": 5157.52,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.12,
        "bb_width_pct": 0.523
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T01-50-00Z_short_vwap_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T01:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5167.52,
      "stop": 5174.228,
      "target": 5154.104,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.12,
        "bb_width_pct": 0.523
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T01-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T01:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5167.52,
      "stop": 5176.58,
      "target": 5149.4,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.12,
        "bb_width_pct": 0.523
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T01-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T01:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5167.52,
      "stop": 5171.678,
      "target": 5159.204,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.12,
        "bb_width_pct": 0.523
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T02-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T02:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5172.125,
      "stop": 5178.177,
      "target": 5160.021,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.99,
        "bb_width_pct": 0.493
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T02-15-00Z_short_rsi_range_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T02:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5174.005,
      "stop": 5179.534,
      "target": 5162.947,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 20.9,
        "bb_width_pct": 0.579
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T02-15-00Z_short_vwap_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T02:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5174.005,
      "stop": 5182.405,
      "target": 5157.206,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 20.9,
        "bb_width_pct": 0.579
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T02-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T02:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5174.005,
      "stop": 5185.894,
      "target": 5150.227,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 20.9,
        "bb_width_pct": 0.579
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T02-20-00Z_short_vwap_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T02:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5169.45,
      "stop": 5175.334,
      "target": 5157.683,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.58,
        "bb_width_pct": 0.568
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T02-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T02:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5169.45,
      "stop": 5179.061,
      "target": 5150.227,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.58,
        "bb_width_pct": 0.568
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T02-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T02:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5169.45,
      "stop": 5171.658,
      "target": 5165.034,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.58,
        "bb_width_pct": 0.568
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T02-25-00Z_short_vwap_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T02:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5168.035,
      "stop": 5173.021,
      "target": 5158.063,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.52,
        "bb_width_pct": 0.542
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T02-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T02:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5168.035,
      "stop": 5176.855,
      "target": 5150.395,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.52,
        "bb_width_pct": 0.542
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T02-30-00Z_short_vwap_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5165.39,
      "stop": 5168.909,
      "target": 5158.352,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 9.71,
        "bb_width_pct": 0.517
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T02-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5165.39,
      "stop": 5172.888,
      "target": 5150.395,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.71,
        "bb_width_pct": 0.517
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T02-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T02:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5151.61,
      "stop": 5145.079,
      "target": 5164.672,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.57,
        "bb_width_pct": 0.558
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T02-50-00Z_long_rsi_range_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T02:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5151.61,
      "stop": 5145.079,
      "target": 5164.672,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.57,
        "bb_width_pct": 0.558
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T03-00-00Z_long_rsi_range_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5152.775,
      "stop": 5147.207,
      "target": 5163.91,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.17,
        "bb_width_pct": 0.625
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T03-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5152.775,
      "stop": 5149.163,
      "target": 5159.999,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.17,
        "bb_width_pct": 0.625
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T03-05-00Z_long_rsi_range_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T03:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5153.235,
      "stop": 5148.007,
      "target": 5163.691,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.65,
        "bb_width_pct": 0.643
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T03-10-00Z_long_rsi_range_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T03:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5154.135,
      "stop": 5149.468,
      "target": 5163.469,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.26,
        "bb_width_pct": 0.657
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T03-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5152.73,
      "stop": 5149.958,
      "target": 5158.274,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.02,
        "bb_width_pct": 0.682
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T03-25-00Z_long_rsi_range_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5152.0,
      "stop": 5147.479,
      "target": 5161.043,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.82,
        "bb_width_pct": 0.693
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T03-40-00Z_long_rsi_range_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T03:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5152.51,
      "stop": 5149.68,
      "target": 5158.17,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.97,
        "bb_width_pct": 0.685
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T03-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T03:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5152.51,
      "stop": 5148.494,
      "target": 5160.542,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.97,
        "bb_width_pct": 0.685
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T04-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5145.52,
      "stop": 5142.777,
      "target": 5151.007,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.19,
        "bb_width_pct": 0.229
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T04-45-00Z_long_vwap_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5145.52,
      "stop": 5140.591,
      "target": 5155.379,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.19,
        "bb_width_pct": 0.229
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T04-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5145.52,
      "stop": 5138.536,
      "target": 5159.487,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 16.19,
        "bb_width_pct": 0.229
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T04-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T04:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5142.7,
      "stop": 5139.077,
      "target": 5149.947,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.08,
        "bb_width_pct": 0.287
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T05-00-00Z_long_vwap_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5145.12,
      "stop": 5140.282,
      "target": 5154.796,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.36,
        "bb_width_pct": 0.296
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T05-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5145.12,
      "stop": 5138.737,
      "target": 5157.885,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 18.36,
        "bb_width_pct": 0.296
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T05-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5145.12,
      "stop": 5143.081,
      "target": 5149.197,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.36,
        "bb_width_pct": 0.296
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T05-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5146.84,
      "stop": 5145.577,
      "target": 5149.366,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.02,
        "bb_width_pct": 0.297
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T05-05-00Z_long_vwap_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5146.84,
      "stop": 5142.94,
      "target": 5154.64,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.02,
        "bb_width_pct": 0.297
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T05-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5146.84,
      "stop": 5141.318,
      "target": 5157.885,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 13.02,
        "bb_width_pct": 0.297
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T05-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5146.84,
      "stop": 5145.774,
      "target": 5148.973,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.02,
        "bb_width_pct": 0.297
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T05-15-00Z_long_vwap_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5147.355,
      "stop": 5143.83,
      "target": 5154.406,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.88,
        "bb_width_pct": 0.303
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T05-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5147.355,
      "stop": 5142.09,
      "target": 5157.885,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.88,
        "bb_width_pct": 0.303
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T05-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5143.205,
      "stop": 5140.773,
      "target": 5148.069,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.11,
        "bb_width_pct": 0.32
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T05-25-00Z_long_vwap_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5143.205,
      "stop": 5137.786,
      "target": 5154.043,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.11,
        "bb_width_pct": 0.32
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T05-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5143.205,
      "stop": 5135.865,
      "target": 5157.885,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 13.11,
        "bb_width_pct": 0.32
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T05-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5143.205,
      "stop": 5141.063,
      "target": 5147.49,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.11,
        "bb_width_pct": 0.32
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T05-30-00Z_long_vwap_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5147.51,
      "stop": 5144.301,
      "target": 5153.927,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.25,
        "bb_width_pct": 0.309
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T05-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5147.51,
      "stop": 5143.185,
      "target": 5156.16,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.25,
        "bb_width_pct": 0.309
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T05-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5153.305,
      "stop": 5156.003,
      "target": 5147.909,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.33,
        "bb_width_pct": 0.332
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T05-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5153.305,
      "stop": 5155.213,
      "target": 5149.489,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.33,
        "bb_width_pct": 0.332
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T05-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T05:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5154.675,
      "stop": 5158.036,
      "target": 5147.953,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.53,
        "bb_width_pct": 0.337
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T05-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T05:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5154.675,
      "stop": 5157.021,
      "target": 5149.983,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.53,
        "bb_width_pct": 0.337
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T06-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5155.255,
      "stop": 5158.797,
      "target": 5148.172,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.86,
        "bb_width_pct": 0.356
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T06-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5155.255,
      "stop": 5157.64,
      "target": 5150.485,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.86,
        "bb_width_pct": 0.356
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T06-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5154.47,
      "stop": 5157.89,
      "target": 5147.63,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.15,
        "bb_width_pct": 0.364
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T06-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5161.39,
      "stop": 5166.642,
      "target": 5150.885,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 24.58,
        "bb_width_pct": 0.419
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T06-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T06:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5168.19,
      "stop": 5175.168,
      "target": 5154.234,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.36,
        "bb_width_pct": 0.562
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T06-45-00Z_short_rsi_range_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T06:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5168.19,
      "stop": 5175.168,
      "target": 5154.234,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 21.36,
        "bb_width_pct": 0.562
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T06-45-00Z_short_vwap_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T06:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5168.19,
      "stop": 5175.06,
      "target": 5154.451,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 21.36,
        "bb_width_pct": 0.562
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T06-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T06:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5168.19,
      "stop": 5175.5,
      "target": 5153.57,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 21.36,
        "bb_width_pct": 0.562
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T06-55-00Z_short_vwap_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T06:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5166.32,
      "stop": 5172.098,
      "target": 5154.764,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 20.05,
        "bb_width_pct": 0.602
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T06-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T06:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5166.32,
      "stop": 5172.59,
      "target": 5153.78,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 20.05,
        "bb_width_pct": 0.602
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T07-05-00Z_short_rsi_range_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T07:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5166.475,
      "stop": 5170.367,
      "target": 5158.692,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 18.76,
        "bb_width_pct": 0.524
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T07-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T07:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5166.475,
      "stop": 5172.823,
      "target": 5153.78,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.76,
        "bb_width_pct": 0.524
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T07-15-00Z_short_rsi_range_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T07:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5167.615,
      "stop": 5171.057,
      "target": 5160.732,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 21.44,
        "bb_width_pct": 0.501
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T07-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T07:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5167.615,
      "stop": 5174.495,
      "target": 5153.855,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 21.44,
        "bb_width_pct": 0.501
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T07-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T07:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5167.615,
      "stop": 5170.596,
      "target": 5161.652,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.44,
        "bb_width_pct": 0.501
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T07-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T07:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5169.12,
      "stop": 5172.189,
      "target": 5162.983,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.62,
        "bb_width_pct": 0.512
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T07-35-00Z_short_rsi_range_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T07:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5168.375,
      "stop": 5170.747,
      "target": 5163.632,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 12.51,
        "bb_width_pct": 0.49
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T07-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T07:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5168.375,
      "stop": 5174.914,
      "target": 5155.298,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.51,
        "bb_width_pct": 0.49
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T07-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T07:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5168.375,
      "stop": 5170.499,
      "target": 5164.126,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.51,
        "bb_width_pct": 0.49
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T07-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T07:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5179.385,
      "stop": 5186.051,
      "target": 5166.052,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.87,
        "bb_width_pct": 0.549
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T07-50-00Z_short_rsi_range_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T07:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5178.9,
      "stop": 5184.713,
      "target": 5167.273,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 17.46,
        "bb_width_pct": 0.549
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T07-50-00Z_short_vwap_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T07:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5178.9,
      "stop": 5182.81,
      "target": 5171.08,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 17.46,
        "bb_width_pct": 0.549
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T07-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T07:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5178.9,
      "stop": 5187.75,
      "target": 5161.2,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.46,
        "bb_width_pct": 0.549
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T08-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T08:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5183.89,
      "stop": 5189.994,
      "target": 5171.681,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 25.17,
        "bb_width_pct": 0.523
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T08-05-00Z_short_rsi_range_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T08:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5183.89,
      "stop": 5189.994,
      "target": 5171.681,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 25.17,
        "bb_width_pct": 0.523
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T08-05-00Z_short_vwap_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T08:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5183.89,
      "stop": 5188.975,
      "target": 5173.72,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 25.17,
        "bb_width_pct": 0.523
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T08-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T08:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5183.89,
      "stop": 5194.078,
      "target": 5163.515,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 25.17,
        "bb_width_pct": 0.523
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T08-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T08:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5181.675,
      "stop": 5186.165,
      "target": 5172.695,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.71,
        "bb_width_pct": 0.515
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T08-10-00Z_short_rsi_range_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T08:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5181.675,
      "stop": 5186.165,
      "target": 5172.695,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 20.71,
        "bb_width_pct": 0.515
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T08-10-00Z_short_vwap_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T08:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5181.675,
      "stop": 5185.315,
      "target": 5174.395,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 20.71,
        "bb_width_pct": 0.515
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T08-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T08:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5181.675,
      "stop": 5190.755,
      "target": 5163.515,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 20.71,
        "bb_width_pct": 0.515
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T08-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T08:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5178.445,
      "stop": 5185.91,
      "target": 5163.515,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.74,
        "bb_width_pct": 0.516
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T08-45-00Z_short_rsi_range_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T08:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5179.745,
      "stop": 5181.0,
      "target": 5177.236,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 1.32,
        "bb_width_pct": 0.435
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T08-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T08:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5179.745,
      "stop": 5186.807,
      "target": 5165.62,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.32,
        "bb_width_pct": 0.435
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T09-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T09:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5176.115,
      "stop": 5174.278,
      "target": 5179.789,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.66,
        "bb_width_pct": 0.18
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T09-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5184.335,
      "stop": 5186.451,
      "target": 5180.102,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.64,
        "bb_width_pct": 0.194
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T09-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5185.035,
      "stop": 5187.435,
      "target": 5180.235,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.13,
        "bb_width_pct": 0.208
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T09-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T09:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5184.735,
      "stop": 5186.991,
      "target": 5180.223,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.34,
        "bb_width_pct": 0.207
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T09-40-00Z_short_vwap_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T09:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5184.735,
      "stop": 5188.383,
      "target": 5177.44,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.34,
        "bb_width_pct": 0.207
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T09-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T09:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5184.735,
      "stop": 5190.699,
      "target": 5172.807,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.34,
        "bb_width_pct": 0.207
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T09-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T09:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5184.735,
      "stop": 5187.463,
      "target": 5179.279,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.34,
        "bb_width_pct": 0.207
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T09-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T09:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5183.945,
      "stop": 5185.805,
      "target": 5180.225,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.32,
        "bb_width_pct": 0.207
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T09-45-00Z_short_vwap_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T09:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5183.945,
      "stop": 5187.091,
      "target": 5177.653,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.32,
        "bb_width_pct": 0.207
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T09-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T09:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5183.945,
      "stop": 5189.447,
      "target": 5172.94,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.32,
        "bb_width_pct": 0.207
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T09-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T09:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5183.945,
      "stop": 5186.056,
      "target": 5179.724,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.32,
        "bb_width_pct": 0.207
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T09-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T09:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5183.93,
      "stop": 5185.726,
      "target": 5180.338,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.01,
        "bb_width_pct": 0.215
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T09-50-00Z_short_vwap_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T09:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5183.93,
      "stop": 5186.967,
      "target": 5177.856,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.01,
        "bb_width_pct": 0.215
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T09-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T09:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5183.93,
      "stop": 5188.445,
      "target": 5174.9,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.01,
        "bb_width_pct": 0.215
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T09-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T09:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5183.93,
      "stop": 5185.833,
      "target": 5180.124,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.01,
        "bb_width_pct": 0.215
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T10-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T10:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5188.09,
      "stop": 5191.288,
      "target": 5181.694,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.97,
        "bb_width_pct": 0.298
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T10-05-00Z_short_rsi_range_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T10:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5188.09,
      "stop": 5191.288,
      "target": 5181.694,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 16.97,
        "bb_width_pct": 0.298
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T10-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T10:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5188.09,
      "stop": 5193.076,
      "target": 5178.118,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 16.97,
        "bb_width_pct": 0.298
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T10-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T10:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5188.09,
      "stop": 5191.009,
      "target": 5182.251,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.97,
        "bb_width_pct": 0.298
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T10-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T10:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5187.11,
      "stop": 5189.662,
      "target": 5182.007,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.85,
        "bb_width_pct": 0.311
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T10-10-00Z_short_rsi_range_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T10:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5187.11,
      "stop": 5189.662,
      "target": 5182.007,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 11.85,
        "bb_width_pct": 0.311
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T10-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T10:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5187.11,
      "stop": 5191.587,
      "target": 5178.155,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.85,
        "bb_width_pct": 0.311
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T10-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T10:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5187.11,
      "stop": 5189.308,
      "target": 5182.714,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.85,
        "bb_width_pct": 0.311
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T10-20-00Z_short_rsi_range_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T10:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5185.08,
      "stop": 5186.402,
      "target": 5182.436,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 13.39,
        "bb_width_pct": 0.317
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T11-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T11:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5179.14,
      "stop": 5177.336,
      "target": 5182.747,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.91,
        "bb_width_pct": 0.273
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T11-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T11:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5179.14,
      "stop": 5177.155,
      "target": 5183.11,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.91,
        "bb_width_pct": 0.273
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T11-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T11:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5179.14,
      "stop": 5178.243,
      "target": 5180.934,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.91,
        "bb_width_pct": 0.273
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T11-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T11:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5179.825,
      "stop": 5178.571,
      "target": 5182.333,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 3.2,
        "bb_width_pct": 0.281
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T12-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T12:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5170.965,
      "stop": 5167.896,
      "target": 5177.103,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.03,
        "bb_width_pct": 0.346
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T12-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T12:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5170.965,
      "stop": 5167.096,
      "target": 5178.702,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.03,
        "bb_width_pct": 0.346
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T12-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T12:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5170.965,
      "stop": 5168.452,
      "target": 5175.991,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.03,
        "bb_width_pct": 0.346
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T12-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T12:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5183.775,
      "stop": 5187.906,
      "target": 5175.513,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.92,
        "bb_width_pct": 0.347
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T12-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T12:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5183.775,
      "stop": 5187.521,
      "target": 5176.284,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.92,
        "bb_width_pct": 0.347
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T12-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T12:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5181.625,
      "stop": 5184.502,
      "target": 5175.872,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.8,
        "bb_width_pct": 0.361
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T12-55-00Z_short_vwap_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T12:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5181.625,
      "stop": 5185.455,
      "target": 5173.965,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.8,
        "bb_width_pct": 0.361
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T12-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T12:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5181.625,
      "stop": 5184.041,
      "target": 5176.792,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.8,
        "bb_width_pct": 0.361
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T13-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5179.85,
      "stop": 5181.822,
      "target": 5175.907,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.83,
        "bb_width_pct": 0.363
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T13-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5179.85,
      "stop": 5181.233,
      "target": 5177.083,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.83,
        "bb_width_pct": 0.363
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T13-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T13:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5172.11,
      "stop": 5170.244,
      "target": 5175.843,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.95,
        "bb_width_pct": 0.402
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T13-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T13:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5172.11,
      "stop": 5169.494,
      "target": 5177.342,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.95,
        "bb_width_pct": 0.402
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T13-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5166.595,
      "stop": 5162.413,
      "target": 5174.959,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.7,
        "bb_width_pct": 0.432
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T13-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5166.595,
      "stop": 5162.0,
      "target": 5175.784,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.7,
        "bb_width_pct": 0.432
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T13-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5161.885,
      "stop": 5155.779,
      "target": 5174.096,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.22,
        "bb_width_pct": 0.478
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T13-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T13:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5151.45,
      "stop": 5141.802,
      "target": 5170.745,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 27.55,
        "bb_width_pct": 0.812
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T13-55-00Z_long_rsi_range_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T13:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5151.45,
      "stop": 5141.802,
      "target": 5170.745,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 27.55,
        "bb_width_pct": 0.812
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T13-55-00Z_long_vwap_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T13:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5151.45,
      "stop": 5141.78,
      "target": 5170.789,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 27.55,
        "bb_width_pct": 0.812
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T13-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T13:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5151.45,
      "stop": 5143.7,
      "target": 5166.95,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 27.55,
        "bb_width_pct": 0.812
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T14-00-00Z_long_rsi_range_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5162.305,
      "stop": 5158.301,
      "target": 5170.312,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.26,
        "bb_width_pct": 0.824
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T14-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5162.305,
      "stop": 5160.4,
      "target": 5166.115,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.26,
        "bb_width_pct": 0.824
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T14-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5162.305,
      "stop": 5159.983,
      "target": 5166.948,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.26,
        "bb_width_pct": 0.824
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T14-40-00Z_long_vwap_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T14:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5148.83,
      "stop": 5140.242,
      "target": 5166.005,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.34,
        "bb_width_pct": 0.872
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T14-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T14:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5148.83,
      "stop": 5141.759,
      "target": 5162.972,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.34,
        "bb_width_pct": 0.872
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T14-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T14:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5148.83,
      "stop": 5144.057,
      "target": 5158.377,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.34,
        "bb_width_pct": 0.872
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T14-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T14:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5142.01,
      "stop": 5135.29,
      "target": 5155.45,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.69,
        "bb_width_pct": 0.726
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T14-55-00Z_long_vwap_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T14:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5142.92,
      "stop": 5132.332,
      "target": 5164.097,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.44,
        "bb_width_pct": 0.688
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T14-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T14:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5142.92,
      "stop": 5133.225,
      "target": 5162.31,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.44,
        "bb_width_pct": 0.688
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T14-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T14:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5142.92,
      "stop": 5137.252,
      "target": 5154.257,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.44,
        "bb_width_pct": 0.688
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T15-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T15:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5125.875,
      "stop": 5115.412,
      "target": 5146.801,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.21,
        "bb_width_pct": 0.848
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T15-15-00Z_long_rsi_range_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T15:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5125.875,
      "stop": 5115.412,
      "target": 5146.801,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.21,
        "bb_width_pct": 0.848
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T15-15-00Z_long_vwap_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T15:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5125.875,
      "stop": 5108.55,
      "target": 5160.525,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.21,
        "bb_width_pct": 0.848
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T15-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T15:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5125.875,
      "stop": 5114.814,
      "target": 5147.998,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 25.21,
        "bb_width_pct": 0.848
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T15-20-00Z_long_rsi_range_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T15:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5129.45,
      "stop": 5121.521,
      "target": 5145.307,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.29,
        "bb_width_pct": 0.866
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T15-20-00Z_long_vwap_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T15:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5129.45,
      "stop": 5114.302,
      "target": 5159.746,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.29,
        "bb_width_pct": 0.866
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T15-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T15:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5129.45,
      "stop": 5122.144,
      "target": 5144.063,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.29,
        "bb_width_pct": 0.866
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T15-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T15:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5129.43,
      "stop": 5122.811,
      "target": 5142.669,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.89,
        "bb_width_pct": 0.897
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T15-35-00Z_long_rsi_range_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T15:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5132.24,
      "stop": 5127.401,
      "target": 5141.918,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.42,
        "bb_width_pct": 0.947
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T15-35-00Z_long_vwap_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T15:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5132.24,
      "stop": 5119.571,
      "target": 5157.578,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.42,
        "bb_width_pct": 0.947
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T15-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T15:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5132.24,
      "stop": 5124.361,
      "target": 5147.998,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.42,
        "bb_width_pct": 0.947
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T15-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T15:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5132.24,
      "stop": 5128.279,
      "target": 5140.161,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.42,
        "bb_width_pct": 0.947
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T15-50-00Z_long_vwap_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T15:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5133.475,
      "stop": 5122.282,
      "target": 5155.86,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.76,
        "bb_width_pct": 0.759
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T16-00-00Z_long_vwap_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5133.97,
      "stop": 5123.5,
      "target": 5154.909,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.28,
        "bb_width_pct": 0.631
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T16-10-00Z_long_vwap_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T16:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5128.695,
      "stop": 5116.138,
      "target": 5153.808,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.45,
        "bb_width_pct": 0.544
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T16-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T16:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5128.695,
      "stop": 5119.044,
      "target": 5147.998,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.45,
        "bb_width_pct": 0.544
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T16-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T16:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5128.695,
      "stop": 5125.422,
      "target": 5135.24,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.45,
        "bb_width_pct": 0.544
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T16-15-00Z_long_vwap_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T16:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5131.4,
      "stop": 5120.42,
      "target": 5153.359,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.49,
        "bb_width_pct": 0.503
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T16-20-00Z_long_vwap_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T16:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5134.135,
      "stop": 5124.701,
      "target": 5153.003,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.88,
        "bb_width_pct": 0.413
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T16-35-00Z_long_vwap_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5131.59,
      "stop": 5121.475,
      "target": 5151.82,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.37,
        "bb_width_pct": 0.228
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T16-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T16:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5135.06,
      "stop": 5137.461,
      "target": 5130.257,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.75,
        "bb_width_pct": 0.241
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T16-40-00Z_long_vwap_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T16:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5135.06,
      "stop": 5126.831,
      "target": 5151.518,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.75,
        "bb_width_pct": 0.241
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T16-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5123.55,
      "stop": 5119.253,
      "target": 5132.145,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.64,
        "bb_width_pct": 0.261
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T17-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T17:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5126.72,
      "stop": 5124.987,
      "target": 5130.187,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.42,
        "bb_width_pct": 0.268
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T17-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T17:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5120.5,
      "stop": 5116.458,
      "target": 5128.584,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.9,
        "bb_width_pct": 0.384
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T17-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T17:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5120.5,
      "stop": 5112.474,
      "target": 5136.552,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.9,
        "bb_width_pct": 0.384
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T17-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T17:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5120.5,
      "stop": 5116.649,
      "target": 5128.203,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.9,
        "bb_width_pct": 0.384
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T17-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T17:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5119.11,
      "stop": 5114.997,
      "target": 5127.337,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.57,
        "bb_width_pct": 0.414
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T17-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T17:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5113.15,
      "stop": 5106.737,
      "target": 5125.975,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.59,
        "bb_width_pct": 0.525
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T17-35-00Z_long_rsi_range_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T17:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5113.15,
      "stop": 5106.737,
      "target": 5125.975,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.59,
        "bb_width_pct": 0.525
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T17-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T17:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5113.15,
      "stop": 5102.867,
      "target": 5133.715,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 17.59,
        "bb_width_pct": 0.525
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T17-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T17:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5110.585,
      "stop": 5103.475,
      "target": 5124.806,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.95,
        "bb_width_pct": 0.566
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T17-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T17:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5105.485,
      "stop": 5097.422,
      "target": 5121.612,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.5,
        "bb_width_pct": 0.731
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T18-00-00Z_long_rsi_range_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T18:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5108.66,
      "stop": 5102.821,
      "target": 5120.338,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.22,
        "bb_width_pct": 0.727
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T18-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T18:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5108.66,
      "stop": 5098.876,
      "target": 5128.227,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 17.22,
        "bb_width_pct": 0.727
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T18-10-00Z_long_rsi_range_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T18:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5107.34,
      "stop": 5101.994,
      "target": 5118.032,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.17,
        "bb_width_pct": 0.733
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T18-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T18:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5107.34,
      "stop": 5099.109,
      "target": 5123.802,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 20.17,
        "bb_width_pct": 0.733
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T18-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T18:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5107.34,
      "stop": 5102.956,
      "target": 5116.107,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.17,
        "bb_width_pct": 0.733
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T18-25-00Z_long_rsi_range_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T18:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5104.445,
      "stop": 5099.805,
      "target": 5113.726,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.3,
        "bb_width_pct": 0.607
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T18-25-00Z_long_vwap_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T18:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5104.445,
      "stop": 5100.184,
      "target": 5112.966,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.3,
        "bb_width_pct": 0.607
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T18-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T18:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5104.445,
      "stop": 5096.795,
      "target": 5119.745,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 19.3,
        "bb_width_pct": 0.607
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T18-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T18:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5104.445,
      "stop": 5100.097,
      "target": 5113.142,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.3,
        "bb_width_pct": 0.607
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T18-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T18:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5098.68,
      "stop": 5094.446,
      "target": 5107.148,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.9,
        "bb_width_pct": 0.552
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T18-50-00Z_long_vwap_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T18:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5098.68,
      "stop": 5093.097,
      "target": 5109.846,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.9,
        "bb_width_pct": 0.552
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T18-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T18:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5098.68,
      "stop": 5090.436,
      "target": 5115.167,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 11.9,
        "bb_width_pct": 0.552
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T19-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T19:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5092.78,
      "stop": 5087.68,
      "target": 5102.979,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.98,
        "bb_width_pct": 0.543
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T19-05-00Z_long_vwap_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T19:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5092.78,
      "stop": 5085.304,
      "target": 5107.733,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.98,
        "bb_width_pct": 0.543
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T19-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T19:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5092.78,
      "stop": 5084.784,
      "target": 5108.773,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 17.98,
        "bb_width_pct": 0.543
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T19-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T19:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5086.6,
      "stop": 5079.751,
      "target": 5100.298,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.91,
        "bb_width_pct": 0.613
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T19-15-00Z_long_rsi_range_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T19:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5086.6,
      "stop": 5079.751,
      "target": 5100.298,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.91,
        "bb_width_pct": 0.613
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T19-15-00Z_long_vwap_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T19:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5086.6,
      "stop": 5076.801,
      "target": 5106.198,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.91,
        "bb_width_pct": 0.613
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T19-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T19:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5086.6,
      "stop": 5075.514,
      "target": 5108.773,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 22.91,
        "bb_width_pct": 0.613
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T19-20-00Z_long_vwap_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T19:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5092.94,
      "stop": 5086.583,
      "target": 5105.655,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.58,
        "bb_width_pct": 0.596
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T19-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T19:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5092.94,
      "stop": 5085.024,
      "target": 5108.773,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.58,
        "bb_width_pct": 0.596
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T19-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T19:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5092.94,
      "stop": 5089.76,
      "target": 5099.299,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.58,
        "bb_width_pct": 0.596
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T19-25-00Z_long_vwap_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T19:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5093.7,
      "stop": 5087.936,
      "target": 5105.229,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.44,
        "bb_width_pct": 0.584
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T19-30-00Z_long_vwap_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T19:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5094.715,
      "stop": 5089.623,
      "target": 5104.899,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.18,
        "bb_width_pct": 0.565
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T19-35-00Z_long_vwap_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T19:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5094.915,
      "stop": 5090.085,
      "target": 5104.574,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.89,
        "bb_width_pct": 0.551
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T19-45-00Z_long_vwap_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T19:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5094.89,
      "stop": 5090.384,
      "target": 5103.902,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.99,
        "bb_width_pct": 0.486
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T19-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T19:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5084.985,
      "stop": 5080.303,
      "target": 5094.348,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.94,
        "bb_width_pct": 0.426
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T19-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T19:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5084.985,
      "stop": 5079.573,
      "target": 5095.808,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.94,
        "bb_width_pct": 0.426
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T20-00-00Z_long_vwap_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T20:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5089.19,
      "stop": 5082.412,
      "target": 5102.747,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.1,
        "bb_width_pct": 0.405
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T20-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T20:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5089.19,
      "stop": 5080.034,
      "target": 5107.503,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.1,
        "bb_width_pct": 0.405
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T20-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T20:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5089.19,
      "stop": 5086.196,
      "target": 5095.178,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.1,
        "bb_width_pct": 0.405
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T20-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T20:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5081.905,
      "stop": 5077.584,
      "target": 5090.547,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.34,
        "bb_width_pct": 0.35
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T20-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5072.45,
      "stop": 5065.561,
      "target": 5086.228,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.28,
        "bb_width_pct": 0.647
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T20-40-00Z_long_rsi_range_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5072.45,
      "stop": 5065.561,
      "target": 5086.228,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.28,
        "bb_width_pct": 0.647
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T20-40-00Z_long_vwap_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5072.45,
      "stop": 5059.474,
      "target": 5098.402,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.28,
        "bb_width_pct": 0.647
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T20-45-00Z_long_vwap_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T20:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5080.87,
      "stop": 5072.324,
      "target": 5097.962,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.47,
        "bb_width_pct": 0.642
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T20-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T20:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5080.87,
      "stop": 5078.903,
      "target": 5084.804,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.47,
        "bb_width_pct": 0.642
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T20-55-00Z_long_vwap_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T20:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5079.255,
      "stop": 5070.301,
      "target": 5097.164,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.59,
        "bb_width_pct": 0.661
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T22-00-00Z_long_vwap_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T22:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5083.94,
      "stop": 5037.188,
      "target": 5177.445,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.05,
        "bb_width_pct": 0.646
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T22-10-00Z_long_vwap_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T22:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5081.63,
      "stop": 5037.25,
      "target": 5170.39,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.86,
        "bb_width_pct": 0.595
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T22-15-00Z_long_vwap_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T22:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5089.985,
      "stop": 5051.262,
      "target": 5167.431,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.34,
        "bb_width_pct": 0.57
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T22-20-00Z_long_vwap_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T22:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5094.065,
      "stop": 5058.67,
      "target": 5164.856,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.36,
        "bb_width_pct": 0.582
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T22-40-00Z_long_vwap_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T22:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5089.82,
      "stop": 5056.834,
      "target": 5155.791,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.77,
        "bb_width_pct": 0.554
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T22-45-00Z_short_rsi_range_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T22:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5088.34,
      "stop": 5091.078,
      "target": 5082.863,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 20.18,
        "bb_width_pct": 0.551
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T22-50-00Z_long_vwap_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T22:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5092.675,
      "stop": 5062.981,
      "target": 5152.064,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.04,
        "bb_width_pct": 0.575
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T22-55-00Z_long_vwap_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T22:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5096.03,
      "stop": 5068.806,
      "target": 5150.479,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.01,
        "bb_width_pct": 0.615
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T23-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5093.23,
      "stop": 5101.176,
      "target": 5077.337,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.56,
        "bb_width_pct": 0.635
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T23-05-00Z_long_vwap_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5094.005,
      "stop": 5067.264,
      "target": 5147.488,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.46,
        "bb_width_pct": 0.615
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T23-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5090.67,
      "stop": 5097.363,
      "target": 5077.285,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.45,
        "bb_width_pct": 0.566
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T23-15-00Z_long_vwap_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5094.19,
      "stop": 5068.911,
      "target": 5144.748,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.47,
        "bb_width_pct": 0.504
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T23-20-00Z_long_vwap_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T23:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5096.73,
      "stop": 5073.311,
      "target": 5143.567,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.94,
        "bb_width_pct": 0.448
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T23-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T23:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5096.73,
      "stop": 5099.895,
      "target": 5090.4,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.94,
        "bb_width_pct": 0.448
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T23-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T23:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5094.25,
      "stop": 5102.806,
      "target": 5077.137,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.26,
        "bb_width_pct": 0.433
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T23-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T23:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5094.25,
      "stop": 5095.992,
      "target": 5090.766,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.26,
        "bb_width_pct": 0.433
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T23-30-00Z_long_vwap_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5095.41,
      "stop": 5072.45,
      "target": 5141.33,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.77,
        "bb_width_pct": 0.397
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T23-35-00Z_long_vwap_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5097.605,
      "stop": 5076.256,
      "target": 5140.303,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.26,
        "bb_width_pct": 0.363
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T23-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5094.835,
      "stop": 5103.565,
      "target": 5077.375,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.38,
        "bb_width_pct": 0.343
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T23-45-00Z_long_vwap_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5098.765,
      "stop": 5078.943,
      "target": 5138.41,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.46,
        "bb_width_pct": 0.31
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T23-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T23:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5099.575,
      "stop": 5102.611,
      "target": 5093.503,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.93,
        "bb_width_pct": 0.262
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T23-50-00Z_long_vwap_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T23:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5099.575,
      "stop": 5080.574,
      "target": 5137.578,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.93,
        "bb_width_pct": 0.262
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T23-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T23:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5099.575,
      "stop": 5102.667,
      "target": 5093.39,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.93,
        "bb_width_pct": 0.262
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T23-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T23:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5098.13,
      "stop": 5100.24,
      "target": 5093.91,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.92,
        "bb_width_pct": 0.266
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T23-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T23:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5098.13,
      "stop": 5108.165,
      "target": 5078.06,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.92,
        "bb_width_pct": 0.266
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-12T23-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T23:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5098.13,
      "stop": 5100.274,
      "target": 5093.842,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.92,
        "bb_width_pct": 0.266
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T00-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5099.155,
      "stop": 5101.65,
      "target": 5094.165,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.43,
        "bb_width_pct": 0.28
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T00-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5099.155,
      "stop": 5101.559,
      "target": 5094.348,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.43,
        "bb_width_pct": 0.28
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T00-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T00:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5105.01,
      "stop": 5109.313,
      "target": 5096.405,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.34,
        "bb_width_pct": 0.364
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T00-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T00:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5105.01,
      "stop": 5116.645,
      "target": 5081.74,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 20.34,
        "bb_width_pct": 0.364
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T00-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T00:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5106.135,
      "stop": 5110.592,
      "target": 5097.22,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.46,
        "bb_width_pct": 0.38
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T00-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5109.24,
      "stop": 5114.38,
      "target": 5098.96,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 23.39,
        "bb_width_pct": 0.408
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T00-35-00Z_short_rsi_range_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T00:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5108.655,
      "stop": 5113.187,
      "target": 5099.592,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 22.09,
        "bb_width_pct": 0.436
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T00-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T00:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5108.655,
      "stop": 5121.556,
      "target": 5082.852,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 22.09,
        "bb_width_pct": 0.436
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T00-40-00Z_short_rsi_range_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T00:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5108.045,
      "stop": 5111.901,
      "target": 5100.332,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 18.34,
        "bb_width_pct": 0.443
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T00-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T00:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5108.045,
      "stop": 5120.641,
      "target": 5082.852,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.34,
        "bb_width_pct": 0.443
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T00-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T00:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5113.78,
      "stop": 5119.137,
      "target": 5103.065,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 25.47,
        "bb_width_pct": 0.459
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T01-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T01:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5119.675,
      "stop": 5126.2,
      "target": 5106.625,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 27.2,
        "bb_width_pct": 0.564
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T01-15-00Z_short_rsi_range_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T01:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5116.13,
      "stop": 5120.419,
      "target": 5107.551,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 16.8,
        "bb_width_pct": 0.562
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T01-15-00Z_short_vwap_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T01:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5116.13,
      "stop": 5119.254,
      "target": 5109.883,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 16.8,
        "bb_width_pct": 0.562
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T01-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T01:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5116.13,
      "stop": 5124.455,
      "target": 5099.48,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 16.8,
        "bb_width_pct": 0.562
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T01-35-00Z_short_rsi_range_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T01:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5118.72,
      "stop": 5122.204,
      "target": 5111.753,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 14.69,
        "bb_width_pct": 0.496
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T01-35-00Z_short_vwap_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T01:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5118.72,
      "stop": 5122.268,
      "target": 5111.625,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.69,
        "bb_width_pct": 0.496
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T01-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T01:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5118.72,
      "stop": 5126.236,
      "target": 5103.688,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.69,
        "bb_width_pct": 0.496
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T01-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T01:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5118.72,
      "stop": 5122.049,
      "target": 5112.061,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.69,
        "bb_width_pct": 0.496
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T01-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T01:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5112.38,
      "stop": 5116.726,
      "target": 5103.688,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.5,
        "bb_width_pct": 0.442
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T02-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T02:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5124.96,
      "stop": 5129.353,
      "target": 5116.173,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.29,
        "bb_width_pct": 0.436
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T02-05-00Z_short_vwap_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T02:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5124.96,
      "stop": 5130.815,
      "target": 5113.249,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.29,
        "bb_width_pct": 0.436
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T02-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T02:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5124.96,
      "stop": 5133.282,
      "target": 5108.315,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.29,
        "bb_width_pct": 0.436
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T02-10-00Z_short_vwap_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T02:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5123.3,
      "stop": 5128.118,
      "target": 5113.664,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.43,
        "bb_width_pct": 0.434
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T02-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T02:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5123.3,
      "stop": 5130.589,
      "target": 5108.722,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.43,
        "bb_width_pct": 0.434
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T02-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T02:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5123.3,
      "stop": 5126.737,
      "target": 5116.426,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.43,
        "bb_width_pct": 0.434
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T02-15-00Z_short_vwap_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T02:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5120.79,
      "stop": 5124.219,
      "target": 5113.932,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 1.41,
        "bb_width_pct": 0.412
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T02-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T02:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5120.79,
      "stop": 5126.824,
      "target": 5108.722,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.41,
        "bb_width_pct": 0.412
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T02-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T02:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5118.355,
      "stop": 5122.994,
      "target": 5109.078,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.71,
        "bb_width_pct": 0.376
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T03-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5112.495,
      "stop": 5109.55,
      "target": 5118.384,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.27,
        "bb_width_pct": 0.348
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T03-05-00Z_long_rsi_range_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T03:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5113.64,
      "stop": 5111.399,
      "target": 5118.122,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.44,
        "bb_width_pct": 0.357
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T03-20-00Z_long_rsi_range_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T03:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5112.41,
      "stop": 5109.998,
      "target": 5117.234,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.9,
        "bb_width_pct": 0.389
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T03-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T03:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5109.22,
      "stop": 5107.003,
      "target": 5113.654,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.48,
        "bb_width_pct": 0.406
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T03-40-00Z_long_rsi_range_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T03:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5110.805,
      "stop": 5108.495,
      "target": 5115.425,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.9,
        "bb_width_pct": 0.366
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T04-25-00Z_long_vwap_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T04:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5105.63,
      "stop": 5101.508,
      "target": 5113.875,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.9,
        "bb_width_pct": 0.238
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T04-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T04:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5105.63,
      "stop": 5100.386,
      "target": 5116.118,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 11.9,
        "bb_width_pct": 0.238
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T04-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T04:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5105.84,
      "stop": 5102.91,
      "target": 5111.699,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.57,
        "bb_width_pct": 0.253
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T04-30-00Z_long_vwap_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T04:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5105.84,
      "stop": 5101.894,
      "target": 5113.731,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.57,
        "bb_width_pct": 0.253
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T04-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T04:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5105.84,
      "stop": 5100.701,
      "target": 5116.118,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.57,
        "bb_width_pct": 0.253
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T04-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T04:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5105.84,
      "stop": 5102.868,
      "target": 5111.785,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.57,
        "bb_width_pct": 0.253
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T04-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5104.63,
      "stop": 5101.286,
      "target": 5111.318,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.37,
        "bb_width_pct": 0.28
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T04-45-00Z_long_vwap_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5105.805,
      "stop": 5102.073,
      "target": 5113.27,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.86,
        "bb_width_pct": 0.31
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T04-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5105.805,
      "stop": 5100.883,
      "target": 5115.65,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.86,
        "bb_width_pct": 0.31
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T04-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5105.805,
      "stop": 5103.69,
      "target": 5110.036,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.86,
        "bb_width_pct": 0.31
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T04-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T04:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5104.59,
      "stop": 5102.321,
      "target": 5109.128,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.21,
        "bb_width_pct": 0.335
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T05-05-00Z_long_rsi_range_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5106.06,
      "stop": 5104.437,
      "target": 5109.307,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.8,
        "bb_width_pct": 0.349
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T05-05-00Z_long_vwap_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5106.06,
      "stop": 5102.717,
      "target": 5112.745,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.8,
        "bb_width_pct": 0.349
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T05-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5106.06,
      "stop": 5101.265,
      "target": 5115.65,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 20.8,
        "bb_width_pct": 0.349
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T05-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5106.06,
      "stop": 5104.877,
      "target": 5108.427,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.8,
        "bb_width_pct": 0.349
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T05-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5109.3,
      "stop": 5106.141,
      "target": 5115.618,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.35,
        "bb_width_pct": 0.348
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T05-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5108.915,
      "stop": 5106.871,
      "target": 5113.003,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.88,
        "bb_width_pct": 0.314
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T05-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5100.535,
      "stop": 5097.208,
      "target": 5107.188,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.43,
        "bb_width_pct": 0.272
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T05-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T05:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5103.49,
      "stop": 5101.94,
      "target": 5106.59,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.89,
        "bb_width_pct": 0.234
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T05-45-00Z_long_vwap_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T05:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5103.49,
      "stop": 5099.201,
      "target": 5112.068,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.89,
        "bb_width_pct": 0.234
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T05-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T05:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5103.49,
      "stop": 5099.789,
      "target": 5110.892,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.89,
        "bb_width_pct": 0.234
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T05-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T05:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5103.49,
      "stop": 5101.634,
      "target": 5107.203,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.89,
        "bb_width_pct": 0.234
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T05-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T05:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5103.175,
      "stop": 5102.049,
      "target": 5105.426,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.56,
        "bb_width_pct": 0.2
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T05-55-00Z_long_vwap_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T05:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5103.175,
      "stop": 5098.871,
      "target": 5111.782,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.56,
        "bb_width_pct": 0.2
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T05-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T05:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5103.175,
      "stop": 5099.884,
      "target": 5109.757,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 3.56,
        "bb_width_pct": 0.2
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T05-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T05:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5103.175,
      "stop": 5101.69,
      "target": 5106.145,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.56,
        "bb_width_pct": 0.2
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T06-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T06:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5100.145,
      "stop": 5097.644,
      "target": 5105.147,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.5,
        "bb_width_pct": 0.221
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T06-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T06:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5096.805,
      "stop": 5092.951,
      "target": 5104.512,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.56,
        "bb_width_pct": 0.263
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T06-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T06:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5095.92,
      "stop": 5092.033,
      "target": 5103.694,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.39,
        "bb_width_pct": 0.302
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T06-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5094.265,
      "stop": 5089.836,
      "target": 5103.123,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.44,
        "bb_width_pct": 0.39
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T06-35-00Z_long_vwap_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5094.265,
      "stop": 5086.121,
      "target": 5110.553,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.44,
        "bb_width_pct": 0.39
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T06-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5094.265,
      "stop": 5089.595,
      "target": 5103.605,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 16.44,
        "bb_width_pct": 0.39
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T06-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5094.265,
      "stop": 5090.459,
      "target": 5101.877,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.44,
        "bb_width_pct": 0.39
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T06-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T06:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5091.83,
      "stop": 5086.497,
      "target": 5102.496,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.51,
        "bb_width_pct": 0.434
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T06-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T06:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5091.83,
      "stop": 5087.285,
      "target": 5100.92,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.51,
        "bb_width_pct": 0.434
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T06-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T06:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5091.89,
      "stop": 5086.941,
      "target": 5101.787,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.66,
        "bb_width_pct": 0.465
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T06-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T06:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5091.89,
      "stop": 5087.805,
      "target": 5100.06,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.66,
        "bb_width_pct": 0.465
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T06-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T06:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5088.39,
      "stop": 5082.214,
      "target": 5100.742,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.31,
        "bb_width_pct": 0.497
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T06-55-00Z_long_rsi_range_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T06:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5088.34,
      "stop": 5082.66,
      "target": 5099.699,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.85,
        "bb_width_pct": 0.516
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T06-55-00Z_long_vwap_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T06:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5088.34,
      "stop": 5077.714,
      "target": 5109.592,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.85,
        "bb_width_pct": 0.516
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T06-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T06:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5088.34,
      "stop": 5081.55,
      "target": 5101.92,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.85,
        "bb_width_pct": 0.516
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T07-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T07:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5089.91,
      "stop": 5085.479,
      "target": 5098.772,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.48,
        "bb_width_pct": 0.517
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T07-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T07:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5089.91,
      "stop": 5083.905,
      "target": 5101.92,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.48,
        "bb_width_pct": 0.517
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T07-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T07:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5089.91,
      "stop": 5086.278,
      "target": 5097.174,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.48,
        "bb_width_pct": 0.517
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T07-05-00Z_long_rsi_range_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T07:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5090.64,
      "stop": 5086.958,
      "target": 5098.004,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.46,
        "bb_width_pct": 0.517
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T07-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T07:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5090.64,
      "stop": 5085.411,
      "target": 5101.097,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 18.46,
        "bb_width_pct": 0.517
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T07-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T07:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5084.975,
      "stop": 5080.711,
      "target": 5093.503,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.74,
        "bb_width_pct": 0.623
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T07-25-00Z_long_rsi_range_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T07:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5084.975,
      "stop": 5080.711,
      "target": 5093.503,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.74,
        "bb_width_pct": 0.623
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T07-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T07:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5084.975,
      "stop": 5080.394,
      "target": 5094.138,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 11.74,
        "bb_width_pct": 0.623
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T07-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T07:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5084.975,
      "stop": 5081.5,
      "target": 5091.925,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.74,
        "bb_width_pct": 0.623
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T08-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T08:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5072.67,
      "stop": 5065.916,
      "target": 5086.178,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.33,
        "bb_width_pct": 0.535
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T08-05-00Z_long_vwap_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T08:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5072.67,
      "stop": 5066.833,
      "target": 5084.345,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.33,
        "bb_width_pct": 0.535
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T08-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T08:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5072.67,
      "stop": 5064.134,
      "target": 5089.743,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 16.33,
        "bb_width_pct": 0.535
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T08-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T08:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5077.87,
      "stop": 5074.095,
      "target": 5085.42,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.0,
        "bb_width_pct": 0.538
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T08-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T08:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5077.87,
      "stop": 5072.297,
      "target": 5089.015,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.0,
        "bb_width_pct": 0.538
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T08-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T08:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5077.87,
      "stop": 5074.103,
      "target": 5085.403,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.0,
        "bb_width_pct": 0.538
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T08-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T08:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5073.735,
      "stop": 5068.457,
      "target": 5084.292,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.37,
        "bb_width_pct": 0.549
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T08-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T08:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5070.865,
      "stop": 5065.242,
      "target": 5082.111,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.0,
        "bb_width_pct": 0.619
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T08-25-00Z_long_vwap_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T08:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5070.865,
      "stop": 5065.492,
      "target": 5081.611,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.0,
        "bb_width_pct": 0.619
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T08-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T08:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5070.865,
      "stop": 5063.052,
      "target": 5086.49,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.0,
        "bb_width_pct": 0.619
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T08-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T08:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5070.865,
      "stop": 5065.528,
      "target": 5081.54,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.0,
        "bb_width_pct": 0.619
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T09-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T09:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5092.255,
      "stop": 5097.646,
      "target": 5081.473,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.07,
        "bb_width_pct": 0.617
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T09-05-00Z_short_vwap_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T09:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5092.255,
      "stop": 5097.223,
      "target": 5082.319,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 21.07,
        "bb_width_pct": 0.617
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T09-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T09:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5092.255,
      "stop": 5096.477,
      "target": 5083.811,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.07,
        "bb_width_pct": 0.617
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T09-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T09:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5092.68,
      "stop": 5096.692,
      "target": 5084.656,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.56,
        "bb_width_pct": 0.626
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T09-30-00Z_short_rsi_range_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5089.755,
      "stop": 5093.599,
      "target": 5082.068,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 20.97,
        "bb_width_pct": 0.657
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T09-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T09:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5089.755,
      "stop": 5094.911,
      "target": 5079.443,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.76,
        "bb_width_pct": 0.568
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T10-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T10:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5092.505,
      "stop": 5099.036,
      "target": 5079.443,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.24,
        "bb_width_pct": 0.329
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T10-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T10:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5092.505,
      "stop": 5094.496,
      "target": 5088.523,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.24,
        "bb_width_pct": 0.329
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T10-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T10:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5092.185,
      "stop": 5098.556,
      "target": 5079.443,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.38,
        "bb_width_pct": 0.248
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T10-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T10:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5089.405,
      "stop": 5094.386,
      "target": 5079.443,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.73,
        "bb_width_pct": 0.227
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T10-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T10:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5082.63,
      "stop": 5079.783,
      "target": 5088.323,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.08,
        "bb_width_pct": 0.222
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T10-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T10:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5087.805,
      "stop": 5086.825,
      "target": 5089.764,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.76,
        "bb_width_pct": 0.222
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T10-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T10:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5096.645,
      "stop": 5100.179,
      "target": 5089.578,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.12,
        "bb_width_pct": 0.25
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T10-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T10:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5094.965,
      "stop": 5097.432,
      "target": 5090.03,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.58,
        "bb_width_pct": 0.265
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T10-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T10:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5094.965,
      "stop": 5102.424,
      "target": 5080.048,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.58,
        "bb_width_pct": 0.265
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T11-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5095.045,
      "stop": 5097.314,
      "target": 5090.508,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.2,
        "bb_width_pct": 0.265
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T11-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5095.045,
      "stop": 5102.544,
      "target": 5080.048,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.2,
        "bb_width_pct": 0.265
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T11-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T11:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5089.73,
      "stop": 5094.571,
      "target": 5080.048,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.79,
        "bb_width_pct": 0.264
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T11-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T11:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5094.775,
      "stop": 5102.139,
      "target": 5080.048,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.92,
        "bb_width_pct": 0.264
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T11-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T11:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5093.835,
      "stop": 5100.729,
      "target": 5080.048,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.76,
        "bb_width_pct": 0.274
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T11-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T11:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5094.31,
      "stop": 5099.25,
      "target": 5084.43,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.45,
        "bb_width_pct": 0.269
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T12-05-00Z_short_rsi_range_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T12:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5110.42,
      "stop": 5117.861,
      "target": 5095.537,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 18.44,
        "bb_width_pct": 0.577
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T12-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T12:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5110.42,
      "stop": 5115.936,
      "target": 5099.387,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.44,
        "bb_width_pct": 0.577
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T12-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T12:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5108.465,
      "stop": 5114.283,
      "target": 5096.829,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 23.03,
        "bb_width_pct": 0.568
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T12-15-00Z_short_rsi_range_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T12:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5106.935,
      "stop": 5111.51,
      "target": 5097.785,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 20.89,
        "bb_width_pct": 0.568
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T12-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T12:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5106.935,
      "stop": 5110.708,
      "target": 5099.389,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.89,
        "bb_width_pct": 0.568
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T12-35-00Z_short_rsi_range_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T12:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5113.685,
      "stop": 5119.601,
      "target": 5101.854,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 24.1,
        "bb_width_pct": 0.708
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T12-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T12:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5113.685,
      "stop": 5120.834,
      "target": 5099.387,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 24.1,
        "bb_width_pct": 0.708
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T12-40-00Z_short_rsi_range_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T12:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5112.235,
      "stop": 5116.996,
      "target": 5102.714,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 19.95,
        "bb_width_pct": 0.718
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T12-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T12:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5112.235,
      "stop": 5118.659,
      "target": 5099.387,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 19.95,
        "bb_width_pct": 0.718
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T12-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T12:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5112.235,
      "stop": 5115.888,
      "target": 5104.929,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.95,
        "bb_width_pct": 0.718
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T12-50-00Z_short_rsi_range_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T12:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5117.74,
      "stop": 5123.783,
      "target": 5105.655,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 24.2,
        "bb_width_pct": 0.735
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T12-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T12:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5117.74,
      "stop": 5126.122,
      "target": 5100.975,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 24.2,
        "bb_width_pct": 0.735
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T12-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T12:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5117.74,
      "stop": 5122.827,
      "target": 5107.565,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 24.2,
        "bb_width_pct": 0.735
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T12-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T12:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5118.3,
      "stop": 5123.156,
      "target": 5108.588,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 24.08,
        "bb_width_pct": 0.738
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T13-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T13:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5114.6,
      "stop": 5121.413,
      "target": 5100.975,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.3,
        "bb_width_pct": 0.711
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T13-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T13:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5114.6,
      "stop": 5116.801,
      "target": 5110.198,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.3,
        "bb_width_pct": 0.711
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T13-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5106.8,
      "stop": 5103.766,
      "target": 5112.868,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.95,
        "bb_width_pct": 0.36
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T13-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5106.8,
      "stop": 5105.384,
      "target": 5109.633,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.95,
        "bb_width_pct": 0.36
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T13-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T13:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5112.29,
      "stop": 5112.052,
      "target": 5112.766,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.38,
        "bb_width_pct": 0.359
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T13-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5110.975,
      "stop": 5115.975,
      "target": 5100.975,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.22,
        "bb_width_pct": 0.358
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T14-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5105.805,
      "stop": 5102.617,
      "target": 5112.182,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.08,
        "bb_width_pct": 0.405
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T14-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5105.805,
      "stop": 5104.298,
      "target": 5108.82,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.08,
        "bb_width_pct": 0.405
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T14-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T14:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5100.45,
      "stop": 5094.916,
      "target": 5111.519,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.78,
        "bb_width_pct": 0.45
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T14-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T14:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5091.06,
      "stop": 5082.554,
      "target": 5108.073,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.38,
        "bb_width_pct": 0.731
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T14-20-00Z_long_rsi_range_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T14:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5091.06,
      "stop": 5082.554,
      "target": 5108.073,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.38,
        "bb_width_pct": 0.731
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T14-20-00Z_long_vwap_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T14:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5091.06,
      "stop": 5081.989,
      "target": 5109.201,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.38,
        "bb_width_pct": 0.731
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T14-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T14:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5091.06,
      "stop": 5085.389,
      "target": 5102.403,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 18.38,
        "bb_width_pct": 0.731
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T14-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T14:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5091.06,
      "stop": 5084.852,
      "target": 5103.475,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.38,
        "bb_width_pct": 0.731
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T14-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T14:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5089.265,
      "stop": 5080.664,
      "target": 5106.468,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.75,
        "bb_width_pct": 0.757
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T14-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5090.145,
      "stop": 5082.673,
      "target": 5105.088,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.41,
        "bb_width_pct": 0.777
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T14-30-00Z_long_rsi_range_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5090.145,
      "stop": 5082.673,
      "target": 5105.088,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.41,
        "bb_width_pct": 0.777
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T14-30-00Z_long_vwap_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5090.145,
      "stop": 5081.268,
      "target": 5107.899,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.41,
        "bb_width_pct": 0.777
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T14-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5090.145,
      "stop": 5084.016,
      "target": 5102.403,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.41,
        "bb_width_pct": 0.777
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T14-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5090.145,
      "stop": 5084.727,
      "target": 5100.981,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.41,
        "bb_width_pct": 0.777
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T14-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T14:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5079.495,
      "stop": 5068.603,
      "target": 5101.279,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.26,
        "bb_width_pct": 0.858
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T16-20-00Z_long_rsi_range_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T16:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5039.36,
      "stop": 5033.73,
      "target": 5050.62,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.24,
        "bb_width_pct": 1.145
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T16-20-00Z_long_vwap_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T16:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5039.36,
      "stop": 5016.292,
      "target": 5085.496,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.24,
        "bb_width_pct": 1.145
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T16-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T16:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5039.36,
      "stop": 5023.924,
      "target": 5070.233,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 13.24,
        "bb_width_pct": 1.145
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T16-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T16:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5039.36,
      "stop": 5033.316,
      "target": 5051.448,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.24,
        "bb_width_pct": 1.145
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T16-25-00Z_long_vwap_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T16:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5041.0,
      "stop": 5019.183,
      "target": 5084.633,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.58,
        "bb_width_pct": 1.041
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T16-30-00Z_long_vwap_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T16:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5044.405,
      "stop": 5024.654,
      "target": 5083.908,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.82,
        "bb_width_pct": 1.004
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T16-35-00Z_long_vwap_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5045.37,
      "stop": 5026.425,
      "target": 5083.26,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.3,
        "bb_width_pct": 1.0
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T16-50-00Z_long_vwap_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T16:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5049.32,
      "stop": 5033.301,
      "target": 5081.358,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.17,
        "bb_width_pct": 0.86
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T17-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T17:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5055.03,
      "stop": 5060.741,
      "target": 5043.608,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.57,
        "bb_width_pct": 0.676
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T17-20-00Z_short_rsi_range_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T17:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5055.03,
      "stop": 5060.741,
      "target": 5043.608,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 22.57,
        "bb_width_pct": 0.676
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T17-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T17:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5059.61,
      "stop": 5063.077,
      "target": 5052.676,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.16,
        "bb_width_pct": 0.756
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T18-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T18:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5040.64,
      "stop": 5035.995,
      "target": 5049.931,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.06,
        "bb_width_pct": 0.483
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T18-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T18:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5040.64,
      "stop": 5036.735,
      "target": 5048.451,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.06,
        "bb_width_pct": 0.483
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T18-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T18:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5041.91,
      "stop": 5037.943,
      "target": 5049.843,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.58,
        "bb_width_pct": 0.491
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T18-25-00Z_long_rsi_range_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T18:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5041.91,
      "stop": 5037.943,
      "target": 5049.843,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.58,
        "bb_width_pct": 0.491
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T18-25-00Z_long_vwap_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T18:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5041.91,
      "stop": 5037.816,
      "target": 5050.099,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.58,
        "bb_width_pct": 0.491
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T18-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T18:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5041.91,
      "stop": 5038.951,
      "target": 5047.828,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.58,
        "bb_width_pct": 0.491
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T18-40-00Z_long_rsi_range_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T18:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5044.295,
      "stop": 5041.739,
      "target": 5049.407,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.08,
        "bb_width_pct": 0.512
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T19-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T19:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5039.995,
      "stop": 5037.128,
      "target": 5045.73,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.45,
        "bb_width_pct": 0.354
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T19-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T19:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5039.995,
      "stop": 5037.226,
      "target": 5045.533,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.45,
        "bb_width_pct": 0.354
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T19-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T19:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5036.35,
      "stop": 5032.196,
      "target": 5044.659,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.19,
        "bb_width_pct": 0.29
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T19-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T19:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5040.595,
      "stop": 5038.935,
      "target": 5043.915,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.52,
        "bb_width_pct": 0.246
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T19-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T19:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5035.275,
      "stop": 5031.205,
      "target": 5043.415,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.14,
        "bb_width_pct": 0.283
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T20-00-00Z_long_rsi_range_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T20:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5020.425,
      "stop": 5012.948,
      "target": 5035.38,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.73,
        "bb_width_pct": 0.843
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T20-00-00Z_long_vwap_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T20:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5020.425,
      "stop": 5009.393,
      "target": 5042.489,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.73,
        "bb_width_pct": 0.843
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T20-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T20:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5020.425,
      "stop": 5012.181,
      "target": 5036.913,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 26.73,
        "bb_width_pct": 0.843
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T20-10-00Z_long_rsi_range_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T20:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5016.855,
      "stop": 5008.938,
      "target": 5032.69,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.74,
        "bb_width_pct": 0.916
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T20-10-00Z_long_vwap_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T20:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5016.855,
      "stop": 5004.699,
      "target": 5041.167,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.74,
        "bb_width_pct": 0.916
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T20-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T20:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5016.855,
      "stop": 5006.826,
      "target": 5036.913,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 25.74,
        "bb_width_pct": 0.916
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T20-30-00Z_long_rsi_range_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T20:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5015.64,
      "stop": 5009.945,
      "target": 5027.029,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.28,
        "bb_width_pct": 0.945
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T20-30-00Z_long_vwap_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T20:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5015.64,
      "stop": 5004.066,
      "target": 5038.788,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.28,
        "bb_width_pct": 0.945
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T20-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T20:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5015.64,
      "stop": 5005.004,
      "target": 5036.913,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 21.28,
        "bb_width_pct": 0.945
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T20-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T20:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5015.64,
      "stop": 5011.097,
      "target": 5024.725,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.28,
        "bb_width_pct": 0.945
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T20-35-00Z_long_rsi_range_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T20:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5018.965,
      "stop": 5015.625,
      "target": 5025.645,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.29,
        "bb_width_pct": 0.883
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T20-35-00Z_long_vwap_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T20:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5018.965,
      "stop": 5009.289,
      "target": 5038.317,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.29,
        "bb_width_pct": 0.883
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T20-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T20:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5018.965,
      "stop": 5009.991,
      "target": 5036.913,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.29,
        "bb_width_pct": 0.883
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T20-40-00Z_long_vwap_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5024.72,
      "stop": 5018.099,
      "target": 5037.962,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.33,
        "bb_width_pct": 0.787
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T20-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5024.72,
      "stop": 5018.624,
      "target": 5036.913,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.33,
        "bb_width_pct": 0.787
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T20-50-00Z_long_vwap_mean_reversion",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T20:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5021.75,
      "stop": 5014.014,
      "target": 5037.222,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.49,
        "bb_width_pct": 0.639
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-13T20-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T20:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5021.75,
      "stop": 5014.169,
      "target": 5036.913,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.49,
        "bb_width_pct": 0.639
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-15T22-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-15",
      "timestamp": "2026-03-15T22:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5015.76,
      "stop": 5007.331,
      "target": 5032.618,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.24,
        "bb_width_pct": 0.48
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-15T22-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-15",
      "timestamp": "2026-03-15T22:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5025.095,
      "stop": 5027.737,
      "target": 5019.81,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.51,
        "bb_width_pct": 0.406
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-15T22-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-15",
      "timestamp": "2026-03-15T22:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5025.095,
      "stop": 5022.236,
      "target": 5030.812,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.51,
        "bb_width_pct": 0.406
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-15T22-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-15",
      "timestamp": "2026-03-15T22:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5009.7,
      "stop": 5005.784,
      "target": 5017.532,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.87,
        "bb_width_pct": 0.338
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-15T22-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-15",
      "timestamp": "2026-03-15T22:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5009.7,
      "stop": 4999.765,
      "target": 5029.57,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.87,
        "bb_width_pct": 0.338
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-15T22-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-15",
      "timestamp": "2026-03-15T22:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5009.7,
      "stop": 5004.353,
      "target": 5020.395,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.87,
        "bb_width_pct": 0.338
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-15T22-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-15",
      "timestamp": "2026-03-15T22:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5013.695,
      "stop": 5011.827,
      "target": 5017.43,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.59,
        "bb_width_pct": 0.343
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-15T22-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-15",
      "timestamp": "2026-03-15T22:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5013.695,
      "stop": 5007.824,
      "target": 5025.438,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.59,
        "bb_width_pct": 0.343
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-15T22-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-15",
      "timestamp": "2026-03-15T22:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5013.695,
      "stop": 5010.664,
      "target": 5019.757,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.59,
        "bb_width_pct": 0.343
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-15T23-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-15",
      "timestamp": "2026-03-15T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5006.06,
      "stop": 5000.456,
      "target": 5017.268,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.43,
        "bb_width_pct": 0.448
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-15T23-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-15",
      "timestamp": "2026-03-15T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5007.21,
      "stop": 5002.354,
      "target": 5016.923,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.48,
        "bb_width_pct": 0.479
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-15T23-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-15",
      "timestamp": "2026-03-15T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5007.21,
      "stop": 4998.096,
      "target": 5025.438,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.48,
        "bb_width_pct": 0.479
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-15T23-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-15",
      "timestamp": "2026-03-15T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5007.21,
      "stop": 5002.324,
      "target": 5016.983,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.48,
        "bb_width_pct": 0.479
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-15T23-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-15",
      "timestamp": "2026-03-15T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5007.055,
      "stop": 4997.864,
      "target": 5025.438,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 13.3,
        "bb_width_pct": 0.508
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-15T23-25-00Z_long_vwap_mean_reversion",
      "date": "2026-03-15",
      "timestamp": "2026-03-15T23:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4989.62,
      "stop": 4978.77,
      "target": 5011.319,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.76,
        "bb_width_pct": 0.849
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-15T23-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-15",
      "timestamp": "2026-03-15T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4986.24,
      "stop": 4975.11,
      "target": 5008.501,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.46,
        "bb_width_pct": 1.046
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-15T23-35-00Z_long_vwap_mean_reversion",
      "date": "2026-03-15",
      "timestamp": "2026-03-15T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4986.24,
      "stop": 4975.01,
      "target": 5008.699,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.46,
        "bb_width_pct": 1.046
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-15T23-50-00Z_long_vwap_mean_reversion",
      "date": "2026-03-15",
      "timestamp": "2026-03-15T23:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4985.98,
      "stop": 4976.414,
      "target": 5005.112,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.12,
        "bb_width_pct": 1.187
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-15T23-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-15",
      "timestamp": "2026-03-15T23:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4985.98,
      "stop": 4978.455,
      "target": 5001.03,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 22.12,
        "bb_width_pct": 1.187
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-15T23-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-15",
      "timestamp": "2026-03-15T23:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4985.98,
      "stop": 4979.452,
      "target": 4999.036,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.12,
        "bb_width_pct": 1.187
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T01-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4989.765,
      "stop": 4977.827,
      "target": 5013.641,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.15,
        "bb_width_pct": 1.139
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T01-30-00Z_long_vwap_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4989.765,
      "stop": 4977.414,
      "target": 5014.467,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.15,
        "bb_width_pct": 1.139
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T01-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4989.765,
      "stop": 4981.227,
      "target": 5006.841,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.15,
        "bb_width_pct": 1.139
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T01-35-00Z_long_vwap_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T01:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4997.065,
      "stop": 4988.889,
      "target": 5013.416,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.3,
        "bb_width_pct": 1.142
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T01-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T01:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4997.065,
      "stop": 4992.642,
      "target": 5005.91,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.3,
        "bb_width_pct": 1.142
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T02-20-00Z_short_rsi_range_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T02:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5012.82,
      "stop": 5014.888,
      "target": 5008.685,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 8.45,
        "bb_width_pct": 0.958
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T02-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5001.175,
      "stop": 4997.515,
      "target": 5008.494,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.18,
        "bb_width_pct": 0.753
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T02-50-00Z_long_vwap_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T02:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5002.74,
      "stop": 4998.267,
      "target": 5011.686,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.57,
        "bb_width_pct": 0.675
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T02-55-00Z_long_vwap_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T02:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5003.67,
      "stop": 4999.771,
      "target": 5011.469,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.49,
        "bb_width_pct": 0.672
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T03-15-00Z_long_rsi_range_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5000.545,
      "stop": 4996.963,
      "target": 5007.709,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.95,
        "bb_width_pct": 0.458
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T03-15-00Z_long_vwap_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5000.545,
      "stop": 4995.551,
      "target": 5010.533,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.95,
        "bb_width_pct": 0.458
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T03-55-00Z_short_rsi_range_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T03:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5019.165,
      "stop": 5024.289,
      "target": 5008.916,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 23.91,
        "bb_width_pct": 0.545
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T03-55-00Z_short_vwap_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T03:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5019.165,
      "stop": 5023.195,
      "target": 5011.105,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 23.91,
        "bb_width_pct": 0.545
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T04-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T04:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5021.54,
      "stop": 5024.031,
      "target": 5016.558,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 27.74,
        "bb_width_pct": 0.712
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T04-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T04:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5022.335,
      "stop": 5024.949,
      "target": 5017.108,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.22,
        "bb_width_pct": 0.699
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T04-35-00Z_short_vwap_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5018.85,
      "stop": 5021.899,
      "target": 5012.753,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.8,
        "bb_width_pct": 0.673
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T04-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5018.85,
      "stop": 5025.98,
      "target": 5004.59,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.8,
        "bb_width_pct": 0.673
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T05-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5010.29,
      "stop": 5006.252,
      "target": 5018.366,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.52,
        "bb_width_pct": 0.341
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T05-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5010.29,
      "stop": 5007.885,
      "target": 5015.1,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.52,
        "bb_width_pct": 0.341
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T05-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5012.04,
      "stop": 5009.054,
      "target": 5018.013,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.09,
        "bb_width_pct": 0.357
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T05-20-00Z_long_rsi_range_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5012.04,
      "stop": 5009.054,
      "target": 5018.013,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.09,
        "bb_width_pct": 0.357
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T05-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5012.04,
      "stop": 5010.656,
      "target": 5014.809,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.09,
        "bb_width_pct": 0.357
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T05-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5012.38,
      "stop": 5010.335,
      "target": 5016.469,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.85,
        "bb_width_pct": 0.443
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T05-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5012.38,
      "stop": 5011.88,
      "target": 5013.381,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.85,
        "bb_width_pct": 0.443
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T06-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T06:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5027.97,
      "stop": 5033.692,
      "target": 5016.526,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.06,
        "bb_width_pct": 0.533
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T06-20-00Z_short_vwap_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T06:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5027.97,
      "stop": 5035.091,
      "target": 5013.729,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 21.06,
        "bb_width_pct": 0.533
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T06-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T06:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5027.97,
      "stop": 5033.4,
      "target": 5017.11,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 21.06,
        "bb_width_pct": 0.533
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T06-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T06:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5027.97,
      "stop": 5032.315,
      "target": 5019.28,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.06,
        "bb_width_pct": 0.533
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T06-25-00Z_short_vwap_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T06:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5027.8,
      "stop": 5034.744,
      "target": 5013.912,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 18.83,
        "bb_width_pct": 0.566
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T06-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T06:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5027.8,
      "stop": 5033.145,
      "target": 5017.11,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.83,
        "bb_width_pct": 0.566
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T06-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T06:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5027.8,
      "stop": 5031.654,
      "target": 5020.091,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.83,
        "bb_width_pct": 0.566
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T06-30-00Z_short_vwap_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5024.86,
      "stop": 5030.255,
      "target": 5014.07,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 16.14,
        "bb_width_pct": 0.58
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T06-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5024.86,
      "stop": 5027.017,
      "target": 5020.545,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.14,
        "bb_width_pct": 0.58
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T06-40-00Z_short_rsi_range_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T06:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5022.5,
      "stop": 5024.391,
      "target": 5018.718,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 12.51,
        "bb_width_pct": 0.587
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T06-40-00Z_short_vwap_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T06:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5022.5,
      "stop": 5026.589,
      "target": 5014.321,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.51,
        "bb_width_pct": 0.587
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T06-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T06:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5012.94,
      "stop": 5009.221,
      "target": 5020.377,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.1,
        "bb_width_pct": 0.587
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T06-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T06:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5012.3,
      "stop": 5009.108,
      "target": 5018.684,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.55,
        "bb_width_pct": 0.592
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T07-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T07:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5007.2,
      "stop": 5001.258,
      "target": 5019.083,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.52,
        "bb_width_pct": 0.557
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T07-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T07:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5007.2,
      "stop": 5002.619,
      "target": 5016.362,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.52,
        "bb_width_pct": 0.557
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T07-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T07:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5002.455,
      "stop": 4994.806,
      "target": 5017.753,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 27.14,
        "bb_width_pct": 0.677
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T07-30-00Z_long_rsi_range_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5004.725,
      "stop": 4998.597,
      "target": 5016.982,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.03,
        "bb_width_pct": 0.711
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T07-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5004.725,
      "stop": 4998.45,
      "target": 5017.275,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 25.03,
        "bb_width_pct": 0.711
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T07-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5004.725,
      "stop": 5000.555,
      "target": 5013.065,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.03,
        "bb_width_pct": 0.711
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T07-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T07:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4998.545,
      "stop": 4989.803,
      "target": 5016.03,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.15,
        "bb_width_pct": 0.78
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T07-45-00Z_long_rsi_range_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T07:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4996.585,
      "stop": 4988.093,
      "target": 5013.57,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.35,
        "bb_width_pct": 0.923
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T07-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T07:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4996.585,
      "stop": 4987.901,
      "target": 5013.953,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 24.35,
        "bb_width_pct": 0.923
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T07-55-00Z_long_rsi_range_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T07:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4995.615,
      "stop": 4988.426,
      "target": 5009.993,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.17,
        "bb_width_pct": 0.9
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T07-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T07:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4995.615,
      "stop": 4986.446,
      "target": 5013.953,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.17,
        "bb_width_pct": 0.9
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T07-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T07:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4995.615,
      "stop": 4990.37,
      "target": 5006.104,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.17,
        "bb_width_pct": 0.9
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T08-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4997.0,
      "stop": 4988.524,
      "target": 5013.953,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.71,
        "bb_width_pct": 0.863
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T08-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4997.0,
      "stop": 4992.881,
      "target": 5005.237,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.71,
        "bb_width_pct": 0.863
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T08-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T08:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4996.705,
      "stop": 4992.845,
      "target": 5004.425,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.45,
        "bb_width_pct": 0.809
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T08-15-00Z_long_rsi_range_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T08:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4990.595,
      "stop": 4984.216,
      "target": 5003.353,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.11,
        "bb_width_pct": 0.74
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T08-15-00Z_long_vwap_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T08:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4990.595,
      "stop": 4985.433,
      "target": 5000.919,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.11,
        "bb_width_pct": 0.74
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T08-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T08:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4990.595,
      "stop": 4979.703,
      "target": 5012.38,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 19.11,
        "bb_width_pct": 0.74
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T08-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T08:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5001.99,
      "stop": 4996.969,
      "target": 5012.033,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.74,
        "bb_width_pct": 0.652
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T08-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4989.74,
      "stop": 4984.841,
      "target": 4999.538,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.38,
        "bb_width_pct": 0.616
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T08-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T08:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4987.42,
      "stop": 4981.938,
      "target": 4998.384,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.9,
        "bb_width_pct": 0.577
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T08-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T08:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4993.0,
      "stop": 4984.219,
      "target": 5010.562,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.18,
        "bb_width_pct": 0.489
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T08-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T08:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4993.0,
      "stop": 4990.564,
      "target": 4997.871,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.18,
        "bb_width_pct": 0.489
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T08-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T08:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4995.64,
      "stop": 4988.179,
      "target": 5010.562,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.89,
        "bb_width_pct": 0.427
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T09-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4986.03,
      "stop": 4981.714,
      "target": 4994.662,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.92,
        "bb_width_pct": 0.389
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T09-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4986.03,
      "stop": 4981.043,
      "target": 4996.004,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.92,
        "bb_width_pct": 0.389
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T09-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T09:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4984.54,
      "stop": 4979.927,
      "target": 4993.766,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.4,
        "bb_width_pct": 0.4
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T09-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T09:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4984.54,
      "stop": 4979.354,
      "target": 4994.912,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.4,
        "bb_width_pct": 0.4
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T09-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T09:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4985.545,
      "stop": 4981.914,
      "target": 4992.807,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.53,
        "bb_width_pct": 0.37
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T09-10-00Z_long_vwap_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T09:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4985.545,
      "stop": 4979.822,
      "target": 4996.991,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.53,
        "bb_width_pct": 0.37
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T09-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T09:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4985.545,
      "stop": 4974.326,
      "target": 5007.983,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.53,
        "bb_width_pct": 0.37
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T09-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T09:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4987.93,
      "stop": 4977.904,
      "target": 5007.983,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.07,
        "bb_width_pct": 0.364
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T09-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T09:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4989.25,
      "stop": 4979.884,
      "target": 5007.983,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 13.19,
        "bb_width_pct": 0.37
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T09-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T09:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4980.36,
      "stop": 4975.951,
      "target": 4989.178,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.0,
        "bb_width_pct": 0.41
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T09-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T09:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4980.36,
      "stop": 4975.818,
      "target": 4989.445,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.0,
        "bb_width_pct": 0.41
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T09-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T09:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4975.565,
      "stop": 4969.434,
      "target": 4987.827,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.14,
        "bb_width_pct": 0.513
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T10-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T10:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4974.52,
      "stop": 4968.553,
      "target": 4986.453,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.57,
        "bb_width_pct": 0.493
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T10-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T10:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4979.86,
      "stop": 4976.997,
      "target": 4985.585,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.77,
        "bb_width_pct": 0.464
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T10-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T10:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4979.86,
      "stop": 4973.085,
      "target": 4993.41,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.77,
        "bb_width_pct": 0.464
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T10-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T10:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4979.86,
      "stop": 4977.145,
      "target": 4985.289,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.77,
        "bb_width_pct": 0.464
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T10-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T10:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4979.505,
      "stop": 4972.552,
      "target": 4993.41,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.99,
        "bb_width_pct": 0.466
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T10-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T10:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4996.13,
      "stop": 5000.998,
      "target": 4986.393,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.33,
        "bb_width_pct": 0.465
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T11-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4996.41,
      "stop": 5002.153,
      "target": 4984.924,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 24.26,
        "bb_width_pct": 0.57
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T11-00-00Z_short_rsi_range_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4996.41,
      "stop": 5002.153,
      "target": 4984.924,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 24.26,
        "bb_width_pct": 0.57
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T11-00-00Z_short_vwap_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4996.41,
      "stop": 5001.686,
      "target": 4985.858,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 24.26,
        "bb_width_pct": 0.57
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T11-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4996.41,
      "stop": 5001.15,
      "target": 4986.93,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 24.26,
        "bb_width_pct": 0.57
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T11-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4996.41,
      "stop": 5000.4,
      "target": 4988.429,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 24.26,
        "bb_width_pct": 0.57
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T11-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T11:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5002.395,
      "stop": 5010.547,
      "target": 4986.091,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 26.63,
        "bb_width_pct": 0.683
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T12-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T12:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5013.745,
      "stop": 5018.381,
      "target": 5004.473,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.58,
        "bb_width_pct": 0.714
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T12-30-00Z_short_vwap_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T12:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5022.48,
      "stop": 5028.574,
      "target": 5010.292,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.08,
        "bb_width_pct": 0.739
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T12-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T12:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5022.48,
      "stop": 5034.929,
      "target": 4997.583,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.08,
        "bb_width_pct": 0.739
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T12-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T12:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5021.96,
      "stop": 5033.986,
      "target": 4997.907,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.12,
        "bb_width_pct": 0.729
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T12-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T12:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5021.96,
      "stop": 5027.699,
      "target": 5010.482,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.12,
        "bb_width_pct": 0.729
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T12-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T12:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5017.64,
      "stop": 5027.506,
      "target": 4997.907,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.82,
        "bb_width_pct": 0.695
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T13-00-00Z_short_rsi_range_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5015.665,
      "stop": 5016.625,
      "target": 5013.745,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 18.12,
        "bb_width_pct": 0.674
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T13-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5015.665,
      "stop": 5024.544,
      "target": 4997.907,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.12,
        "bb_width_pct": 0.674
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T13-20-00Z_short_rsi_range_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T13:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5026.61,
      "stop": 5032.418,
      "target": 5014.993,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 13.86,
        "bb_width_pct": 0.753
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T13-20-00Z_short_vwap_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T13:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5026.61,
      "stop": 5031.642,
      "target": 5016.545,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.86,
        "bb_width_pct": 0.753
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T13-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T13:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5026.61,
      "stop": 5038.975,
      "target": 5001.88,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.86,
        "bb_width_pct": 0.753
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T13-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T13:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5026.61,
      "stop": 5031.552,
      "target": 5016.726,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.86,
        "bb_width_pct": 0.753
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T13-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T13:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5021.205,
      "stop": 5030.401,
      "target": 5002.812,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.08,
        "bb_width_pct": 0.757
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T13-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T13:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5021.205,
      "stop": 5023.231,
      "target": 5017.153,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.08,
        "bb_width_pct": 0.757
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T13-35-00Z_short_vwap_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5027.545,
      "stop": 5032.341,
      "target": 5017.952,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.41,
        "bb_width_pct": 0.655
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T13-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5027.545,
      "stop": 5038.946,
      "target": 5004.743,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.41,
        "bb_width_pct": 0.655
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T13-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5027.545,
      "stop": 5031.75,
      "target": 5019.135,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.41,
        "bb_width_pct": 0.655
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T13-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5028.635,
      "stop": 5032.2,
      "target": 5021.506,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.5,
        "bb_width_pct": 0.483
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T13-45-00Z_short_vwap_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5028.635,
      "stop": 5033.472,
      "target": 5018.96,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.5,
        "bb_width_pct": 0.483
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T13-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5028.635,
      "stop": 5039.21,
      "target": 5007.485,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.5,
        "bb_width_pct": 0.483
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T13-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5028.635,
      "stop": 5032.395,
      "target": 5021.115,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.5,
        "bb_width_pct": 0.483
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T14-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5030.76,
      "stop": 5033.972,
      "target": 5024.337,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.15,
        "bb_width_pct": 0.362
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T14-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T14:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5032.87,
      "stop": 5036.887,
      "target": 5024.835,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.0,
        "bb_width_pct": 0.39
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T14-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T14:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5032.87,
      "stop": 5037.152,
      "target": 5024.306,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.0,
        "bb_width_pct": 0.39
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T14-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T14:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5028.185,
      "stop": 5029.717,
      "target": 5025.12,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.81,
        "bb_width_pct": 0.392
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T14-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T14:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5028.185,
      "stop": 5034.546,
      "target": 5015.462,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.81,
        "bb_width_pct": 0.392
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T14-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T14:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5028.185,
      "stop": 5029.94,
      "target": 5024.675,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.81,
        "bb_width_pct": 0.392
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T14-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T14:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5014.77,
      "stop": 5009.651,
      "target": 5025.008,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.34,
        "bb_width_pct": 0.412
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T14-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5011.01,
      "stop": 5005.381,
      "target": 5022.268,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.59,
        "bb_width_pct": 0.467
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T14-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T14:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4996.065,
      "stop": 4984.448,
      "target": 5019.299,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 27.74,
        "bb_width_pct": 1.0
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T14-55-00Z_long_rsi_range_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T14:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4996.065,
      "stop": 4984.448,
      "target": 5019.299,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 27.74,
        "bb_width_pct": 1.0
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T14-55-00Z_long_vwap_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T14:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4996.065,
      "stop": 4985.103,
      "target": 5017.989,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 27.74,
        "bb_width_pct": 1.0
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T14-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T14:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4996.065,
      "stop": 4987.539,
      "target": 5013.118,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 27.74,
        "bb_width_pct": 1.0
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T15-00-00Z_long_rsi_range_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T15:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4999.13,
      "stop": 4989.732,
      "target": 5017.926,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.11,
        "bb_width_pct": 1.049
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T15-00-00Z_long_vwap_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T15:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4999.13,
      "stop": 4989.97,
      "target": 5017.45,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.11,
        "bb_width_pct": 1.049
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T15-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T15:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4999.13,
      "stop": 4992.136,
      "target": 5013.118,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 25.11,
        "bb_width_pct": 1.049
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T15-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T15:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4999.13,
      "stop": 4992.752,
      "target": 5011.887,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.11,
        "bb_width_pct": 1.049
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T15-15-00Z_long_rsi_range_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T15:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5004.77,
      "stop": 5000.113,
      "target": 5014.085,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.29,
        "bb_width_pct": 1.117
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T15-15-00Z_long_vwap_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T15:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5004.77,
      "stop": 4999.147,
      "target": 5016.016,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.29,
        "bb_width_pct": 1.117
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T15-30-00Z_long_rsi_range_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T15:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4995.375,
      "stop": 4988.53,
      "target": 5009.064,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.66,
        "bb_width_pct": 1.083
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T15-30-00Z_long_vwap_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T15:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4995.375,
      "stop": 4985.736,
      "target": 5014.653,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.66,
        "bb_width_pct": 1.083
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T15-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T15:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4995.375,
      "stop": 4987.391,
      "target": 5011.343,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.66,
        "bb_width_pct": 1.083
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T15-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T15:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4995.375,
      "stop": 4990.269,
      "target": 5005.588,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.66,
        "bb_width_pct": 1.083
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T15-35-00Z_long_vwap_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T15:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5000.4,
      "stop": 4993.447,
      "target": 5014.306,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.58,
        "bb_width_pct": 1.022
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T15-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T15:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4987.095,
      "stop": 4980.549,
      "target": 5000.186,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.73,
        "bb_width_pct": 0.65
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T16-00-00Z_long_vwap_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4988.56,
      "stop": 4976.81,
      "target": 5012.061,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.73,
        "bb_width_pct": 0.549
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T16-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4988.56,
      "stop": 4977.331,
      "target": 5011.017,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.73,
        "bb_width_pct": 0.549
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T16-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4988.56,
      "stop": 4983.09,
      "target": 4999.5,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.73,
        "bb_width_pct": 0.549
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T16-05-00Z_long_vwap_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T16:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4992.805,
      "stop": 4983.372,
      "target": 5011.671,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.73,
        "bb_width_pct": 0.469
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T16-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T16:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4992.805,
      "stop": 4983.699,
      "target": 5011.017,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.73,
        "bb_width_pct": 0.469
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T16-10-00Z_long_vwap_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T16:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4996.5,
      "stop": 4989.068,
      "target": 5011.364,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.79,
        "bb_width_pct": 0.398
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T16-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4984.015,
      "stop": 4979.615,
      "target": 4992.815,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.17,
        "bb_width_pct": 0.569
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T16-35-00Z_long_vwap_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4984.015,
      "stop": 4971.51,
      "target": 5009.024,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.17,
        "bb_width_pct": 0.569
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T16-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4984.015,
      "stop": 4972.506,
      "target": 5007.033,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 11.17,
        "bb_width_pct": 0.569
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T16-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4984.015,
      "stop": 4979.646,
      "target": 4992.753,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.17,
        "bb_width_pct": 0.569
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T16-40-00Z_long_vwap_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T16:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4987.115,
      "stop": 4976.356,
      "target": 5008.634,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.91,
        "bb_width_pct": 0.565
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T16-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T16:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4987.115,
      "stop": 4977.577,
      "target": 5006.19,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.91,
        "bb_width_pct": 0.565
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T16-45-00Z_long_vwap_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4989.805,
      "stop": 4980.57,
      "target": 5008.276,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.92,
        "bb_width_pct": 0.558
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T16-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4989.805,
      "stop": 4981.613,
      "target": 5006.19,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.92,
        "bb_width_pct": 0.558
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T16-50-00Z_long_vwap_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T16:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4992.22,
      "stop": 4984.334,
      "target": 5007.993,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.12,
        "bb_width_pct": 0.545
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T17-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T17:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5002.095,
      "stop": 5007.645,
      "target": 4990.995,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.04,
        "bb_width_pct": 0.499
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T17-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T17:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5002.095,
      "stop": 5006.445,
      "target": 4993.394,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.04,
        "bb_width_pct": 0.499
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T17-40-00Z_long_vwap_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T17:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4987.805,
      "stop": 4984.184,
      "target": 4995.047,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.78,
        "bb_width_pct": 0.51
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T19-10-00Z_short_rsi_range_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T19:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5011.9,
      "stop": 5016.371,
      "target": 5002.958,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 15.09,
        "bb_width_pct": 0.876
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T19-10-00Z_short_vwap_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T19:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5011.9,
      "stop": 5017.201,
      "target": 5001.298,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.09,
        "bb_width_pct": 0.876
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T19-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T19:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5011.9,
      "stop": 5019.815,
      "target": 4996.07,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.09,
        "bb_width_pct": 0.876
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T19-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T19:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5011.9,
      "stop": 5014.679,
      "target": 5006.343,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.09,
        "bb_width_pct": 0.876
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T19-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T19:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5012.645,
      "stop": 5015.496,
      "target": 5006.943,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.36,
        "bb_width_pct": 0.837
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T19-25-00Z_short_rsi_range_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T19:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5010.555,
      "stop": 5012.468,
      "target": 5006.73,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 15.05,
        "bb_width_pct": 0.711
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T19-25-00Z_short_vwap_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T19:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5010.555,
      "stop": 5014.627,
      "target": 5002.41,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.05,
        "bb_width_pct": 0.711
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T19-30-00Z_short_vwap_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T19:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5009.53,
      "stop": 5012.971,
      "target": 5002.648,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.2,
        "bb_width_pct": 0.626
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T19-40-00Z_short_vwap_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T19:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5010.355,
      "stop": 5013.927,
      "target": 5003.212,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.4,
        "bb_width_pct": 0.471
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T19-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T19:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5010.355,
      "stop": 5016.857,
      "target": 4997.35,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.4,
        "bb_width_pct": 0.471
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T19-55-00Z_short_vwap_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T19:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5013.085,
      "stop": 5017.633,
      "target": 5003.988,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 1.77,
        "bb_width_pct": 0.294
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T19-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T19:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5013.085,
      "stop": 5018.715,
      "target": 5001.825,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.77,
        "bb_width_pct": 0.294
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T20-00-00Z_short_vwap_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T20:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5011.26,
      "stop": 5014.798,
      "target": 5004.185,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.34,
        "bb_width_pct": 0.186
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T20-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T20:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5018.82,
      "stop": 5022.871,
      "target": 5010.719,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.32,
        "bb_width_pct": 0.183
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T20-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T20:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5017.09,
      "stop": 5018.941,
      "target": 5013.388,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.44,
        "bb_width_pct": 0.191
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T20-10-00Z_short_vwap_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T20:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5017.09,
      "stop": 5023.194,
      "target": 5004.882,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.44,
        "bb_width_pct": 0.191
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T20-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T20:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5017.09,
      "stop": 5024.441,
      "target": 5002.388,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.44,
        "bb_width_pct": 0.191
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T20-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T20:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5017.09,
      "stop": 5019.972,
      "target": 5011.325,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.44,
        "bb_width_pct": 0.191
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T20-15-00Z_short_vwap_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T20:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5015.175,
      "stop": 5020.183,
      "target": 5005.16,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.59,
        "bb_width_pct": 0.193
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T20-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T20:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5015.175,
      "stop": 5021.3,
      "target": 5002.925,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.59,
        "bb_width_pct": 0.193
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T20-25-00Z_short_vwap_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T20:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5014.375,
      "stop": 5018.734,
      "target": 5005.657,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.55,
        "bb_width_pct": 0.195
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T20-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T20:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5014.375,
      "stop": 5020.1,
      "target": 5002.925,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.55,
        "bb_width_pct": 0.195
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T20-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T20:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5006.475,
      "stop": 5003.57,
      "target": 5012.286,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.61,
        "bb_width_pct": 0.237
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T20-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T20:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5006.565,
      "stop": 5003.857,
      "target": 5011.982,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.99,
        "bb_width_pct": 0.257
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T22-05-00Z_short_vwap_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T22:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5006.545,
      "stop": 5010.78,
      "target": 4998.076,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.66,
        "bb_width_pct": 0.273
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T22-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T22:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5006.545,
      "stop": 5008.355,
      "target": 5002.925,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.66,
        "bb_width_pct": 0.273
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T22-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T22:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5004.065,
      "stop": 5000.385,
      "target": 5011.426,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.12,
        "bb_width_pct": 0.301
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T22-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T22:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5004.065,
      "stop": 5001.274,
      "target": 5009.648,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.12,
        "bb_width_pct": 0.301
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T22-15-00Z_long_rsi_range_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T22:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5006.565,
      "stop": 5004.301,
      "target": 5011.092,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.01,
        "bb_width_pct": 0.311
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T22-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T22:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5001.965,
      "stop": 4997.888,
      "target": 5010.118,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.27,
        "bb_width_pct": 0.395
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T22-25-00Z_long_rsi_range_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T22:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5001.965,
      "stop": 4997.888,
      "target": 5010.118,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.27,
        "bb_width_pct": 0.395
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T22-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T22:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5001.965,
      "stop": 4998.16,
      "target": 5009.575,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 23.27,
        "bb_width_pct": 0.395
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T22-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T22:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5001.965,
      "stop": 4999.022,
      "target": 5007.851,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.27,
        "bb_width_pct": 0.395
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T22-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T22:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5003.955,
      "stop": 5001.124,
      "target": 5009.617,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.93,
        "bb_width_pct": 0.402
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T22-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T22:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5003.955,
      "stop": 5001.145,
      "target": 5009.575,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.93,
        "bb_width_pct": 0.402
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T22-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T22:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5003.955,
      "stop": 5002.193,
      "target": 5007.48,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.93,
        "bb_width_pct": 0.402
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T22-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T22:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5001.895,
      "stop": 4997.713,
      "target": 5010.26,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 11.95,
        "bb_width_pct": 0.435
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T22-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T22:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5005.835,
      "stop": 5003.622,
      "target": 5010.26,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.01,
        "bb_width_pct": 0.394
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T23-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5005.59,
      "stop": 5003.255,
      "target": 5010.26,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.5,
        "bb_width_pct": 0.291
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T23-15-00Z_short_vwap_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5006.165,
      "stop": 5009.185,
      "target": 5000.125,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.66,
        "bb_width_pct": 0.22
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T23-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5012.28,
      "stop": 5015.481,
      "target": 5005.878,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.33,
        "bb_width_pct": 0.279
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T23-35-00Z_short_rsi_range_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5012.28,
      "stop": 5015.481,
      "target": 5005.878,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 17.33,
        "bb_width_pct": 0.279
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T23-35-00Z_short_vwap_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5012.28,
      "stop": 5017.896,
      "target": 5001.049,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 17.33,
        "bb_width_pct": 0.279
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T23-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5012.28,
      "stop": 5014.636,
      "target": 5007.568,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.33,
        "bb_width_pct": 0.279
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T23-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5008.85,
      "stop": 5010.393,
      "target": 5005.764,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.89,
        "bb_width_pct": 0.268
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T23-40-00Z_short_vwap_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5008.85,
      "stop": 5012.642,
      "target": 5001.265,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.89,
        "bb_width_pct": 0.268
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T23-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5008.85,
      "stop": 5009.43,
      "target": 5007.691,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.89,
        "bb_width_pct": 0.268
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T23-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T23:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5014.02,
      "stop": 5017.802,
      "target": 5006.456,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.67,
        "bb_width_pct": 0.31
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T23-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T23:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5012.93,
      "stop": 5016.008,
      "target": 5006.775,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.01,
        "bb_width_pct": 0.33
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T23-55-00Z_short_vwap_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T23:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5012.93,
      "stop": 5018.43,
      "target": 5001.93,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 18.01,
        "bb_width_pct": 0.33
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-16T23-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T23:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5012.93,
      "stop": 5014.92,
      "target": 5008.949,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.01,
        "bb_width_pct": 0.33
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T00-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T00:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5003.76,
      "stop": 5001.784,
      "target": 5007.712,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.39,
        "bb_width_pct": 0.263
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T00-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T00:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5001.805,
      "stop": 4998.974,
      "target": 5007.466,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.47,
        "bb_width_pct": 0.285
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T00-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T00:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5001.805,
      "stop": 4999.636,
      "target": 5006.144,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.47,
        "bb_width_pct": 0.285
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T00-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T00:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5004.445,
      "stop": 5003.118,
      "target": 5007.099,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.21,
        "bb_width_pct": 0.313
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T00-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T00:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5004.445,
      "stop": 5003.049,
      "target": 5007.238,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.21,
        "bb_width_pct": 0.313
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T01-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5003.13,
      "stop": 5001.347,
      "target": 5006.696,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.99,
        "bb_width_pct": 0.327
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T01-00-00Z_long_rsi_range_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5003.13,
      "stop": 5001.347,
      "target": 5006.696,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.99,
        "bb_width_pct": 0.327
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T01-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5003.13,
      "stop": 5001.076,
      "target": 5007.238,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 11.99,
        "bb_width_pct": 0.327
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T01-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5003.13,
      "stop": 5002.168,
      "target": 5005.053,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.99,
        "bb_width_pct": 0.327
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T01-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T01:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5008.63,
      "stop": 5009.765,
      "target": 5006.36,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.39,
        "bb_width_pct": 0.296
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T01-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T01:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5008.63,
      "stop": 5010.165,
      "target": 5005.56,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.39,
        "bb_width_pct": 0.296
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T01-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T01:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5013.49,
      "stop": 5016.975,
      "target": 5006.521,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.1,
        "bb_width_pct": 0.314
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T01-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5013.06,
      "stop": 5016.354,
      "target": 5006.472,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.55,
        "bb_width_pct": 0.307
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T01-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5013.06,
      "stop": 5016.954,
      "target": 5005.273,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.55,
        "bb_width_pct": 0.307
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T01-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5013.06,
      "stop": 5015.748,
      "target": 5007.684,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.55,
        "bb_width_pct": 0.307
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T01-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T01:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5016.655,
      "stop": 5020.713,
      "target": 5008.539,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.47,
        "bb_width_pct": 0.338
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T01-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T01:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5018.025,
      "stop": 5022.316,
      "target": 5009.442,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.01,
        "bb_width_pct": 0.391
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T02-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T02:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5023.545,
      "stop": 5029.852,
      "target": 5010.932,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 25.42,
        "bb_width_pct": 0.67
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T02-00-00Z_short_rsi_range_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T02:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5023.545,
      "stop": 5029.852,
      "target": 5010.932,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 25.42,
        "bb_width_pct": 0.67
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T02-00-00Z_short_vwap_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T02:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5023.545,
      "stop": 5030.318,
      "target": 5010.0,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 25.42,
        "bb_width_pct": 0.67
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T02-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T02:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5023.545,
      "stop": 5029.535,
      "target": 5011.565,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 25.42,
        "bb_width_pct": 0.67
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T02-05-00Z_short_rsi_range_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T02:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5022.555,
      "stop": 5027.897,
      "target": 5011.872,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 23.76,
        "bb_width_pct": 0.685
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T02-05-00Z_short_vwap_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T02:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5022.555,
      "stop": 5028.572,
      "target": 5010.521,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 23.76,
        "bb_width_pct": 0.685
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T02-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T02:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5022.555,
      "stop": 5027.604,
      "target": 5012.458,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 23.76,
        "bb_width_pct": 0.685
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T02-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T02:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5022.555,
      "stop": 5026.227,
      "target": 5015.211,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 23.76,
        "bb_width_pct": 0.685
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T02-10-00Z_short_rsi_range_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T02:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5021.61,
      "stop": 5025.997,
      "target": 5012.837,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 16.73,
        "bb_width_pct": 0.682
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T02-10-00Z_short_vwap_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T02:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5021.61,
      "stop": 5026.936,
      "target": 5010.958,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 16.73,
        "bb_width_pct": 0.682
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T02-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T02:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5021.61,
      "stop": 5024.505,
      "target": 5015.821,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.73,
        "bb_width_pct": 0.682
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T02-15-00Z_short_rsi_range_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T02:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5021.19,
      "stop": 5024.922,
      "target": 5013.727,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 15.69,
        "bb_width_pct": 0.673
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T02-15-00Z_short_vwap_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T02:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5021.19,
      "stop": 5026.112,
      "target": 5011.347,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.69,
        "bb_width_pct": 0.673
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T02-30-00Z_short_rsi_range_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5024.12,
      "stop": 5027.691,
      "target": 5016.977,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 15.9,
        "bb_width_pct": 0.598
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T02-30-00Z_short_vwap_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5024.12,
      "stop": 5029.901,
      "target": 5012.558,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.9,
        "bb_width_pct": 0.598
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T02-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5024.12,
      "stop": 5029.951,
      "target": 5012.458,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.9,
        "bb_width_pct": 0.598
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T02-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5024.12,
      "stop": 5027.024,
      "target": 5018.312,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.9,
        "bb_width_pct": 0.598
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T02-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T02:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5025.395,
      "stop": 5028.599,
      "target": 5018.986,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.4,
        "bb_width_pct": 0.557
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T02-45-00Z_short_vwap_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5024.84,
      "stop": 5030.38,
      "target": 5013.76,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.16,
        "bb_width_pct": 0.49
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T02-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5024.84,
      "stop": 5031.031,
      "target": 5012.458,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.16,
        "bb_width_pct": 0.49
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T02-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5024.84,
      "stop": 5027.05,
      "target": 5020.419,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.16,
        "bb_width_pct": 0.49
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T02-55-00Z_short_vwap_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T02:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5022.815,
      "stop": 5027.043,
      "target": 5014.359,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.42,
        "bb_width_pct": 0.409
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T02-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T02:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5022.815,
      "stop": 5027.994,
      "target": 5012.458,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.42,
        "bb_width_pct": 0.409
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T03-05-00Z_short_vwap_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T03:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5022.36,
      "stop": 5026.118,
      "target": 5014.845,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 1.9,
        "bb_width_pct": 0.297
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T03-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T03:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5022.36,
      "stop": 5027.311,
      "target": 5012.458,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.9,
        "bb_width_pct": 0.297
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T03-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5030.01,
      "stop": 5032.314,
      "target": 5025.403,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.88,
        "bb_width_pct": 0.256
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T03-30-00Z_short_vwap_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5030.01,
      "stop": 5036.815,
      "target": 5016.4,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.88,
        "bb_width_pct": 0.256
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T03-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5030.01,
      "stop": 5038.0,
      "target": 5014.03,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.88,
        "bb_width_pct": 0.256
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T03-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5030.01,
      "stop": 5032.741,
      "target": 5024.549,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.88,
        "bb_width_pct": 0.256
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T03-35-00Z_short_vwap_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T03:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5027.975,
      "stop": 5033.619,
      "target": 5016.687,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.72,
        "bb_width_pct": 0.256
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T03-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T03:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5027.975,
      "stop": 5034.789,
      "target": 5014.347,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.72,
        "bb_width_pct": 0.256
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T03-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T03:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5027.975,
      "stop": 5029.525,
      "target": 5024.875,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.72,
        "bb_width_pct": 0.256
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T03-45-00Z_short_vwap_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T03:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5026.82,
      "stop": 5031.644,
      "target": 5017.171,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.32,
        "bb_width_pct": 0.254
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T03-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T03:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5026.82,
      "stop": 5033.056,
      "target": 5014.347,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.32,
        "bb_width_pct": 0.254
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T03-55-00Z_short_vwap_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T03:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5027.74,
      "stop": 5032.796,
      "target": 5017.627,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.16,
        "bb_width_pct": 0.229
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T03-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T03:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5027.74,
      "stop": 5034.436,
      "target": 5014.347,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.16,
        "bb_width_pct": 0.229
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T04-10-00Z_short_vwap_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T04:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5029.27,
      "stop": 5034.76,
      "target": 5018.29,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.7,
        "bb_width_pct": 0.216
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T04-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T04:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5029.27,
      "stop": 5036.731,
      "target": 5014.347,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.7,
        "bb_width_pct": 0.216
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T04-15-00Z_short_vwap_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T04:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5027.715,
      "stop": 5032.333,
      "target": 5018.478,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.95,
        "bb_width_pct": 0.213
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T04-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T04:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5027.715,
      "stop": 5034.399,
      "target": 5014.347,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.95,
        "bb_width_pct": 0.213
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T04-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T04:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5032.7,
      "stop": 5035.229,
      "target": 5027.643,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.39,
        "bb_width_pct": 0.227
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T04-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T04:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5033.35,
      "stop": 5035.92,
      "target": 5028.211,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.45,
        "bb_width_pct": 0.244
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T04-45-00Z_short_rsi_range_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5039.03,
      "stop": 5043.372,
      "target": 5030.345,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 21.4,
        "bb_width_pct": 0.31
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T04-45-00Z_short_vwap_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5039.03,
      "stop": 5048.496,
      "target": 5020.099,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 21.4,
        "bb_width_pct": 0.31
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T04-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5039.03,
      "stop": 5045.14,
      "target": 5026.81,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 21.4,
        "bb_width_pct": 0.31
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T04-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T04:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5037.89,
      "stop": 5041.29,
      "target": 5031.091,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.64,
        "bb_width_pct": 0.305
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T04-50-00Z_short_rsi_range_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T04:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5037.89,
      "stop": 5041.29,
      "target": 5031.091,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 21.64,
        "bb_width_pct": 0.305
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T04-50-00Z_short_vwap_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T04:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5037.89,
      "stop": 5046.624,
      "target": 5020.422,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 21.64,
        "bb_width_pct": 0.305
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T04-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T04:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5037.89,
      "stop": 5043.094,
      "target": 5027.483,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 21.64,
        "bb_width_pct": 0.305
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T04-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T04:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5038.05,
      "stop": 5041.261,
      "target": 5031.627,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.28,
        "bb_width_pct": 0.32
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T05-00-00Z_short_vwap_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5035.57,
      "stop": 5042.869,
      "target": 5020.972,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.11,
        "bb_width_pct": 0.326
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T05-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5035.57,
      "stop": 5038.601,
      "target": 5029.507,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.11,
        "bb_width_pct": 0.326
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T05-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5035.57,
      "stop": 5037.194,
      "target": 5032.321,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.11,
        "bb_width_pct": 0.326
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T05-05-00Z_short_vwap_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5034.485,
      "stop": 5041.125,
      "target": 5021.205,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.85,
        "bb_width_pct": 0.329
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T05-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5037.625,
      "stop": 5039.949,
      "target": 5032.977,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.16,
        "bb_width_pct": 0.359
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T05-15-00Z_short_vwap_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5037.625,
      "stop": 5045.557,
      "target": 5021.761,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.16,
        "bb_width_pct": 0.359
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T05-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5037.625,
      "stop": 5040.929,
      "target": 5031.017,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.16,
        "bb_width_pct": 0.359
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T05-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5037.625,
      "stop": 5039.583,
      "target": 5033.709,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.16,
        "bb_width_pct": 0.359
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T05-20-00Z_short_vwap_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5036.27,
      "stop": 5043.409,
      "target": 5021.992,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.47,
        "bb_width_pct": 0.355
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T05-25-00Z_short_vwap_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5035.29,
      "stop": 5041.839,
      "target": 5022.192,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.65,
        "bb_width_pct": 0.335
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T05-35-00Z_short_vwap_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5034.76,
      "stop": 5040.843,
      "target": 5022.594,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.29,
        "bb_width_pct": 0.302
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T05-40-00Z_short_vwap_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5032.37,
      "stop": 5037.181,
      "target": 5022.747,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.17,
        "bb_width_pct": 0.282
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T05-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T05:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5030.63,
      "stop": 5028.578,
      "target": 5034.734,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.43,
        "bb_width_pct": 0.279
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T05-45-00Z_short_vwap_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T05:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5030.63,
      "stop": 5034.516,
      "target": 5022.858,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.43,
        "bb_width_pct": 0.279
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T05-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5026.985,
      "stop": 5023.911,
      "target": 5033.133,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.79,
        "bb_width_pct": 0.295
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T06-10-00Z_long_rsi_range_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T06:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5013.06,
      "stop": 5003.851,
      "target": 5031.478,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.15,
        "bb_width_pct": 0.714
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T06-10-00Z_long_vwap_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T06:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5013.06,
      "stop": 5008.323,
      "target": 5022.534,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.15,
        "bb_width_pct": 0.714
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T06-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T06:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5013.06,
      "stop": 5006.508,
      "target": 5026.165,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 23.15,
        "bb_width_pct": 0.714
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T06-25-00Z_long_rsi_range_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T06:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5012.18,
      "stop": 5004.531,
      "target": 5027.477,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.52,
        "bb_width_pct": 0.881
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T06-25-00Z_long_vwap_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T06:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5012.18,
      "stop": 5007.237,
      "target": 5022.066,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.52,
        "bb_width_pct": 0.881
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T06-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T06:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5012.18,
      "stop": 5005.785,
      "target": 5024.97,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 25.52,
        "bb_width_pct": 0.881
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T06-30-00Z_long_rsi_range_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5013.985,
      "stop": 5007.836,
      "target": 5026.282,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.98,
        "bb_width_pct": 0.889
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T06-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5013.985,
      "stop": 5008.493,
      "target": 5024.97,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 21.98,
        "bb_width_pct": 0.889
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T06-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5013.985,
      "stop": 5009.97,
      "target": 5022.015,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.98,
        "bb_width_pct": 0.889
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T06-35-00Z_long_rsi_range_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5014.33,
      "stop": 5008.947,
      "target": 5025.096,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.15,
        "bb_width_pct": 0.885
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T06-40-00Z_long_rsi_range_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T06:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5015.095,
      "stop": 5010.606,
      "target": 5024.073,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.49,
        "bb_width_pct": 0.88
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T07-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T07:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5013.31,
      "stop": 5007.48,
      "target": 5024.97,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.15,
        "bb_width_pct": 0.767
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T07-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T07:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5014.085,
      "stop": 5008.642,
      "target": 5024.97,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 2.22,
        "bb_width_pct": 0.447
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T07-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T07:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5023.245,
      "stop": 5027.729,
      "target": 5014.276,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.2,
        "bb_width_pct": 0.394
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T07-40-00Z_short_vwap_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T07:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5023.245,
      "stop": 5026.34,
      "target": 5017.054,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.2,
        "bb_width_pct": 0.394
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T07-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T07:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5023.245,
      "stop": 5025.672,
      "target": 5018.39,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.2,
        "bb_width_pct": 0.394
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T07-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T07:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5023.3,
      "stop": 5027.436,
      "target": 5015.029,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.17,
        "bb_width_pct": 0.407
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T08-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T08:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5021.145,
      "stop": 5022.503,
      "target": 5018.429,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.94,
        "bb_width_pct": 0.446
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T08-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T08:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5021.145,
      "stop": 5021.357,
      "target": 5020.721,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.94,
        "bb_width_pct": 0.446
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T09-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T09:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5015.815,
      "stop": 5013.132,
      "target": 5021.181,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.77,
        "bb_width_pct": 0.256
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T09-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5015.16,
      "stop": 5012.417,
      "target": 5020.647,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.76,
        "bb_width_pct": 0.278
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T09-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5015.1,
      "stop": 5012.486,
      "target": 5020.329,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.77,
        "bb_width_pct": 0.294
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T09-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T09:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5014.5,
      "stop": 5011.829,
      "target": 5019.841,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.63,
        "bb_width_pct": 0.301
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T09-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T09:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5010.52,
      "stop": 5007.362,
      "target": 5016.837,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.86,
        "bb_width_pct": 0.332
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T10-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T10:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5009.27,
      "stop": 5005.078,
      "target": 5017.654,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.66,
        "bb_width_pct": 0.362
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T10-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T10:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5009.27,
      "stop": 5005.847,
      "target": 5016.116,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.66,
        "bb_width_pct": 0.362
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T10-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T10:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5004.38,
      "stop": 4998.682,
      "target": 5015.777,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.52,
        "bb_width_pct": 0.483
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T10-10-00Z_long_rsi_range_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T10:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5004.38,
      "stop": 4998.682,
      "target": 5015.777,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.52,
        "bb_width_pct": 0.483
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T10-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T10:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5004.38,
      "stop": 4998.86,
      "target": 5015.42,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 20.52,
        "bb_width_pct": 0.483
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T10-15-00Z_long_rsi_range_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T10:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5006.04,
      "stop": 5001.58,
      "target": 5014.96,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.38,
        "bb_width_pct": 0.496
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T10-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T10:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5006.04,
      "stop": 5001.35,
      "target": 5015.42,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 11.38,
        "bb_width_pct": 0.496
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T10-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T10:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5006.04,
      "stop": 5002.547,
      "target": 5013.027,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.38,
        "bb_width_pct": 0.496
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T10-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T10:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5008.17,
      "stop": 5004.545,
      "target": 5015.42,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.02,
        "bb_width_pct": 0.49
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T10-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T10:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5008.17,
      "stop": 5005.973,
      "target": 5012.564,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.02,
        "bb_width_pct": 0.49
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T10-30-00Z_long_rsi_range_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T10:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5004.215,
      "stop": 5000.174,
      "target": 5012.296,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.04,
        "bb_width_pct": 0.476
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T10-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T10:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5004.215,
      "stop": 4998.613,
      "target": 5015.42,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 19.04,
        "bb_width_pct": 0.476
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T10-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T10:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5004.215,
      "stop": 5000.811,
      "target": 5011.022,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.04,
        "bb_width_pct": 0.476
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T10-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T10:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4999.365,
      "stop": 4994.06,
      "target": 5009.974,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.54,
        "bb_width_pct": 0.481
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T10-40-00Z_long_rsi_range_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T10:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4999.365,
      "stop": 4994.06,
      "target": 5009.974,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.54,
        "bb_width_pct": 0.481
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T10-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T10:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4999.365,
      "stop": 4991.88,
      "target": 5014.335,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 20.54,
        "bb_width_pct": 0.481
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T10-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T10:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4998.345,
      "stop": 4993.036,
      "target": 5008.962,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.77,
        "bb_width_pct": 0.494
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T10-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T10:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5003.59,
      "stop": 5001.649,
      "target": 5007.472,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.81,
        "bb_width_pct": 0.495
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T11-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5001.785,
      "stop": 4997.256,
      "target": 5010.843,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.03,
        "bb_width_pct": 0.487
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T11-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5001.785,
      "stop": 4999.517,
      "target": 5006.322,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.03,
        "bb_width_pct": 0.487
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T12-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5004.74,
      "stop": 5003.837,
      "target": 5006.546,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.48,
        "bb_width_pct": 0.277
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T12-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T12:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5013.14,
      "stop": 5016.876,
      "target": 5005.669,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.39,
        "bb_width_pct": 0.302
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T12-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T12:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5017.345,
      "stop": 5021.345,
      "target": 5009.345,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.48,
        "bb_width_pct": 0.437
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T12-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T12:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5017.345,
      "stop": 5022.271,
      "target": 5007.493,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 19.48,
        "bb_width_pct": 0.437
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T12-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T12:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5017.345,
      "stop": 5020.416,
      "target": 5011.202,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.48,
        "bb_width_pct": 0.437
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T12-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T12:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5017.75,
      "stop": 5020.712,
      "target": 5011.826,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.71,
        "bb_width_pct": 0.437
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T13-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5024.33,
      "stop": 5029.379,
      "target": 5014.233,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.85,
        "bb_width_pct": 0.417
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T13-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5024.57,
      "stop": 5028.196,
      "target": 5017.318,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.73,
        "bb_width_pct": 0.401
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T13-45-00Z_short_vwap_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5024.57,
      "stop": 5028.979,
      "target": 5015.751,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.73,
        "bb_width_pct": 0.401
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T13-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5024.57,
      "stop": 5030.942,
      "target": 5011.825,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.73,
        "bb_width_pct": 0.401
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T13-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5024.57,
      "stop": 5028.145,
      "target": 5017.42,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.73,
        "bb_width_pct": 0.401
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T13-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T13:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5012.82,
      "stop": 5010.468,
      "target": 5017.524,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.82,
        "bb_width_pct": 0.378
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T13-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T13:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5012.82,
      "stop": 5010.739,
      "target": 5016.981,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.82,
        "bb_width_pct": 0.378
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T14-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5009.15,
      "stop": 5005.675,
      "target": 5016.101,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.17,
        "bb_width_pct": 0.436
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T14-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5009.15,
      "stop": 5005.956,
      "target": 5015.538,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 3.17,
        "bb_width_pct": 0.436
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T15-40-00Z_long_vwap_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T15:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4984.74,
      "stop": 4971.065,
      "target": 5012.091,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.06,
        "bb_width_pct": 0.799
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T15-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T15:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4984.74,
      "stop": 4973.715,
      "target": 5006.79,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 20.06,
        "bb_width_pct": 0.799
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T15-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T15:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4991.445,
      "stop": 4984.201,
      "target": 5005.934,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.19,
        "bb_width_pct": 0.822
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T15-45-00Z_long_vwap_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T15:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4991.445,
      "stop": 4981.362,
      "target": 5011.61,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.19,
        "bb_width_pct": 0.822
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T15-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T15:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4991.445,
      "stop": 4985.607,
      "target": 5003.121,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.19,
        "bb_width_pct": 0.822
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T15-50-00Z_long_vwap_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T15:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4995.46,
      "stop": 4987.564,
      "target": 5011.252,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.01,
        "bb_width_pct": 0.81
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T15-55-00Z_long_vwap_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T15:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4997.98,
      "stop": 4991.491,
      "target": 5010.958,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.95,
        "bb_width_pct": 0.806
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T16-10-00Z_long_vwap_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T16:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4994.63,
      "stop": 4986.93,
      "target": 5010.03,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.93,
        "bb_width_pct": 0.829
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T16-45-00Z_short_rsi_range_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4999.31,
      "stop": 4999.863,
      "target": 4998.204,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 17.03,
        "bb_width_pct": 0.579
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T16-50-00Z_long_vwap_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T16:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5000.53,
      "stop": 4996.36,
      "target": 5008.87,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.63,
        "bb_width_pct": 0.551
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T16-55-00Z_long_vwap_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5002.06,
      "stop": 4998.713,
      "target": 5008.754,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.2,
        "bb_width_pct": 0.497
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T17-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T17:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5002.7,
      "stop": 5003.575,
      "target": 5000.95,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.94,
        "bb_width_pct": 0.302
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T17-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T17:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4999.95,
      "stop": 4998.857,
      "target": 5002.136,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.02,
        "bb_width_pct": 0.217
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T18-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T18:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5005.8,
      "stop": 5007.275,
      "target": 5002.851,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.57,
        "bb_width_pct": 0.182
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T18-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T18:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5006.47,
      "stop": 5008.195,
      "target": 5003.021,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.75,
        "bb_width_pct": 0.193
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T18-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T18:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5007.825,
      "stop": 5010.06,
      "target": 5003.355,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.44,
        "bb_width_pct": 0.207
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T18-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T18:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5006.83,
      "stop": 5008.454,
      "target": 5003.581,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.72,
        "bb_width_pct": 0.214
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T18-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T18:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5003.89,
      "stop": 5010.103,
      "target": 4991.465,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.67,
        "bb_width_pct": 0.203
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T19-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T19:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5000.71,
      "stop": 4999.009,
      "target": 5004.113,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.73,
        "bb_width_pct": 0.189
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T19-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T19:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4999.935,
      "stop": 4997.846,
      "target": 5004.112,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.1,
        "bb_width_pct": 0.189
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T19-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T19:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4999.935,
      "stop": 4998.306,
      "target": 5003.194,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.1,
        "bb_width_pct": 0.189
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T19-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T19:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4999.31,
      "stop": 4996.971,
      "target": 5003.989,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.29,
        "bb_width_pct": 0.203
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T19-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T19:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4999.31,
      "stop": 4997.553,
      "target": 5002.824,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.29,
        "bb_width_pct": 0.203
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T19-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T19:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5000.405,
      "stop": 4999.168,
      "target": 5002.879,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.64,
        "bb_width_pct": 0.188
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T22-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T22:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5001.56,
      "stop": 5000.888,
      "target": 5002.903,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.55,
        "bb_width_pct": 0.141
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T22-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T22:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5001.56,
      "stop": 5000.926,
      "target": 5002.827,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.55,
        "bb_width_pct": 0.141
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T22-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T22:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5001.56,
      "stop": 5000.776,
      "target": 5003.129,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.55,
        "bb_width_pct": 0.141
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T22-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T22:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4997.83,
      "stop": 4995.624,
      "target": 5002.242,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.79,
        "bb_width_pct": 0.152
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T22-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T22:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4999.35,
      "stop": 4997.607,
      "target": 5002.836,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.04,
        "bb_width_pct": 0.159
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T22-35-00Z_long_vwap_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T22:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4999.35,
      "stop": 4997.014,
      "target": 5004.022,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.04,
        "bb_width_pct": 0.159
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T22-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T22:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4999.35,
      "stop": 4997.611,
      "target": 5002.827,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.04,
        "bb_width_pct": 0.159
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T22-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T22:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4999.35,
      "stop": 4998.042,
      "target": 5001.966,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.04,
        "bb_width_pct": 0.159
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T22-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T22:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5000.305,
      "stop": 4999.359,
      "target": 5002.198,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.88,
        "bb_width_pct": 0.185
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T22-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T22:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5000.305,
      "stop": 4999.423,
      "target": 5002.07,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.88,
        "bb_width_pct": 0.185
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-17T22-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T22:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5000.305,
      "stop": 4999.786,
      "target": 5001.343,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.88,
        "bb_width_pct": 0.185
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T00-10-00Z_short_rsi_range_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T00:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5009.95,
      "stop": 5013.893,
      "target": 5002.064,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 25.48,
        "bb_width_pct": 0.287
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T00-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T00:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5009.95,
      "stop": 5013.535,
      "target": 5002.78,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 25.48,
        "bb_width_pct": 0.287
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T00-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T00:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5006.13,
      "stop": 5007.994,
      "target": 5002.403,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.62,
        "bb_width_pct": 0.291
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T00-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T00:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5006.13,
      "stop": 5007.788,
      "target": 5002.815,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.62,
        "bb_width_pct": 0.291
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T00-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T00:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5006.13,
      "stop": 5007.263,
      "target": 5003.864,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.62,
        "bb_width_pct": 0.291
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T00-35-00Z_long_vwap_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T00:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5001.275,
      "stop": 4998.984,
      "target": 5005.857,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.5,
        "bb_width_pct": 0.26
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T01-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T01:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5011.79,
      "stop": 5014.946,
      "target": 5005.478,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.59,
        "bb_width_pct": 0.286
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T01-10-00Z_short_vwap_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T01:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5011.79,
      "stop": 5014.555,
      "target": 5006.261,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.59,
        "bb_width_pct": 0.286
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T01-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T01:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5011.79,
      "stop": 5016.201,
      "target": 5002.968,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.59,
        "bb_width_pct": 0.286
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T01-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T01:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5011.79,
      "stop": 5014.814,
      "target": 5005.743,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.59,
        "bb_width_pct": 0.286
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T01-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T01:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5013.015,
      "stop": 5016.498,
      "target": 5006.05,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.19,
        "bb_width_pct": 0.305
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T01-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T01:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5012.12,
      "stop": 5014.909,
      "target": 5006.542,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.87,
        "bb_width_pct": 0.314
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T01-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T01:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5012.12,
      "stop": 5015.876,
      "target": 5004.608,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.87,
        "bb_width_pct": 0.314
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T01-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T01:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5012.12,
      "stop": 5014.692,
      "target": 5006.977,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.87,
        "bb_width_pct": 0.314
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T01-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T01:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4999.275,
      "stop": 4995.774,
      "target": 5006.278,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.79,
        "bb_width_pct": 0.311
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T01-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T01:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4999.275,
      "stop": 4996.055,
      "target": 5005.715,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.79,
        "bb_width_pct": 0.311
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T01-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T01:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4999.025,
      "stop": 4995.672,
      "target": 5005.731,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.04,
        "bb_width_pct": 0.328
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T01-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T01:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4999.025,
      "stop": 4995.998,
      "target": 5005.078,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.04,
        "bb_width_pct": 0.328
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T01-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T01:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4998.785,
      "stop": 4995.495,
      "target": 5005.364,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.86,
        "bb_width_pct": 0.349
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T01-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T01:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4998.785,
      "stop": 4995.938,
      "target": 5004.479,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.86,
        "bb_width_pct": 0.349
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T02-15-00Z_long_rsi_range_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T02:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5003.26,
      "stop": 5002.447,
      "target": 5004.886,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.06,
        "bb_width_pct": 0.379
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T02-25-00Z_long_rsi_range_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T02:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5002.32,
      "stop": 5001.172,
      "target": 5004.616,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.16,
        "bb_width_pct": 0.384
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T02-30-00Z_long_rsi_range_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5003.15,
      "stop": 5002.479,
      "target": 5004.492,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.72,
        "bb_width_pct": 0.385
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T02-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T02:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4996.315,
      "stop": 4993.439,
      "target": 5002.066,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.69,
        "bb_width_pct": 0.341
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T03-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T03:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4991.915,
      "stop": 4987.998,
      "target": 4999.748,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.93,
        "bb_width_pct": 0.341
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T03-05-00Z_long_vwap_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T03:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4991.915,
      "stop": 4986.203,
      "target": 5003.338,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.93,
        "bb_width_pct": 0.341
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T03-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T03:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4991.915,
      "stop": 4987.224,
      "target": 5001.298,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.93,
        "bb_width_pct": 0.341
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T03-10-00Z_long_vwap_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T03:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4994.225,
      "stop": 4989.788,
      "target": 5003.099,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.63,
        "bb_width_pct": 0.333
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T03-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T03:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4994.225,
      "stop": 4991.948,
      "target": 4998.779,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.63,
        "bb_width_pct": 0.333
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T03-15-00Z_long_vwap_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4995.7,
      "stop": 4992.1,
      "target": 5002.9,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.67,
        "bb_width_pct": 0.316
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T03-20-00Z_long_vwap_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T03:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4996.365,
      "stop": 4993.181,
      "target": 5002.733,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.29,
        "bb_width_pct": 0.312
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T03-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T03:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4991.57,
      "stop": 4989.271,
      "target": 4996.169,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.73,
        "bb_width_pct": 0.325
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T04-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T04:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4991.31,
      "stop": 4989.112,
      "target": 4995.706,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.44,
        "bb_width_pct": 0.32
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T04-05-00Z_long_vwap_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4991.645,
      "stop": 4986.892,
      "target": 5001.151,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.05,
        "bb_width_pct": 0.306
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T04-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4991.645,
      "stop": 4986.819,
      "target": 5001.298,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.05,
        "bb_width_pct": 0.306
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T04-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T04:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4990.64,
      "stop": 4988.523,
      "target": 4994.874,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.02,
        "bb_width_pct": 0.281
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T04-15-00Z_long_vwap_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T04:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4992.48,
      "stop": 4988.332,
      "target": 5000.776,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.66,
        "bb_width_pct": 0.252
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T04-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T04:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4992.48,
      "stop": 4988.071,
      "target": 5001.298,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.66,
        "bb_width_pct": 0.252
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T04-40-00Z_long_rsi_range_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4984.585,
      "stop": 4980.776,
      "target": 4992.204,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.85,
        "bb_width_pct": 0.281
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T04-40-00Z_long_vwap_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4984.585,
      "stop": 4977.041,
      "target": 4999.672,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.85,
        "bb_width_pct": 0.281
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T04-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4984.585,
      "stop": 4978.141,
      "target": 4997.472,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 24.85,
        "bb_width_pct": 0.281
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T04-45-00Z_long_rsi_range_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4985.385,
      "stop": 4982.139,
      "target": 4991.877,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.26,
        "bb_width_pct": 0.305
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T04-45-00Z_long_vwap_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4985.385,
      "stop": 4978.363,
      "target": 4999.428,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.26,
        "bb_width_pct": 0.305
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T04-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4985.385,
      "stop": 4980.215,
      "target": 4995.725,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 21.26,
        "bb_width_pct": 0.305
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T04-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T04:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4987.2,
      "stop": 4985.343,
      "target": 4990.914,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.62,
        "bb_width_pct": 0.332
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T04-55-00Z_long_vwap_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T04:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4987.2,
      "stop": 4981.325,
      "target": 4998.949,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.62,
        "bb_width_pct": 0.332
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T04-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T04:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4987.2,
      "stop": 4983.566,
      "target": 4994.467,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 11.62,
        "bb_width_pct": 0.332
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T04-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T04:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4987.2,
      "stop": 4985.738,
      "target": 4990.123,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.62,
        "bb_width_pct": 0.332
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T05-05-00Z_long_vwap_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4990.55,
      "stop": 4986.538,
      "target": 4998.575,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.51,
        "bb_width_pct": 0.314
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T05-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4990.55,
      "stop": 4988.591,
      "target": 4994.467,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.51,
        "bb_width_pct": 0.314
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T05-20-00Z_long_vwap_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4991.935,
      "stop": 4988.823,
      "target": 4998.159,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.96,
        "bb_width_pct": 0.268
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T05-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4997.285,
      "stop": 5000.498,
      "target": 4990.858,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.44,
        "bb_width_pct": 0.294
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T05-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T05:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4998.265,
      "stop": 5002.354,
      "target": 4990.087,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.56,
        "bb_width_pct": 0.37
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T05-45-00Z_short_rsi_range_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T05:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4998.265,
      "stop": 5002.354,
      "target": 4990.087,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 20.56,
        "bb_width_pct": 0.37
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T05-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T05:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4998.265,
      "stop": 5000.854,
      "target": 4993.087,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 20.56,
        "bb_width_pct": 0.37
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T05-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T05:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4998.265,
      "stop": 5001.254,
      "target": 4992.287,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.56,
        "bb_width_pct": 0.37
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T05-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T05:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4997.745,
      "stop": 5000.074,
      "target": 4993.087,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 20.27,
        "bb_width_pct": 0.434
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T05-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T05:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4997.745,
      "stop": 4999.837,
      "target": 4993.561,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.27,
        "bb_width_pct": 0.434
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T06-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T06:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5009.185,
      "stop": 5016.678,
      "target": 4994.199,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 25.23,
        "bb_width_pct": 0.619
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T06-15-00Z_short_rsi_range_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T06:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5009.185,
      "stop": 5016.678,
      "target": 4994.199,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 25.23,
        "bb_width_pct": 0.619
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T06-15-00Z_short_vwap_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T06:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5009.185,
      "stop": 5014.618,
      "target": 4998.32,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 25.23,
        "bb_width_pct": 0.619
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T06-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T06:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5009.185,
      "stop": 5015.986,
      "target": 4995.583,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 25.23,
        "bb_width_pct": 0.619
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T06-25-00Z_short_rsi_range_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T06:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5008.925,
      "stop": 5015.075,
      "target": 4996.625,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 23.43,
        "bb_width_pct": 0.66
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T06-25-00Z_short_vwap_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T06:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5008.925,
      "stop": 5014.092,
      "target": 4998.59,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 23.43,
        "bb_width_pct": 0.66
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T06-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T06:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5008.925,
      "stop": 5015.163,
      "target": 4996.45,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 23.43,
        "bb_width_pct": 0.66
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T06-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5012.105,
      "stop": 5018.473,
      "target": 4999.368,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 25.54,
        "bb_width_pct": 0.686
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T06-35-00Z_short_rsi_range_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5012.105,
      "stop": 5018.473,
      "target": 4999.368,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 25.54,
        "bb_width_pct": 0.686
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T06-35-00Z_short_vwap_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5012.105,
      "stop": 5018.687,
      "target": 4998.941,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 25.54,
        "bb_width_pct": 0.686
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T06-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5012.105,
      "stop": 5019.33,
      "target": 4997.655,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 25.54,
        "bb_width_pct": 0.686
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T06-40-00Z_short_rsi_range_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T06:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5011.31,
      "stop": 5016.621,
      "target": 5000.689,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 20.36,
        "bb_width_pct": 0.662
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T06-40-00Z_short_vwap_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T06:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5011.31,
      "stop": 5017.414,
      "target": 4999.101,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 20.36,
        "bb_width_pct": 0.662
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T06-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T06:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5011.31,
      "stop": 5017.375,
      "target": 4999.18,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 20.36,
        "bb_width_pct": 0.662
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T06-50-00Z_short_rsi_range_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T06:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5010.825,
      "stop": 5014.817,
      "target": 5002.842,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 19.53,
        "bb_width_pct": 0.65
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T06-50-00Z_short_vwap_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T06:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5010.825,
      "stop": 5016.531,
      "target": 4999.412,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 19.53,
        "bb_width_pct": 0.65
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T06-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T06:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5010.825,
      "stop": 5016.647,
      "target": 4999.18,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 19.53,
        "bb_width_pct": 0.65
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T06-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T06:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5010.825,
      "stop": 5013.96,
      "target": 5004.556,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.53,
        "bb_width_pct": 0.65
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T06-55-00Z_short_rsi_range_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T06:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5009.51,
      "stop": 5012.265,
      "target": 5003.999,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 13.56,
        "bb_width_pct": 0.584
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T06-55-00Z_short_vwap_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T06:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5009.51,
      "stop": 5014.497,
      "target": 4999.537,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.56,
        "bb_width_pct": 0.584
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T06-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T06:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5009.51,
      "stop": 5014.675,
      "target": 4999.18,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.56,
        "bb_width_pct": 0.584
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T07-05-00Z_short_rsi_range_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T07:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5011.675,
      "stop": 5014.484,
      "target": 5006.058,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 20.7,
        "bb_width_pct": 0.505
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T07-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T07:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5011.675,
      "stop": 5017.923,
      "target": 4999.18,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 20.7,
        "bb_width_pct": 0.505
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T07-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T07:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5011.675,
      "stop": 5014.362,
      "target": 5006.3,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.7,
        "bb_width_pct": 0.505
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T07-10-00Z_short_rsi_range_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T07:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5009.805,
      "stop": 5011.276,
      "target": 5006.862,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 11.93,
        "bb_width_pct": 0.455
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T07-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T07:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5009.805,
      "stop": 5015.118,
      "target": 4999.18,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.93,
        "bb_width_pct": 0.455
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T07-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T07:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 5001.87,
      "stop": 4999.505,
      "target": 5006.6,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.96,
        "bb_width_pct": 0.235
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T08-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4994.825,
      "stop": 4988.949,
      "target": 5006.577,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.99,
        "bb_width_pct": 0.534
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T08-25-00Z_long_rsi_range_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T08:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4989.34,
      "stop": 4983.418,
      "target": 5001.183,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 27.66,
        "bb_width_pct": 0.702
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T08-25-00Z_long_vwap_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T08:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4989.34,
      "stop": 4983.751,
      "target": 5000.517,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 27.66,
        "bb_width_pct": 0.702
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T08-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T08:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4989.34,
      "stop": 4984.005,
      "target": 5000.01,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 27.66,
        "bb_width_pct": 0.702
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T08-30-00Z_long_rsi_range_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4991.755,
      "stop": 4987.518,
      "target": 5000.229,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.79,
        "bb_width_pct": 0.697
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T08-30-00Z_long_vwap_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4991.755,
      "stop": 4987.63,
      "target": 5000.006,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.79,
        "bb_width_pct": 0.697
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T08-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4991.755,
      "stop": 4989.117,
      "target": 4997.031,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.79,
        "bb_width_pct": 0.697
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T08-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T08:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4988.6,
      "stop": 4984.581,
      "target": 4996.637,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.39,
        "bb_width_pct": 0.671
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T08-45-00Z_long_rsi_range_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T08:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4988.6,
      "stop": 4984.581,
      "target": 4996.637,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.39,
        "bb_width_pct": 0.671
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T08-45-00Z_long_vwap_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T08:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4988.6,
      "stop": 4983.782,
      "target": 4998.235,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.39,
        "bb_width_pct": 0.671
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T08-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T08:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4988.6,
      "stop": 4982.895,
      "target": 5000.01,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.39,
        "bb_width_pct": 0.671
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T08-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T08:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4988.6,
      "stop": 4985.646,
      "target": 4994.507,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.39,
        "bb_width_pct": 0.671
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T08-55-00Z_long_vwap_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T08:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4987.645,
      "stop": 4982.786,
      "target": 4997.364,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.81,
        "bb_width_pct": 0.621
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T09-00-00Z_long_vwap_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4990.36,
      "stop": 4987.02,
      "target": 4997.039,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.28,
        "bb_width_pct": 0.569
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T09-15-00Z_long_vwap_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T09:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4988.45,
      "stop": 4984.618,
      "target": 4996.113,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.93,
        "bb_width_pct": 0.318
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T09-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4993.635,
      "stop": 4995.446,
      "target": 4990.013,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.0,
        "bb_width_pct": 0.22
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T09-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T09:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4992.865,
      "stop": 4994.343,
      "target": 4989.908,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.59,
        "bb_width_pct": 0.208
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T10-40-00Z_long_rsi_range_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T10:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4978.25,
      "stop": 4973.08,
      "target": 4988.59,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.62,
        "bb_width_pct": 0.393
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T10-40-00Z_long_vwap_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T10:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4978.25,
      "stop": 4974.912,
      "target": 4984.926,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.62,
        "bb_width_pct": 0.393
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T11-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T11:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4970.395,
      "stop": 4964.736,
      "target": 4981.714,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.78,
        "bb_width_pct": 0.894
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T11-10-00Z_long_rsi_range_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T11:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4970.395,
      "stop": 4964.736,
      "target": 4981.714,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.78,
        "bb_width_pct": 0.894
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T11-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T11:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4970.395,
      "stop": 4968.694,
      "target": 4973.797,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 16.78,
        "bb_width_pct": 0.894
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T11-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T11:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4970.395,
      "stop": 4966.591,
      "target": 4978.002,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.78,
        "bb_width_pct": 0.894
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T11-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T11:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4956.48,
      "stop": 4947.075,
      "target": 4975.29,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.21,
        "bb_width_pct": 1.019
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T11-30-00Z_long_rsi_range_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T11:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4956.48,
      "stop": 4947.075,
      "target": 4975.29,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.21,
        "bb_width_pct": 1.019
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T11-30-00Z_long_vwap_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T11:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4956.48,
      "stop": 4947.504,
      "target": 4974.432,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.21,
        "bb_width_pct": 1.019
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T11-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T11:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4956.48,
      "stop": 4949.117,
      "target": 4971.205,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 17.21,
        "bb_width_pct": 1.019
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T11-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T11:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4956.48,
      "stop": 4948.682,
      "target": 4972.075,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.21,
        "bb_width_pct": 1.019
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T14-30-00Z_long_vwap_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4861.93,
      "stop": 4853.301,
      "target": 4879.188,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.2,
        "bb_width_pct": 0.865
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T14-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4861.93,
      "stop": 4854.756,
      "target": 4876.278,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.2,
        "bb_width_pct": 0.865
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T14-40-00Z_long_vwap_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T14:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4861.22,
      "stop": 4852.792,
      "target": 4878.075,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.13,
        "bb_width_pct": 0.842
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T15-35-00Z_short_rsi_range_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T15:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4873.435,
      "stop": 4874.282,
      "target": 4871.741,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 10.65,
        "bb_width_pct": 0.678
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T15-50-00Z_long_vwap_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T15:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4864.89,
      "stop": 4859.458,
      "target": 4875.755,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.14,
        "bb_width_pct": 0.459
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T16-00-00Z_long_vwap_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4865.79,
      "stop": 4861.035,
      "target": 4875.3,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.04,
        "bb_width_pct": 0.463
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T16-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T16:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4882.425,
      "stop": 4887.845,
      "target": 4871.584,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.24,
        "bb_width_pct": 0.475
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T16-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T16:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4878.46,
      "stop": 4881.094,
      "target": 4873.192,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.53,
        "bb_width_pct": 0.467
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T16-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4882.195,
      "stop": 4885.582,
      "target": 4875.42,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.79,
        "bb_width_pct": 0.529
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T16-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4886.95,
      "stop": 4892.996,
      "target": 4874.858,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 25.54,
        "bb_width_pct": 0.626
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T16-55-00Z_short_rsi_range_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4886.95,
      "stop": 4892.996,
      "target": 4874.858,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 25.54,
        "bb_width_pct": 0.626
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T16-55-00Z_short_vwap_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4886.95,
      "stop": 4892.404,
      "target": 4876.041,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 25.54,
        "bb_width_pct": 0.626
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T16-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4886.95,
      "stop": 4892.559,
      "target": 4875.733,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 25.54,
        "bb_width_pct": 0.626
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T17-05-00Z_short_rsi_range_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T17:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4887.745,
      "stop": 4893.423,
      "target": 4876.39,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 25.32,
        "bb_width_pct": 0.707
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T17-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T17:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4887.745,
      "stop": 4893.751,
      "target": 4875.733,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 25.32,
        "bb_width_pct": 0.707
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T17-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T17:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4887.745,
      "stop": 4891.84,
      "target": 4879.555,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 25.32,
        "bb_width_pct": 0.707
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T17-10-00Z_short_rsi_range_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T17:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4887.24,
      "stop": 4892.319,
      "target": 4877.081,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 22.05,
        "bb_width_pct": 0.73
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T17-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T17:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4889.825,
      "stop": 4894.14,
      "target": 4881.195,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.31,
        "bb_width_pct": 0.761
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T17-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T17:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4891.165,
      "stop": 4898.235,
      "target": 4877.025,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.82,
        "bb_width_pct": 0.753
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T17-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T17:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4891.165,
      "stop": 4894.999,
      "target": 4883.497,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.82,
        "bb_width_pct": 0.753
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T17-40-00Z_short_rsi_range_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T17:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4894.745,
      "stop": 4899.291,
      "target": 4885.653,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 17.08,
        "bb_width_pct": 0.611
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T17-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T17:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4894.745,
      "stop": 4903.128,
      "target": 4877.98,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.08,
        "bb_width_pct": 0.611
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T17-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T17:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4894.745,
      "stop": 4898.741,
      "target": 4886.753,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.08,
        "bb_width_pct": 0.611
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T17-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T17:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4891.63,
      "stop": 4898.455,
      "target": 4877.98,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.34,
        "bb_width_pct": 0.534
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T17-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T17:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4890.795,
      "stop": 4897.203,
      "target": 4877.98,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.23,
        "bb_width_pct": 0.512
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T18-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T18:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4889.55,
      "stop": 4889.975,
      "target": 4888.701,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.91,
        "bb_width_pct": 0.436
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T18-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T18:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4889.55,
      "stop": 4894.386,
      "target": 4879.878,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.91,
        "bb_width_pct": 0.436
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T18-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T18:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4889.55,
      "stop": 4890.301,
      "target": 4888.049,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.91,
        "bb_width_pct": 0.436
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T18-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T18:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4884.76,
      "stop": 4882.416,
      "target": 4889.449,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.39,
        "bb_width_pct": 0.358
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T18-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T18:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4880.805,
      "stop": 4876.534,
      "target": 4889.346,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.47,
        "bb_width_pct": 0.372
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T18-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T18:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4885.68,
      "stop": 4883.76,
      "target": 4889.521,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.02,
        "bb_width_pct": 0.354
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T18-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4877.155,
      "stop": 4872.871,
      "target": 4885.724,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.87,
        "bb_width_pct": 0.417
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T19-00-00Z_long_rsi_range_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T19:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4856.99,
      "stop": 4844.484,
      "target": 4882.002,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.23,
        "bb_width_pct": 1.013
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T19-00-00Z_long_vwap_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T19:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4856.99,
      "stop": 4843.565,
      "target": 4883.841,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.23,
        "bb_width_pct": 1.013
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T19-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T19:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4856.99,
      "stop": 4847.494,
      "target": 4875.983,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 23.23,
        "bb_width_pct": 1.013
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T19-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T19:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4857.655,
      "stop": 4846.319,
      "target": 4880.326,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.23,
        "bb_width_pct": 1.086
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T19-05-00Z_long_rsi_range_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T19:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4857.655,
      "stop": 4846.319,
      "target": 4880.326,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.23,
        "bb_width_pct": 1.086
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T19-05-00Z_long_vwap_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T19:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4857.655,
      "stop": 4845.09,
      "target": 4882.785,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.23,
        "bb_width_pct": 1.086
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T19-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T19:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4857.345,
      "stop": 4846.792,
      "target": 4878.451,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.01,
        "bb_width_pct": 1.124
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T19-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T19:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4857.345,
      "stop": 4849.565,
      "target": 4872.905,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.01,
        "bb_width_pct": 1.124
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T19-15-00Z_long_vwap_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T19:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4861.885,
      "stop": 4852.288,
      "target": 4881.08,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.7,
        "bb_width_pct": 1.094
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T19-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T19:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4847.21,
      "stop": 4833.695,
      "target": 4874.239,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.23,
        "bb_width_pct": 1.158
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T19-25-00Z_long_rsi_range_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T19:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4849.02,
      "stop": 4837.476,
      "target": 4872.109,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.02,
        "bb_width_pct": 1.193
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T19-25-00Z_long_vwap_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T19:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4849.02,
      "stop": 4834.036,
      "target": 4878.989,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.02,
        "bb_width_pct": 1.193
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T19-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T19:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4849.02,
      "stop": 4837.751,
      "target": 4871.557,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 21.02,
        "bb_width_pct": 1.193
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T19-30-00Z_long_vwap_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T19:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4856.925,
      "stop": 4846.292,
      "target": 4878.191,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.84,
        "bb_width_pct": 1.169
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T19-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T19:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4856.925,
      "stop": 4849.609,
      "target": 4871.557,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 18.84,
        "bb_width_pct": 1.169
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T19-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T19:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4856.925,
      "stop": 4852.115,
      "target": 4866.544,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.84,
        "bb_width_pct": 1.169
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T19-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T19:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4850.84,
      "stop": 4844.158,
      "target": 4864.204,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.47,
        "bb_width_pct": 1.097
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T20-00-00Z_long_vwap_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T20:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4846.705,
      "stop": 4833.415,
      "target": 4873.285,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.78,
        "bb_width_pct": 1.015
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T20-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T20:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4846.705,
      "stop": 4835.605,
      "target": 4868.905,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.78,
        "bb_width_pct": 1.015
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T20-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T20:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4846.705,
      "stop": 4841.174,
      "target": 4857.767,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.78,
        "bb_width_pct": 1.015
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T22-05-00Z_long_vwap_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T22:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4826.79,
      "stop": 4762.12,
      "target": 4956.13,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.84,
        "bb_width_pct": 1.198
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T22-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T22:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4826.79,
      "stop": 4813.609,
      "target": 4853.153,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.84,
        "bb_width_pct": 1.198
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T22-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T22:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4818.54,
      "stop": 4812.717,
      "target": 4830.185,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.63,
        "bb_width_pct": 1.114
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T22-15-00Z_long_vwap_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T22:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4821.59,
      "stop": 4759.215,
      "target": 4946.34,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.27,
        "bb_width_pct": 0.992
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T22-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T22:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4821.59,
      "stop": 4805.809,
      "target": 4853.153,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 3.27,
        "bb_width_pct": 0.992
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T22-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T22:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4821.59,
      "stop": 4817.702,
      "target": 4829.367,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.27,
        "bb_width_pct": 0.992
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T22-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T22:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4821.985,
      "stop": 4819.912,
      "target": 4826.132,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.3,
        "bb_width_pct": 0.891
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T22-20-00Z_long_vwap_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T22:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4821.985,
      "stop": 4762.053,
      "target": 4941.849,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.3,
        "bb_width_pct": 0.891
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T22-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T22:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4821.985,
      "stop": 4808.766,
      "target": 4848.423,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.3,
        "bb_width_pct": 0.891
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T22-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T22:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4821.985,
      "stop": 4818.646,
      "target": 4828.664,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.3,
        "bb_width_pct": 0.891
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T22-30-00Z_long_vwap_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T22:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4817.99,
      "stop": 4760.086,
      "target": 4933.797,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.95,
        "bb_width_pct": 0.761
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T22-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T22:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4817.99,
      "stop": 4803.501,
      "target": 4846.968,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.95,
        "bb_width_pct": 0.761
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T22-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T22:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4817.99,
      "stop": 4813.729,
      "target": 4826.512,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.95,
        "bb_width_pct": 0.761
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T22-35-00Z_long_vwap_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T22:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4823.83,
      "stop": 4770.566,
      "target": 4930.358,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.97,
        "bb_width_pct": 0.661
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T22-40-00Z_long_vwap_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T22:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4828.2,
      "stop": 4778.687,
      "target": 4927.227,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.51,
        "bb_width_pct": 0.49
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T22-45-00Z_long_vwap_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T22:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4833.695,
      "stop": 4788.315,
      "target": 4924.456,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.41,
        "bb_width_pct": 0.449
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T22-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T22:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4832.72,
      "stop": 4838.266,
      "target": 4821.628,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.16,
        "bb_width_pct": 0.488
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T22-55-00Z_long_vwap_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T22:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4834.57,
      "stop": 4792.157,
      "target": 4919.397,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.69,
        "bb_width_pct": 0.541
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T23-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4833.58,
      "stop": 4838.959,
      "target": 4822.821,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.62,
        "bb_width_pct": 0.579
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T23-05-00Z_long_vwap_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4834.105,
      "stop": 4793.716,
      "target": 4914.882,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.74,
        "bb_width_pct": 0.568
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T23-10-00Z_long_vwap_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4834.4,
      "stop": 4795.188,
      "target": 4912.824,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.64,
        "bb_width_pct": 0.55
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T23-20-00Z_long_vwap_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T23:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4835.58,
      "stop": 4798.912,
      "target": 4908.916,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.26,
        "bb_width_pct": 0.55
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T23-25-00Z_long_vwap_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T23:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4836.905,
      "stop": 4801.749,
      "target": 4907.218,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.57,
        "bb_width_pct": 0.58
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T23-35-00Z_long_vwap_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4838.505,
      "stop": 4805.745,
      "target": 4904.025,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.34,
        "bb_width_pct": 0.572
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T23-40-00Z_short_rsi_range_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4834.04,
      "stop": 4836.343,
      "target": 4829.434,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 10.24,
        "bb_width_pct": 0.574
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T23-45-00Z_long_vwap_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4836.55,
      "stop": 4804.297,
      "target": 4901.055,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.72,
        "bb_width_pct": 0.585
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-18T23-55-00Z_long_vwap_mean_reversion",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T23:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4836.84,
      "stop": 4806.104,
      "target": 4898.312,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.64,
        "bb_width_pct": 0.533
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T00-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4845.705,
      "stop": 4852.194,
      "target": 4832.727,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.23,
        "bb_width_pct": 0.558
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T00-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T00:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4842.48,
      "stop": 4846.682,
      "target": 4834.077,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.68,
        "bb_width_pct": 0.479
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T00-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T00:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4842.48,
      "stop": 4850.429,
      "target": 4826.583,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.68,
        "bb_width_pct": 0.479
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T00-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T00:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4842.48,
      "stop": 4846.067,
      "target": 4835.306,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.68,
        "bb_width_pct": 0.479
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T00-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T00:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4843.485,
      "stop": 4847.552,
      "target": 4835.351,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.02,
        "bb_width_pct": 0.4
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T00-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T00:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4840.475,
      "stop": 4842.621,
      "target": 4836.184,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.43,
        "bb_width_pct": 0.345
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T00-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T00:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4840.475,
      "stop": 4847.421,
      "target": 4826.583,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.43,
        "bb_width_pct": 0.345
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T00-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T00:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4842.52,
      "stop": 4850.591,
      "target": 4826.378,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.43,
        "bb_width_pct": 0.339
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T00-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4845.05,
      "stop": 4848.584,
      "target": 4837.983,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.52,
        "bb_width_pct": 0.354
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T00-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T00:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4843.99,
      "stop": 4846.758,
      "target": 4838.454,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.53,
        "bb_width_pct": 0.363
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T00-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T00:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4843.99,
      "stop": 4852.796,
      "target": 4826.378,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.53,
        "bb_width_pct": 0.363
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T00-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T00:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4840.96,
      "stop": 4848.166,
      "target": 4826.548,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.55,
        "bb_width_pct": 0.354
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T00-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T00:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4840.88,
      "stop": 4848.046,
      "target": 4826.548,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.42,
        "bb_width_pct": 0.342
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T01-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4842.675,
      "stop": 4843.736,
      "target": 4840.554,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.78,
        "bb_width_pct": 0.283
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T01-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4842.675,
      "stop": 4843.956,
      "target": 4840.113,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.78,
        "bb_width_pct": 0.283
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T01-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T01:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4837.34,
      "stop": 4835.498,
      "target": 4841.025,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.23,
        "bb_width_pct": 0.243
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T01-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T01:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4857.63,
      "stop": 4863.884,
      "target": 4845.121,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.21,
        "bb_width_pct": 0.628
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T01-45-00Z_short_vwap_mean_reversion",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T01:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4857.63,
      "stop": 4864.192,
      "target": 4844.506,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.21,
        "bb_width_pct": 0.628
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T01-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T01:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4857.63,
      "stop": 4867.411,
      "target": 4838.068,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.21,
        "bb_width_pct": 0.628
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T01-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T01:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4857.63,
      "stop": 4863.293,
      "target": 4846.305,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.21,
        "bb_width_pct": 0.628
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T01-50-00Z_short_vwap_mean_reversion",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T01:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4857.36,
      "stop": 4863.542,
      "target": 4844.997,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.42,
        "bb_width_pct": 0.664
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T02-30-00Z_short_vwap_mean_reversion",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4857.0,
      "stop": 4862.114,
      "target": 4846.773,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.1,
        "bb_width_pct": 0.68
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T02-35-00Z_short_vwap_mean_reversion",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T02:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4856.475,
      "stop": 4861.161,
      "target": 4847.103,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.59,
        "bb_width_pct": 0.673
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T02-45-00Z_short_vwap_mean_reversion",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4857.735,
      "stop": 4862.698,
      "target": 4847.81,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 9.17,
        "bb_width_pct": 0.668
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T02-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4857.735,
      "stop": 4862.356,
      "target": 4848.493,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.17,
        "bb_width_pct": 0.668
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T02-55-00Z_short_vwap_mean_reversion",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T02:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4858.82,
      "stop": 4864.022,
      "target": 4848.416,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 1.67,
        "bb_width_pct": 0.569
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T02-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T02:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4858.82,
      "stop": 4863.984,
      "target": 4848.493,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.67,
        "bb_width_pct": 0.569
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T03-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4865.045,
      "stop": 4869.067,
      "target": 4857.0,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.65,
        "bb_width_pct": 0.467
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T03-20-00Z_short_vwap_mean_reversion",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T03:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4858.015,
      "stop": 4862.004,
      "target": 4850.037,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.72,
        "bb_width_pct": 0.438
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T03-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T03:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4858.015,
      "stop": 4861.968,
      "target": 4850.11,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.72,
        "bb_width_pct": 0.438
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T04-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4849.73,
      "stop": 4845.824,
      "target": 4857.542,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.62,
        "bb_width_pct": 0.358
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T04-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4849.73,
      "stop": 4847.162,
      "target": 4854.867,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.62,
        "bb_width_pct": 0.358
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T04-20-00Z_long_rsi_range_reversion",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4852.495,
      "stop": 4850.468,
      "target": 4856.549,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.11,
        "bb_width_pct": 0.389
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T04-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T04:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4849.53,
      "stop": 4848.33,
      "target": 4851.93,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.37,
        "bb_width_pct": 0.356
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T05-40-00Z_long_rsi_range_reversion",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4833.995,
      "stop": 4826.932,
      "target": 4848.122,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.75,
        "bb_width_pct": 0.457
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T05-40-00Z_long_vwap_mean_reversion",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4833.995,
      "stop": 4825.946,
      "target": 4850.093,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.75,
        "bb_width_pct": 0.457
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T05-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4833.995,
      "stop": 4826.321,
      "target": 4849.343,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 24.75,
        "bb_width_pct": 0.457
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T05-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T05:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4837.69,
      "stop": 4832.775,
      "target": 4847.52,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.78,
        "bb_width_pct": 0.493
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T05-45-00Z_long_vwap_mean_reversion",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T05:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4837.69,
      "stop": 4831.593,
      "target": 4849.883,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.78,
        "bb_width_pct": 0.493
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T05-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T05:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4837.69,
      "stop": 4831.864,
      "target": 4849.343,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 16.78,
        "bb_width_pct": 0.493
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T06-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4837.37,
      "stop": 4833.667,
      "target": 4844.777,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.91,
        "bb_width_pct": 0.629
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T06-00-00Z_long_vwap_mean_reversion",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4837.37,
      "stop": 4831.436,
      "target": 4849.237,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.91,
        "bb_width_pct": 0.629
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T06-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4837.37,
      "stop": 4832.721,
      "target": 4846.667,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 13.91,
        "bb_width_pct": 0.629
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T06-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4837.37,
      "stop": 4834.606,
      "target": 4842.898,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.91,
        "bb_width_pct": 0.629
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T06-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4833.6,
      "stop": 4829.394,
      "target": 4842.013,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.03,
        "bb_width_pct": 0.65
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T09-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4720.315,
      "stop": 4700.23,
      "target": 4760.485,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.54,
        "bb_width_pct": 0.98
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T09-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T09:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4714.74,
      "stop": 4695.324,
      "target": 4753.573,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 11.14,
        "bb_width_pct": 0.819
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T10-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T10:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4711.62,
      "stop": 4698.61,
      "target": 4737.64,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.93,
        "bb_width_pct": 0.631
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T10-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T10:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4693.93,
      "stop": 4687.362,
      "target": 4707.067,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.71,
        "bb_width_pct": 0.651
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T10-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T10:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4693.93,
      "stop": 4685.063,
      "target": 4711.665,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.71,
        "bb_width_pct": 0.651
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T10-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T10:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4683.7,
      "stop": 4661.661,
      "target": 4727.778,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.87,
        "bb_width_pct": 0.867
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T10-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T10:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4698.56,
      "stop": 4695.442,
      "target": 4704.796,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.82,
        "bb_width_pct": 0.875
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T10-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T10:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4698.56,
      "stop": 4684.606,
      "target": 4726.468,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.82,
        "bb_width_pct": 0.875
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T10-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T10:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4698.56,
      "stop": 4695.11,
      "target": 4705.461,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.82,
        "bb_width_pct": 0.875
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T10-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T10:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4683.07,
      "stop": 4673.9,
      "target": 4701.41,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.61,
        "bb_width_pct": 1.026
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T10-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T10:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4683.07,
      "stop": 4674.457,
      "target": 4700.295,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.61,
        "bb_width_pct": 1.026
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T10-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T10:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4678.215,
      "stop": 4667.048,
      "target": 4700.549,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.98,
        "bb_width_pct": 1.109
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T10-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T10:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4678.215,
      "stop": 4668.226,
      "target": 4698.192,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.98,
        "bb_width_pct": 1.109
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T10-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T10:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4679.225,
      "stop": 4669.418,
      "target": 4698.839,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.47,
        "bb_width_pct": 1.146
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T10-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T10:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4679.225,
      "stop": 4659.301,
      "target": 4719.073,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.47,
        "bb_width_pct": 1.146
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T10-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T10:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4679.225,
      "stop": 4670.644,
      "target": 4696.386,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.47,
        "bb_width_pct": 1.146
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T11-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4688.535,
      "stop": 4677.302,
      "target": 4711.0,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.9,
        "bb_width_pct": 1.139
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T11-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T11:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4686.98,
      "stop": 4678.645,
      "target": 4703.65,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.43,
        "bb_width_pct": 0.999
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T15-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T15:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4579.89,
      "stop": 4566.901,
      "target": 4605.868,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.87,
        "bb_width_pct": 1.107
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T17-10-00Z_long_rsi_range_reversion",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T17:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4579.355,
      "stop": 4572.323,
      "target": 4593.419,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.07,
        "bb_width_pct": 1.059
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T17-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T17:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4579.355,
      "stop": 4565.157,
      "target": 4607.75,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 19.07,
        "bb_width_pct": 1.059
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T17-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T17:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4597.55,
      "stop": 4592.45,
      "target": 4607.75,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 3.68,
        "bb_width_pct": 1.012
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T17-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T17:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4616.175,
      "stop": 4624.631,
      "target": 4599.263,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.56,
        "bb_width_pct": 1.04
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T17-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T17:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4616.175,
      "stop": 4622.514,
      "target": 4603.498,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.56,
        "bb_width_pct": 1.04
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T20-25-00Z_short_vwap_mean_reversion",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T20:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4657.425,
      "stop": 4674.273,
      "target": 4623.729,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 9.98,
        "bb_width_pct": 1.092
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T20-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T20:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4657.425,
      "stop": 4676.751,
      "target": 4618.773,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.98,
        "bb_width_pct": 1.092
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T20-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T20:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4657.425,
      "stop": 4664.523,
      "target": 4643.229,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.98,
        "bb_width_pct": 1.092
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T20-30-00Z_short_vwap_mean_reversion",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T20:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4656.985,
      "stop": 4673.224,
      "target": 4624.507,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.28,
        "bb_width_pct": 0.821
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T20-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T20:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4656.985,
      "stop": 4676.014,
      "target": 4618.927,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.28,
        "bb_width_pct": 0.821
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T20-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T20:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4656.985,
      "stop": 4663.208,
      "target": 4644.539,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.28,
        "bb_width_pct": 0.821
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T20-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T20:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4657.4,
      "stop": 4663.218,
      "target": 4645.764,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.4,
        "bb_width_pct": 0.686
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T20-40-00Z_short_vwap_mean_reversion",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4654.725,
      "stop": 4669.122,
      "target": 4625.931,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.89,
        "bb_width_pct": 0.636
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T20-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4654.725,
      "stop": 4667.151,
      "target": 4629.872,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.89,
        "bb_width_pct": 0.636
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T20-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4654.725,
      "stop": 4658.779,
      "target": 4646.618,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.89,
        "bb_width_pct": 0.636
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T20-50-00Z_short_rsi_range_reversion",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T20:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4657.53,
      "stop": 4661.064,
      "target": 4650.461,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 21.57,
        "bb_width_pct": 0.654
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T20-50-00Z_short_vwap_mean_reversion",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T20:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4657.53,
      "stop": 4672.672,
      "target": 4627.247,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 21.57,
        "bb_width_pct": 0.654
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T20-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T20:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4657.53,
      "stop": 4671.359,
      "target": 4629.872,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 21.57,
        "bb_width_pct": 0.654
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T20-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T20:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4657.53,
      "stop": 4661.977,
      "target": 4648.636,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.57,
        "bb_width_pct": 0.654
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T20-55-00Z_short_vwap_mean_reversion",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T20:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4650.72,
      "stop": 4662.185,
      "target": 4627.79,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 9.79,
        "bb_width_pct": 0.637
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T20-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T20:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4650.72,
      "stop": 4661.144,
      "target": 4629.872,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.79,
        "bb_width_pct": 0.637
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T22-00-00Z_short_rsi_range_reversion",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T22:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4659.48,
      "stop": 4663.787,
      "target": 4650.866,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 16.27,
        "bb_width_pct": 0.648
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T22-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T22:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4659.48,
      "stop": 4674.284,
      "target": 4629.872,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 16.27,
        "bb_width_pct": 0.648
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T22-05-00Z_long_vwap_mean_reversion",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T22:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4665.88,
      "stop": 4657.537,
      "target": 4682.566,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.7,
        "bb_width_pct": 0.691
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T22-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T22:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4670.98,
      "stop": 4679.882,
      "target": 4653.176,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.68,
        "bb_width_pct": 0.767
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T22-10-00Z_long_vwap_mean_reversion",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T22:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4670.98,
      "stop": 4665.44,
      "target": 4682.06,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.68,
        "bb_width_pct": 0.767
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T22-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T22:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4671.515,
      "stop": 4679.914,
      "target": 4654.718,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.99,
        "bb_width_pct": 0.798
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T22-15-00Z_long_vwap_mean_reversion",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T22:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4671.515,
      "stop": 4666.419,
      "target": 4681.707,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.99,
        "bb_width_pct": 0.798
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T22-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T22:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4661.915,
      "stop": 4674.542,
      "target": 4636.66,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.43,
        "bb_width_pct": 0.744
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T22-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T22:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4661.915,
      "stop": 4665.051,
      "target": 4655.643,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.43,
        "bb_width_pct": 0.744
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T22-25-00Z_long_vwap_mean_reversion",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T22:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4666.49,
      "stop": 4659.426,
      "target": 4680.618,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.83,
        "bb_width_pct": 0.651
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T22-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T22:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4666.49,
      "stop": 4671.397,
      "target": 4656.676,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.83,
        "bb_width_pct": 0.651
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T22-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T22:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4651.055,
      "stop": 4658.253,
      "target": 4636.66,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.86,
        "bb_width_pct": 0.575
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T22-35-00Z_long_vwap_mean_reversion",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T22:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4656.7,
      "stop": 4645.528,
      "target": 4679.044,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.25,
        "bb_width_pct": 0.507
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T22-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T22:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4645.995,
      "stop": 4640.039,
      "target": 4657.907,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.39,
        "bb_width_pct": 0.58
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T22-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T22:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4648.23,
      "stop": 4643.539,
      "target": 4657.613,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.08,
        "bb_width_pct": 0.604
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T22-50-00Z_long_vwap_mean_reversion",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T22:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4648.23,
      "stop": 4634.175,
      "target": 4676.34,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.08,
        "bb_width_pct": 0.604
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T23-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4644.15,
      "stop": 4638.268,
      "target": 4655.914,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.04,
        "bb_width_pct": 0.758
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T23-00-00Z_long_vwap_mean_reversion",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4644.15,
      "stop": 4628.989,
      "target": 4674.472,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.04,
        "bb_width_pct": 0.758
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T23-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4644.15,
      "stop": 4640.526,
      "target": 4651.398,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.04,
        "bb_width_pct": 0.758
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T23-15-00Z_long_vwap_mean_reversion",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4645.665,
      "stop": 4632.465,
      "target": 4672.065,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.6,
        "bb_width_pct": 0.859
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T23-25-00Z_long_vwap_mean_reversion",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T23:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4644.255,
      "stop": 4631.037,
      "target": 4670.691,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.3,
        "bb_width_pct": 0.901
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T23-35-00Z_long_vwap_mean_reversion",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4640.09,
      "stop": 4625.47,
      "target": 4669.33,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.39,
        "bb_width_pct": 0.954
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T23-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4640.09,
      "stop": 4632.884,
      "target": 4654.503,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.39,
        "bb_width_pct": 0.954
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T23-45-00Z_long_vwap_mean_reversion",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4644.76,
      "stop": 4633.127,
      "target": 4668.026,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.79,
        "bb_width_pct": 0.928
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T23-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4644.76,
      "stop": 4639.889,
      "target": 4654.503,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.79,
        "bb_width_pct": 0.928
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-19T23-50-00Z_long_vwap_mean_reversion",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T23:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4646.59,
      "stop": 4636.111,
      "target": 4667.549,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.59,
        "bb_width_pct": 0.817
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T00-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T00:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4657.09,
      "stop": 4662.123,
      "target": 4647.024,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.32,
        "bb_width_pct": 0.496
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T00-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T00:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4647.685,
      "stop": 4648.57,
      "target": 4645.914,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.86,
        "bb_width_pct": 0.619
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T01-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T01:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4666.64,
      "stop": 4674.023,
      "target": 4651.874,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.56,
        "bb_width_pct": 0.766
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T01-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T01:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4666.64,
      "stop": 4672.07,
      "target": 4655.78,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.56,
        "bb_width_pct": 0.766
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T01-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T01:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4666.64,
      "stop": 4672.758,
      "target": 4654.404,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.56,
        "bb_width_pct": 0.766
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T01-35-00Z_short_vwap_mean_reversion",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T01:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4675.445,
      "stop": 4684.515,
      "target": 4657.305,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 17.23,
        "bb_width_pct": 0.722
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T01-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T01:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4675.445,
      "stop": 4684.377,
      "target": 4657.58,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.23,
        "bb_width_pct": 0.722
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T01-45-00Z_short_vwap_mean_reversion",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T01:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4684.965,
      "stop": 4697.487,
      "target": 4659.922,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 16.9,
        "bb_width_pct": 1.0
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T01-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T01:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4684.965,
      "stop": 4696.606,
      "target": 4661.682,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 16.9,
        "bb_width_pct": 1.0
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T01-50-00Z_short_vwap_mean_reversion",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T01:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4680.155,
      "stop": 4689.803,
      "target": 4660.859,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.74,
        "bb_width_pct": 1.061
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T01-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T01:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4680.155,
      "stop": 4687.662,
      "target": 4665.141,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.74,
        "bb_width_pct": 1.061
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T01-55-00Z_short_vwap_mean_reversion",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T01:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4677.3,
      "stop": 4685.191,
      "target": 4661.518,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.58,
        "bb_width_pct": 1.098
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T02-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T02:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4685.91,
      "stop": 4693.727,
      "target": 4670.276,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.83,
        "bb_width_pct": 1.104
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T02-20-00Z_short_rsi_range_reversion",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T02:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4685.06,
      "stop": 4692.127,
      "target": 4670.925,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 22.55,
        "bb_width_pct": 1.135
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T02-20-00Z_short_vwap_mean_reversion",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T02:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4685.06,
      "stop": 4694.942,
      "target": 4665.295,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 22.55,
        "bb_width_pct": 1.135
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T02-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T02:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4685.06,
      "stop": 4694.119,
      "target": 4666.942,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 22.55,
        "bb_width_pct": 1.135
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T02-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T02:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4685.06,
      "stop": 4690.961,
      "target": 4673.259,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.55,
        "bb_width_pct": 1.135
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T02-25-00Z_short_rsi_range_reversion",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T02:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4683.905,
      "stop": 4689.742,
      "target": 4672.231,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 21.91,
        "bb_width_pct": 1.129
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T02-25-00Z_short_vwap_mean_reversion",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T02:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4683.905,
      "stop": 4692.903,
      "target": 4665.91,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 21.91,
        "bb_width_pct": 1.129
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T02-35-00Z_short_vwap_mean_reversion",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T02:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4684.555,
      "stop": 4693.255,
      "target": 4667.155,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.36,
        "bb_width_pct": 1.032
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T02-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T02:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4684.555,
      "stop": 4693.361,
      "target": 4666.942,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.36,
        "bb_width_pct": 1.032
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T02-50-00Z_short_vwap_mean_reversion",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T02:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4698.22,
      "stop": 4712.661,
      "target": 4669.338,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 9.72,
        "bb_width_pct": 1.039
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T02-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T02:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4698.22,
      "stop": 4713.6,
      "target": 4667.46,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.72,
        "bb_width_pct": 1.039
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T04-15-00Z_short_vwap_mean_reversion",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T04:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4719.285,
      "stop": 4735.544,
      "target": 4686.767,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 1.88,
        "bb_width_pct": 1.16
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T04-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T04:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4719.285,
      "stop": 4735.029,
      "target": 4687.798,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.88,
        "bb_width_pct": 1.16
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T04-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T04:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4725.09,
      "stop": 4728.738,
      "target": 4717.794,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.84,
        "bb_width_pct": 0.746
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T04-40-00Z_short_vwap_mean_reversion",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4719.91,
      "stop": 4734.881,
      "target": 4689.967,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 17.73,
        "bb_width_pct": 0.481
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T04-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4719.91,
      "stop": 4733.202,
      "target": 4693.325,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.73,
        "bb_width_pct": 0.481
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T04-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4719.91,
      "stop": 4720.495,
      "target": 4718.739,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.73,
        "bb_width_pct": 0.481
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T04-45-00Z_short_vwap_mean_reversion",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4718.275,
      "stop": 4732.189,
      "target": 4690.448,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 17.98,
        "bb_width_pct": 0.468
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T04-55-00Z_short_vwap_mean_reversion",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T04:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4721.82,
      "stop": 4736.992,
      "target": 4691.475,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.32,
        "bb_width_pct": 0.427
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T05-00-00Z_short_vwap_mean_reversion",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4712.33,
      "stop": 4722.565,
      "target": 4691.86,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 19.24,
        "bb_width_pct": 0.463
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T05-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4712.33,
      "stop": 4709.161,
      "target": 4718.668,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.24,
        "bb_width_pct": 0.463
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T05-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4713.14,
      "stop": 4708.264,
      "target": 4722.892,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.07,
        "bb_width_pct": 0.464
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T05-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4713.14,
      "stop": 4710.639,
      "target": 4718.141,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.07,
        "bb_width_pct": 0.464
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T05-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4718.57,
      "stop": 4716.8,
      "target": 4722.109,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.49,
        "bb_width_pct": 0.414
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T05-25-00Z_short_vwap_mean_reversion",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4719.75,
      "stop": 4732.694,
      "target": 4693.863,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 1.73,
        "bb_width_pct": 0.314
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T05-30-00Z_short_vwap_mean_reversion",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4702.78,
      "stop": 4707.13,
      "target": 4694.08,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 24.32,
        "bb_width_pct": 0.447
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T05-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4713.055,
      "stop": 4710.044,
      "target": 4719.077,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.74,
        "bb_width_pct": 0.446
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T05-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4713.055,
      "stop": 4711.132,
      "target": 4716.901,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.74,
        "bb_width_pct": 0.446
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T05-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4709.43,
      "stop": 4704.966,
      "target": 4718.359,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.43,
        "bb_width_pct": 0.469
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T05-40-00Z_short_vwap_mean_reversion",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4709.43,
      "stop": 4716.87,
      "target": 4694.551,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 16.43,
        "bb_width_pct": 0.469
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T06-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4694.945,
      "stop": 4685.714,
      "target": 4713.407,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.97,
        "bb_width_pct": 0.936
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T06-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4694.945,
      "stop": 4687.637,
      "target": 4709.56,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 19.97,
        "bb_width_pct": 0.936
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T06-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4694.945,
      "stop": 4687.916,
      "target": 4709.004,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.97,
        "bb_width_pct": 0.936
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T06-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T06:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4691.395,
      "stop": 4682.085,
      "target": 4710.016,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.82,
        "bb_width_pct": 1.043
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T06-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T06:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4691.395,
      "stop": 4681.649,
      "target": 4710.888,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.82,
        "bb_width_pct": 1.043
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T06-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T06:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4691.395,
      "stop": 4684.268,
      "target": 4705.649,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.82,
        "bb_width_pct": 1.043
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T06-20-00Z_long_rsi_range_reversion",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T06:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4690.12,
      "stop": 4681.872,
      "target": 4706.616,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.07,
        "bb_width_pct": 1.09
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T06-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T06:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4690.12,
      "stop": 4679.939,
      "target": 4710.483,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 21.07,
        "bb_width_pct": 1.09
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T06-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T06:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4690.12,
      "stop": 4683.846,
      "target": 4702.668,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.07,
        "bb_width_pct": 1.09
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T06-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T06:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4688.24,
      "stop": 4681.713,
      "target": 4701.294,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.27,
        "bb_width_pct": 1.116
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T06-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4685.545,
      "stop": 4678.42,
      "target": 4699.794,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.64,
        "bb_width_pct": 1.118
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T07-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T07:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4682.14,
      "stop": 4675.789,
      "target": 4694.843,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.7,
        "bb_width_pct": 1.174
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T08-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T08:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4693.85,
      "stop": 4689.977,
      "target": 4701.597,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.4,
        "bb_width_pct": 1.07
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T09-25-00Z_long_rsi_range_reversion",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T09:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4692.05,
      "stop": 4686.677,
      "target": 4702.797,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.6,
        "bb_width_pct": 1.073
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T10-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T10:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4649.36,
      "stop": 4640.975,
      "target": 4666.13,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.71,
        "bb_width_pct": 1.114
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T10-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T10:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4645.465,
      "stop": 4636.072,
      "target": 4664.252,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.06,
        "bb_width_pct": 1.097
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T10-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T10:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4645.465,
      "stop": 4636.117,
      "target": 4664.161,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.06,
        "bb_width_pct": 1.097
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T11-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4654.41,
      "stop": 4650.311,
      "target": 4662.608,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.26,
        "bb_width_pct": 1.012
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T11-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4654.41,
      "stop": 4638.326,
      "target": 4686.577,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.26,
        "bb_width_pct": 1.012
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T11-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4654.41,
      "stop": 4649.999,
      "target": 4663.233,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.26,
        "bb_width_pct": 1.012
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T11-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T11:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4669.325,
      "stop": 4674.156,
      "target": 4659.662,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.25,
        "bb_width_pct": 0.577
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T12-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4679.8,
      "stop": 4686.359,
      "target": 4666.682,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 24.71,
        "bb_width_pct": 0.69
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T12-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T12:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4685.53,
      "stop": 4695.538,
      "target": 4665.515,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.26,
        "bb_width_pct": 0.887
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T12-10-00Z_short_rsi_range_reversion",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T12:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4685.53,
      "stop": 4695.538,
      "target": 4665.515,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 17.26,
        "bb_width_pct": 0.887
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T12-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T12:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4685.53,
      "stop": 4693.821,
      "target": 4668.948,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.26,
        "bb_width_pct": 0.887
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T12-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T12:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4681.26,
      "stop": 4688.04,
      "target": 4667.7,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.58,
        "bb_width_pct": 1.035
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T12-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T12:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4681.26,
      "stop": 4687.416,
      "target": 4668.948,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.58,
        "bb_width_pct": 1.035
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T12-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T12:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4681.26,
      "stop": 4685.304,
      "target": 4673.171,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.58,
        "bb_width_pct": 1.035
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T13-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T13:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4662.125,
      "stop": 4656.274,
      "target": 4673.827,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.23,
        "bb_width_pct": 0.706
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T13-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T13:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4662.125,
      "stop": 4657.433,
      "target": 4671.509,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.23,
        "bb_width_pct": 0.706
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T13-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T13:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4665.065,
      "stop": 4660.73,
      "target": 4673.736,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.5,
        "bb_width_pct": 0.713
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T13-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4654.475,
      "stop": 4646.023,
      "target": 4671.379,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.2,
        "bb_width_pct": 0.966
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T13-35-00Z_long_vwap_mean_reversion",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4654.475,
      "stop": 4645.915,
      "target": 4671.595,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.2,
        "bb_width_pct": 0.966
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T13-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4654.475,
      "stop": 4648.475,
      "target": 4666.475,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 11.2,
        "bb_width_pct": 0.966
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T13-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4654.475,
      "stop": 4648.845,
      "target": 4665.735,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.2,
        "bb_width_pct": 0.966
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T13-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T13:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4662.835,
      "stop": 4658.987,
      "target": 4670.531,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.52,
        "bb_width_pct": 0.964
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T15-40-00Z_long_vwap_mean_reversion",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T15:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4562.515,
      "stop": 4532.273,
      "target": 4623.0,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.33,
        "bb_width_pct": 1.04
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T15-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T15:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4562.515,
      "stop": 4537.834,
      "target": 4611.878,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.33,
        "bb_width_pct": 1.04
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T15-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T15:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4558.525,
      "stop": 4554.795,
      "target": 4565.985,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.04,
        "bb_width_pct": 0.684
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T15-50-00Z_long_vwap_mean_reversion",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T15:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4558.525,
      "stop": 4527.768,
      "target": 4620.039,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.04,
        "bb_width_pct": 0.684
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T15-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T15:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4558.525,
      "stop": 4532.101,
      "target": 4611.372,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 3.04,
        "bb_width_pct": 0.684
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T15-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T15:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4558.525,
      "stop": 4550.713,
      "target": 4574.15,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.04,
        "bb_width_pct": 0.684
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T16-00-00Z_long_vwap_mean_reversion",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4574.325,
      "stop": 4552.668,
      "target": 4617.638,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.47,
        "bb_width_pct": 0.714
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T16-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4574.325,
      "stop": 4555.801,
      "target": 4611.372,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.47,
        "bb_width_pct": 0.714
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T16-10-00Z_long_vwap_mean_reversion",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T16:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4588.15,
      "stop": 4574.181,
      "target": 4616.088,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.64,
        "bb_width_pct": 0.785
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T16-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T16:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4596.79,
      "stop": 4605.941,
      "target": 4578.487,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.95,
        "bb_width_pct": 1.167
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T17-25-00Z_long_rsi_range_reversion",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T17:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4572.23,
      "stop": 4568.213,
      "target": 4580.264,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.43,
        "bb_width_pct": 1.005
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T17-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T17:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4562.5,
      "stop": 4553.306,
      "target": 4580.887,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.5,
        "bb_width_pct": 0.895
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T17-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T17:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4562.5,
      "stop": 4555.461,
      "target": 4576.577,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.5,
        "bb_width_pct": 0.895
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T18-15-00Z_long_rsi_range_reversion",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T18:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4565.895,
      "stop": 4561.925,
      "target": 4573.834,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.81,
        "bb_width_pct": 0.757
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T18-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T18:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4554.72,
      "stop": 4546.584,
      "target": 4570.993,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.73,
        "bb_width_pct": 0.949
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T18-25-00Z_long_vwap_mean_reversion",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T18:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4554.72,
      "stop": 4546.939,
      "target": 4570.282,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.73,
        "bb_width_pct": 0.949
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T18-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T18:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4554.72,
      "stop": 4544.427,
      "target": 4575.305,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.73,
        "bb_width_pct": 0.949
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T18-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T18:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4554.72,
      "stop": 4547.982,
      "target": 4568.197,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.73,
        "bb_width_pct": 0.949
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T18-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4546.205,
      "stop": 4534.687,
      "target": 4569.241,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.03,
        "bb_width_pct": 1.036
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T18-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T18:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4544.575,
      "stop": 4533.205,
      "target": 4567.314,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.65,
        "bb_width_pct": 1.098
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T20-10-00Z_long_vwap_mean_reversion",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T20:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4505.03,
      "stop": 4488.973,
      "target": 4537.144,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.1,
        "bb_width_pct": 1.034
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T20-15-00Z_long_vwap_mean_reversion",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T20:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4510.21,
      "stop": 4497.105,
      "target": 4536.42,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.28,
        "bb_width_pct": 0.699
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T20-35-00Z_long_vwap_mean_reversion",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T20:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4503.235,
      "stop": 4488.081,
      "target": 4533.543,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.5,
        "bb_width_pct": 0.543
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T20-40-00Z_long_vwap_mean_reversion",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4503.28,
      "stop": 4488.503,
      "target": 4532.833,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.33,
        "bb_width_pct": 0.54
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-20T20-50-00Z_long_vwap_mean_reversion",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T20:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4498.455,
      "stop": 4481.98,
      "target": 4531.404,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.36,
        "bb_width_pct": 0.559
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-22T22-00-00Z_long_rsi_range_reversion",
      "date": "2026-03-22",
      "timestamp": "2026-03-22T22:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4476.375,
      "stop": 4463.192,
      "target": 4502.74,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.35,
        "bb_width_pct": 0.719
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-22T22-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-22",
      "timestamp": "2026-03-22T22:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4476.375,
      "stop": 4450.506,
      "target": 4528.113,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 20.35,
        "bb_width_pct": 0.719
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-22T22-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-22",
      "timestamp": "2026-03-22T22:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4511.33,
      "stop": 4504.336,
      "target": 4525.318,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.38,
        "bb_width_pct": 0.732
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-22T22-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-22",
      "timestamp": "2026-03-22T22:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4527.855,
      "stop": 4537.952,
      "target": 4507.661,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.4,
        "bb_width_pct": 0.859
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-22T22-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-22",
      "timestamp": "2026-03-22T22:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4524.31,
      "stop": 4533.676,
      "target": 4505.578,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.54,
        "bb_width_pct": 0.937
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-22T22-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-22",
      "timestamp": "2026-03-22T22:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4524.31,
      "stop": 4531.842,
      "target": 4509.247,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.54,
        "bb_width_pct": 0.937
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-22T22-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-22",
      "timestamp": "2026-03-22T22:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4512.965,
      "stop": 4516.724,
      "target": 4505.447,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.63,
        "bb_width_pct": 0.927
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-22T23-40-00Z_long_rsi_range_reversion",
      "date": "2026-03-22",
      "timestamp": "2026-03-22T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4489.13,
      "stop": 4482.896,
      "target": 4501.598,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.58,
        "bb_width_pct": 1.199
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-22T23-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-22",
      "timestamp": "2026-03-22T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4489.13,
      "stop": 4481.604,
      "target": 4504.182,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.58,
        "bb_width_pct": 1.199
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-22T23-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-22",
      "timestamp": "2026-03-22T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4489.13,
      "stop": 4485.659,
      "target": 4496.071,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.58,
        "bb_width_pct": 1.199
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-23T04-05-00Z_long_vwap_mean_reversion",
      "date": "2026-03-23",
      "timestamp": "2026-03-23T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4369.12,
      "stop": 4359.201,
      "target": 4388.958,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.03,
        "bb_width_pct": 1.12
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-23T04-15-00Z_long_vwap_mean_reversion",
      "date": "2026-03-23",
      "timestamp": "2026-03-23T04:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4368.92,
      "stop": 4359.342,
      "target": 4388.076,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.84,
        "bb_width_pct": 0.923
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-23T04-20-00Z_long_vwap_mean_reversion",
      "date": "2026-03-23",
      "timestamp": "2026-03-23T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4370.19,
      "stop": 4361.428,
      "target": 4387.715,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.37,
        "bb_width_pct": 0.786
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-23T04-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-23",
      "timestamp": "2026-03-23T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4374.31,
      "stop": 4381.988,
      "target": 4358.955,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.8,
        "bb_width_pct": 0.831
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-23T04-45-00Z_short_rsi_range_reversion",
      "date": "2026-03-23",
      "timestamp": "2026-03-23T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4369.25,
      "stop": 4373.846,
      "target": 4360.058,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 19.32,
        "bb_width_pct": 0.9
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-23T04-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-23",
      "timestamp": "2026-03-23T04:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4354.325,
      "stop": 4348.266,
      "target": 4366.442,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.93,
        "bb_width_pct": 0.88
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-23T04-55-00Z_long_vwap_mean_reversion",
      "date": "2026-03-23",
      "timestamp": "2026-03-23T04:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4367.97,
      "stop": 4359.257,
      "target": 4385.395,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.9,
        "bb_width_pct": 0.881
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-23T05-25-00Z_long_vwap_mean_reversion",
      "date": "2026-03-23",
      "timestamp": "2026-03-23T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4356.325,
      "stop": 4342.598,
      "target": 4383.779,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.44,
        "bb_width_pct": 0.707
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-23T22-00-00Z_short_vwap_mean_reversion",
      "date": "2026-03-23",
      "timestamp": "2026-03-23T22:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4381.375,
      "stop": 4407.908,
      "target": 4328.31,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.25,
        "bb_width_pct": 0.74
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-23T22-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-23",
      "timestamp": "2026-03-23T22:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4384.46,
      "stop": 4364.551,
      "target": 4424.278,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.37,
        "bb_width_pct": 0.844
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-23T22-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-23",
      "timestamp": "2026-03-23T22:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4398.355,
      "stop": 4395.536,
      "target": 4403.993,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.86,
        "bb_width_pct": 0.845
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-23T22-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-23",
      "timestamp": "2026-03-23T22:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4398.355,
      "stop": 4395.397,
      "target": 4404.27,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.86,
        "bb_width_pct": 0.845
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-23T22-20-00Z_short_vwap_mean_reversion",
      "date": "2026-03-23",
      "timestamp": "2026-03-23T22:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4399.305,
      "stop": 4430.369,
      "target": 4337.176,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.07,
        "bb_width_pct": 0.792
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-23T22-30-00Z_short_vwap_mean_reversion",
      "date": "2026-03-23",
      "timestamp": "2026-03-23T22:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4403.675,
      "stop": 4434.648,
      "target": 4341.729,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.17,
        "bb_width_pct": 0.746
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-23T22-40-00Z_short_vwap_mean_reversion",
      "date": "2026-03-23",
      "timestamp": "2026-03-23T22:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4409.1,
      "stop": 4440.719,
      "target": 4345.863,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.5,
        "bb_width_pct": 0.743
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-23T22-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-23",
      "timestamp": "2026-03-23T22:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4429.53,
      "stop": 4439.955,
      "target": 4408.681,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.57,
        "bb_width_pct": 0.909
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-23T22-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-23",
      "timestamp": "2026-03-23T22:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4426.855,
      "stop": 4436.841,
      "target": 4406.883,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.15,
        "bb_width_pct": 0.999
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-23T22-55-00Z_short_vwap_mean_reversion",
      "date": "2026-03-23",
      "timestamp": "2026-03-23T22:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4426.855,
      "stop": 4464.235,
      "target": 4352.094,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.15,
        "bb_width_pct": 0.999
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-23T23-00-00Z_short_vwap_mean_reversion",
      "date": "2026-03-23",
      "timestamp": "2026-03-23T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4426.365,
      "stop": 4462.495,
      "target": 4354.105,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.75,
        "bb_width_pct": 1.071
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-23T23-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-23",
      "timestamp": "2026-03-23T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4432.775,
      "stop": 4444.629,
      "target": 4409.067,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 26.47,
        "bb_width_pct": 1.179
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-23T23-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-23",
      "timestamp": "2026-03-23T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4432.775,
      "stop": 4442.204,
      "target": 4413.916,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 26.47,
        "bb_width_pct": 1.179
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-24T00-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4430.55,
      "stop": 4443.801,
      "target": 4404.047,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.42,
        "bb_width_pct": 1.11
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-24T00-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4430.55,
      "stop": 4430.912,
      "target": 4429.825,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.42,
        "bb_width_pct": 1.11
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-24T00-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T00:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4422.2,
      "stop": 4431.276,
      "target": 4404.047,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.51,
        "bb_width_pct": 0.934
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-24T00-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T00:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4411.8,
      "stop": 4402.096,
      "target": 4431.208,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.96,
        "bb_width_pct": 0.937
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-24T00-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T00:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4411.8,
      "stop": 4403.828,
      "target": 4427.744,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.96,
        "bb_width_pct": 0.937
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-24T04-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4332.01,
      "stop": 4322.622,
      "target": 4350.787,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.7,
        "bb_width_pct": 0.937
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-24T04-20-00Z_long_rsi_range_reversion",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4332.01,
      "stop": 4322.622,
      "target": 4350.787,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.7,
        "bb_width_pct": 0.937
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-24T04-20-00Z_long_vwap_mean_reversion",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4332.01,
      "stop": 4319.828,
      "target": 4356.374,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.7,
        "bb_width_pct": 0.937
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-24T04-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4332.01,
      "stop": 4324.516,
      "target": 4346.998,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.7,
        "bb_width_pct": 0.937
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-24T04-25-00Z_long_vwap_mean_reversion",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T04:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4339.775,
      "stop": 4331.649,
      "target": 4356.028,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.72,
        "bb_width_pct": 0.918
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-24T05-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4326.4,
      "stop": 4318.911,
      "target": 4341.378,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.8,
        "bb_width_pct": 0.7
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-24T05-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4335.245,
      "stop": 4332.476,
      "target": 4340.783,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.46,
        "bb_width_pct": 0.699
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-24T05-10-00Z_long_vwap_mean_reversion",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4335.245,
      "stop": 4326.089,
      "target": 4353.558,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.46,
        "bb_width_pct": 0.699
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-24T05-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4335.245,
      "stop": 4332.476,
      "target": 4340.783,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.46,
        "bb_width_pct": 0.699
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-24T05-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4332.765,
      "stop": 4329.163,
      "target": 4339.97,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.76,
        "bb_width_pct": 0.724
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-24T05-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4332.765,
      "stop": 4329.384,
      "target": 4339.527,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.76,
        "bb_width_pct": 0.724
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-24T05-35-00Z_long_vwap_mean_reversion",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4338.38,
      "stop": 4331.376,
      "target": 4352.389,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.12,
        "bb_width_pct": 0.707
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-24T05-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4358.435,
      "stop": 4367.038,
      "target": 4341.229,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.53,
        "bb_width_pct": 0.758
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-24T05-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4351.845,
      "stop": 4357.549,
      "target": 4340.438,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.79,
        "bb_width_pct": 0.871
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-24T05-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4351.845,
      "stop": 4355.693,
      "target": 4344.148,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.79,
        "bb_width_pct": 0.871
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-24T06-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T06:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4366.77,
      "stop": 4377.513,
      "target": 4345.285,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.72,
        "bb_width_pct": 1.134
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-24T06-10-00Z_short_rsi_range_reversion",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T06:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4366.77,
      "stop": 4377.513,
      "target": 4345.285,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 18.72,
        "bb_width_pct": 1.134
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-24T06-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T06:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4366.77,
      "stop": 4376.63,
      "target": 4347.05,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.72,
        "bb_width_pct": 1.134
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-24T06-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T06:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4366.77,
      "stop": 4375.246,
      "target": 4349.818,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.72,
        "bb_width_pct": 1.134
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-24T08-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T08:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4405.385,
      "stop": 4419.74,
      "target": 4376.675,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.14,
        "bb_width_pct": 1.168
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-24T08-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T08:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4396.885,
      "stop": 4390.08,
      "target": 4410.494,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.27,
        "bb_width_pct": 0.835
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-24T08-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4398.855,
      "stop": 4392.814,
      "target": 4410.938,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.75,
        "bb_width_pct": 0.761
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-24T09-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T09:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4426.5,
      "stop": 4433.912,
      "target": 4411.675,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.22,
        "bb_width_pct": 0.767
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-24T10-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T10:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4421.84,
      "stop": 4427.672,
      "target": 4410.176,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.06,
        "bb_width_pct": 0.75
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-24T10-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T10:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4421.84,
      "stop": 4431.174,
      "target": 4403.173,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.06,
        "bb_width_pct": 0.75
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-24T10-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T10:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4421.84,
      "stop": 4426.438,
      "target": 4412.643,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.06,
        "bb_width_pct": 0.75
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-24T10-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T10:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4427.96,
      "stop": 4436.075,
      "target": 4411.73,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.83,
        "bb_width_pct": 0.774
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-24T10-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T10:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4427.96,
      "stop": 4434.889,
      "target": 4414.102,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.83,
        "bb_width_pct": 0.774
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-24T10-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T10:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4426.24,
      "stop": 4432.811,
      "target": 4413.099,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.99,
        "bb_width_pct": 0.776
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-24T10-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T10:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4426.24,
      "stop": 4433.987,
      "target": 4410.745,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.99,
        "bb_width_pct": 0.776
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-24T10-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T10:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4426.24,
      "stop": 4431.731,
      "target": 4415.258,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.99,
        "bb_width_pct": 0.776
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-24T10-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T10:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4429.775,
      "stop": 4437.303,
      "target": 4414.719,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 23.64,
        "bb_width_pct": 0.77
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-24T10-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T10:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4429.775,
      "stop": 4436.342,
      "target": 4416.641,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 23.64,
        "bb_width_pct": 0.77
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-24T10-20-00Z_short_rsi_range_reversion",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T10:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4426.35,
      "stop": 4431.516,
      "target": 4416.017,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 9.79,
        "bb_width_pct": 0.742
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-24T10-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T10:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4426.35,
      "stop": 4433.376,
      "target": 4412.298,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.79,
        "bb_width_pct": 0.742
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-24T10-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T10:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4426.35,
      "stop": 4430.742,
      "target": 4417.565,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.79,
        "bb_width_pct": 0.742
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-24T10-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T10:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4422.285,
      "stop": 4427.279,
      "target": 4412.298,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.18,
        "bb_width_pct": 0.739
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-24T10-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T10:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4419.7,
      "stop": 4423.401,
      "target": 4412.298,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.1,
        "bb_width_pct": 0.706
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-24T11-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4409.305,
      "stop": 4403.096,
      "target": 4421.723,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.66,
        "bb_width_pct": 0.682
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-24T11-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4409.305,
      "stop": 4403.517,
      "target": 4420.881,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.66,
        "bb_width_pct": 0.682
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-24T11-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T11:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4413.555,
      "stop": 4409.312,
      "target": 4422.041,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.07,
        "bb_width_pct": 0.637
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-24T11-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T11:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4419.83,
      "stop": 4418.517,
      "target": 4422.456,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.97,
        "bb_width_pct": 0.601
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-24T11-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T11:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4415.285,
      "stop": 4411.771,
      "target": 4422.313,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.18,
        "bb_width_pct": 0.612
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-24T11-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T11:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4413.28,
      "stop": 4408.854,
      "target": 4422.132,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.11,
        "bb_width_pct": 0.628
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-24T11-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T11:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4400.905,
      "stop": 4391.901,
      "target": 4418.913,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.5,
        "bb_width_pct": 0.747
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-24T11-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T11:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4408.24,
      "stop": 4402.307,
      "target": 4420.106,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.29,
        "bb_width_pct": 0.766
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-24T12-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T12:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4401.42,
      "stop": 4393.339,
      "target": 4417.583,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.17,
        "bb_width_pct": 0.854
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-24T12-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T12:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4402.54,
      "stop": 4395.448,
      "target": 4416.724,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.21,
        "bb_width_pct": 0.902
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-24T15-25-00Z_short_vwap_mean_reversion",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T15:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4412.89,
      "stop": 4422.889,
      "target": 4392.891,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.7,
        "bb_width_pct": 1.162
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-24T15-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T15:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4423.39,
      "stop": 4430.37,
      "target": 4409.431,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.58,
        "bb_width_pct": 0.744
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-24T15-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T15:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4424.71,
      "stop": 4431.654,
      "target": 4410.822,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.25,
        "bb_width_pct": 0.754
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-24T15-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T15:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4429.425,
      "stop": 4437.932,
      "target": 4412.411,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.28,
        "bb_width_pct": 0.786
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-24T15-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T15:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4419.335,
      "stop": 4422.19,
      "target": 4413.624,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.43,
        "bb_width_pct": 0.708
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-24T15-50-00Z_short_vwap_mean_reversion",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T15:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4419.335,
      "stop": 4430.985,
      "target": 4396.034,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.43,
        "bb_width_pct": 0.708
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-24T15-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T15:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4419.335,
      "stop": 4432.653,
      "target": 4392.7,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.43,
        "bb_width_pct": 0.708
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-24T16-20-00Z_short_vwap_mean_reversion",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T16:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4423.615,
      "stop": 4436.355,
      "target": 4398.135,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.27,
        "bb_width_pct": 0.659
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-24T16-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T16:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4423.615,
      "stop": 4439.072,
      "target": 4392.7,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.27,
        "bb_width_pct": 0.659
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-24T16-25-00Z_short_vwap_mean_reversion",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T16:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4421.205,
      "stop": 4432.518,
      "target": 4398.579,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.97,
        "bb_width_pct": 0.622
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-24T16-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T16:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4421.205,
      "stop": 4435.457,
      "target": 4392.7,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.97,
        "bb_width_pct": 0.622
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-24T16-30-00Z_short_vwap_mean_reversion",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T16:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4418.995,
      "stop": 4429.009,
      "target": 4398.966,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.63,
        "bb_width_pct": 0.596
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-24T16-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T16:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4418.995,
      "stop": 4432.142,
      "target": 4392.7,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.63,
        "bb_width_pct": 0.596
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-24T16-45-00Z_short_vwap_mean_reversion",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4423.33,
      "stop": 4435.007,
      "target": 4399.975,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 1.01,
        "bb_width_pct": 0.568
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-24T16-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4423.33,
      "stop": 4438.645,
      "target": 4392.7,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.01,
        "bb_width_pct": 0.568
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-24T16-50-00Z_short_vwap_mean_reversion",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T16:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4420.745,
      "stop": 4430.938,
      "target": 4400.359,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.39,
        "bb_width_pct": 0.556
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-24T16-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T16:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4420.745,
      "stop": 4434.767,
      "target": 4392.7,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.39,
        "bb_width_pct": 0.556
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-24T17-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T17:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4408.69,
      "stop": 4416.557,
      "target": 4392.955,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.25,
        "bb_width_pct": 0.558
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-24T17-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T17:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4397.77,
      "stop": 4388.407,
      "target": 4416.496,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.29,
        "bb_width_pct": 0.852
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-24T17-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T17:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4397.77,
      "stop": 4390.407,
      "target": 4412.496,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.29,
        "bb_width_pct": 0.852
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-24T17-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T17:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4399.915,
      "stop": 4392.211,
      "target": 4415.323,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.26,
        "bb_width_pct": 0.899
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-24T17-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T17:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4399.915,
      "stop": 4394.224,
      "target": 4411.297,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.26,
        "bb_width_pct": 0.899
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-24T18-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4414.69,
      "stop": 4424.093,
      "target": 4395.884,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.65,
        "bb_width_pct": 1.034
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-24T18-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4414.69,
      "stop": 4422.294,
      "target": 4399.482,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.65,
        "bb_width_pct": 1.034
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-24T18-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T18:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4400.42,
      "stop": 4402.923,
      "target": 4395.415,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.9,
        "bb_width_pct": 0.993
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-24T23-00-00Z_short_vwap_mean_reversion",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4474.915,
      "stop": 4492.524,
      "target": 4439.697,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.48,
        "bb_width_pct": 0.787
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-24T23-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4474.915,
      "stop": 4495.024,
      "target": 4434.698,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.48,
        "bb_width_pct": 0.787
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-24T23-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4474.915,
      "stop": 4479.848,
      "target": 4465.05,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.48,
        "bb_width_pct": 0.787
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-24T23-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4480.635,
      "stop": 4487.685,
      "target": 4466.534,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.67,
        "bb_width_pct": 0.722
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-24T23-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4506.35,
      "stop": 4518.501,
      "target": 4482.047,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 25.46,
        "bb_width_pct": 1.149
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-24T23-30-00Z_short_vwap_mean_reversion",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4506.35,
      "stop": 4535.794,
      "target": 4447.462,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 25.46,
        "bb_width_pct": 1.149
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-24T23-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4506.35,
      "stop": 4533.18,
      "target": 4452.69,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 25.46,
        "bb_width_pct": 1.149
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T01-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T01:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4570.59,
      "stop": 4577.711,
      "target": 4556.349,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.56,
        "bb_width_pct": 0.936
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T01-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T01:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4570.59,
      "stop": 4597.699,
      "target": 4516.372,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.56,
        "bb_width_pct": 0.936
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T01-20-00Z_short_vwap_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T01:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4574.39,
      "stop": 4581.244,
      "target": 4560.681,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 19.68,
        "bb_width_pct": 0.961
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T01-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T01:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4574.39,
      "stop": 4602.879,
      "target": 4517.413,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 19.68,
        "bb_width_pct": 0.961
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T01-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T01:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4588.675,
      "stop": 4600.541,
      "target": 4564.943,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.01,
        "bb_width_pct": 1.084
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T01-40-00Z_short_rsi_range_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T01:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4584.965,
      "stop": 4594.195,
      "target": 4566.506,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 14.69,
        "bb_width_pct": 1.123
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T01-40-00Z_short_vwap_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T01:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4584.965,
      "stop": 4594.988,
      "target": 4564.919,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.69,
        "bb_width_pct": 1.123
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T01-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T01:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4584.965,
      "stop": 4615.809,
      "target": 4523.278,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.69,
        "bb_width_pct": 1.123
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T02-00-00Z_short_vwap_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T02:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4589.395,
      "stop": 4599.273,
      "target": 4569.639,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 19.79,
        "bb_width_pct": 1.102
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T02-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T02:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4589.395,
      "stop": 4616.975,
      "target": 4534.235,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 19.79,
        "bb_width_pct": 1.102
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T02-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T02:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4581.695,
      "stop": 4604.909,
      "target": 4535.267,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.24,
        "bb_width_pct": 1.011
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T02-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T02:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4581.695,
      "stop": 4584.983,
      "target": 4575.118,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.24,
        "bb_width_pct": 1.011
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T02-20-00Z_short_vwap_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T02:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4586.875,
      "stop": 4594.347,
      "target": 4571.932,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 9.82,
        "bb_width_pct": 0.918
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T02-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T02:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4586.875,
      "stop": 4611.27,
      "target": 4538.085,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.82,
        "bb_width_pct": 0.918
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T02-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T02:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4586.875,
      "stop": 4591.243,
      "target": 4578.139,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.82,
        "bb_width_pct": 0.918
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T02-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T02:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4587.25,
      "stop": 4591.371,
      "target": 4579.007,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.29,
        "bb_width_pct": 0.874
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T02-30-00Z_short_vwap_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4587.17,
      "stop": 4594.303,
      "target": 4572.905,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.16,
        "bb_width_pct": 0.842
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T02-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4587.17,
      "stop": 4609.635,
      "target": 4542.24,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.16,
        "bb_width_pct": 0.842
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T02-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T02:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4592.355,
      "stop": 4598.042,
      "target": 4580.982,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.34,
        "bb_width_pct": 0.765
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T02-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T02:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4593.505,
      "stop": 4599.17,
      "target": 4582.174,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.21,
        "bb_width_pct": 0.664
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T02-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4590.565,
      "stop": 4592.682,
      "target": 4586.33,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.63,
        "bb_width_pct": 0.645
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T02-45-00Z_short_vwap_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4590.565,
      "stop": 4598.491,
      "target": 4574.713,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.63,
        "bb_width_pct": 0.645
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T02-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4590.565,
      "stop": 4609.299,
      "target": 4553.097,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.63,
        "bb_width_pct": 0.645
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T02-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4590.565,
      "stop": 4594.361,
      "target": 4582.974,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.63,
        "bb_width_pct": 0.645
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T02-50-00Z_short_vwap_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T02:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4586.67,
      "stop": 4592.459,
      "target": 4575.093,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.91,
        "bb_width_pct": 0.563
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T02-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T02:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4586.67,
      "stop": 4603.149,
      "target": 4553.712,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.91,
        "bb_width_pct": 0.563
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T03-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T03:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4576.645,
      "stop": 4571.361,
      "target": 4587.213,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.29,
        "bb_width_pct": 0.545
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T03-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4576.195,
      "stop": 4570.998,
      "target": 4586.589,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.5,
        "bb_width_pct": 0.583
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T03-35-00Z_long_rsi_range_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T03:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4573.975,
      "stop": 4569.532,
      "target": 4582.86,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.2,
        "bb_width_pct": 0.567
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T03-50-00Z_long_rsi_range_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T03:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4573.395,
      "stop": 4569.766,
      "target": 4580.652,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.13,
        "bb_width_pct": 0.657
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T04-00-00Z_long_rsi_range_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T04:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4573.325,
      "stop": 4570.438,
      "target": 4579.1,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.26,
        "bb_width_pct": 0.666
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T04-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T04:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4573.325,
      "stop": 4571.998,
      "target": 4575.979,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.26,
        "bb_width_pct": 0.666
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T04-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4572.15,
      "stop": 4571.458,
      "target": 4573.534,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.71,
        "bb_width_pct": 0.197
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T04-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4572.15,
      "stop": 4566.166,
      "target": 4584.118,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.71,
        "bb_width_pct": 0.197
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T04-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4572.15,
      "stop": 4571.034,
      "target": 4574.381,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.71,
        "bb_width_pct": 0.197
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T04-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4570.19,
      "stop": 4568.808,
      "target": 4572.953,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.49,
        "bb_width_pct": 0.206
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T04-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4570.19,
      "stop": 4563.226,
      "target": 4584.118,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.49,
        "bb_width_pct": 0.206
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T04-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T04:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4570.51,
      "stop": 4563.706,
      "target": 4584.118,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.56,
        "bb_width_pct": 0.197
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T04-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T04:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4573.02,
      "stop": 4567.471,
      "target": 4584.118,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.58,
        "bb_width_pct": 0.184
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T05-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4569.295,
      "stop": 4567.902,
      "target": 4572.081,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.16,
        "bb_width_pct": 0.164
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T05-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4571.87,
      "stop": 4571.854,
      "target": 4571.901,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.26,
        "bb_width_pct": 0.15
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T05-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4571.87,
      "stop": 4565.746,
      "target": 4584.118,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 2.26,
        "bb_width_pct": 0.15
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T05-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4559.2,
      "stop": 4554.437,
      "target": 4568.725,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.06,
        "bb_width_pct": 0.541
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T05-35-00Z_long_rsi_range_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4559.2,
      "stop": 4554.437,
      "target": 4568.725,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.06,
        "bb_width_pct": 0.541
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T05-35-00Z_long_vwap_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4559.2,
      "stop": 4552.184,
      "target": 4573.232,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.06,
        "bb_width_pct": 0.541
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T05-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4559.2,
      "stop": 4550.832,
      "target": 4575.935,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.06,
        "bb_width_pct": 0.541
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T05-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4559.2,
      "stop": 4555.231,
      "target": 4567.139,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.06,
        "bb_width_pct": 0.541
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T05-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4566.94,
      "stop": 4566.85,
      "target": 4567.12,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.95,
        "bb_width_pct": 0.534
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T05-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4559.2,
      "stop": 4555.947,
      "target": 4565.705,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.9,
        "bb_width_pct": 0.565
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T05-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T05:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4555.78,
      "stop": 4551.29,
      "target": 4564.76,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.49,
        "bb_width_pct": 0.585
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T06-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4550.64,
      "stop": 4543.435,
      "target": 4565.05,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.69,
        "bb_width_pct": 0.64
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T06-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T06:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4549.3,
      "stop": 4543.755,
      "target": 4560.389,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.11,
        "bb_width_pct": 0.925
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T06-15-00Z_long_vwap_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T06:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4549.3,
      "stop": 4538.422,
      "target": 4571.055,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.11,
        "bb_width_pct": 0.925
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T06-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T06:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4549.3,
      "stop": 4544.059,
      "target": 4559.783,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 17.11,
        "bb_width_pct": 0.925
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T06-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T06:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4549.3,
      "stop": 4545.042,
      "target": 4557.816,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.11,
        "bb_width_pct": 0.925
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T06-20-00Z_long_vwap_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T06:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4551.38,
      "stop": 4541.675,
      "target": 4570.79,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.14,
        "bb_width_pct": 0.921
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T06-30-00Z_long_vwap_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4553.76,
      "stop": 4545.481,
      "target": 4570.317,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.76,
        "bb_width_pct": 0.88
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T06-45-00Z_long_vwap_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T06:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4547.91,
      "stop": 4537.119,
      "target": 4569.492,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.73,
        "bb_width_pct": 0.762
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T06-50-00Z_long_vwap_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T06:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4548.25,
      "stop": 4537.756,
      "target": 4569.237,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.77,
        "bb_width_pct": 0.683
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T07-20-00Z_short_rsi_range_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T07:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4557.125,
      "stop": 4560.254,
      "target": 4550.867,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 8.32,
        "bb_width_pct": 0.567
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T07-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T07:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4546.9,
      "stop": 4543.404,
      "target": 4553.892,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.2,
        "bb_width_pct": 0.554
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T07-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T07:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4544.61,
      "stop": 4540.703,
      "target": 4552.425,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.24,
        "bb_width_pct": 0.538
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T07-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T07:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4539.675,
      "stop": 4534.341,
      "target": 4550.343,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.67,
        "bb_width_pct": 0.497
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T08-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4545.915,
      "stop": 4543.838,
      "target": 4550.069,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.27,
        "bb_width_pct": 0.504
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T08-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4545.915,
      "stop": 4542.076,
      "target": 4553.593,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.27,
        "bb_width_pct": 0.504
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T08-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4545.915,
      "stop": 4543.817,
      "target": 4550.111,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.27,
        "bb_width_pct": 0.504
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T08-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T08:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4563.705,
      "stop": 4569.948,
      "target": 4551.219,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.68,
        "bb_width_pct": 0.579
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T08-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T08:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4562.59,
      "stop": 4567.881,
      "target": 4552.008,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.34,
        "bb_width_pct": 0.61
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T08-20-00Z_short_vwap_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T08:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4562.59,
      "stop": 4567.601,
      "target": 4552.567,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.34,
        "bb_width_pct": 0.61
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T08-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T08:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4562.59,
      "stop": 4567.203,
      "target": 4553.365,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.34,
        "bb_width_pct": 0.61
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T08-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T08:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4562.59,
      "stop": 4567.253,
      "target": 4553.263,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.34,
        "bb_width_pct": 0.61
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T08-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T08:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4565.695,
      "stop": 4571.319,
      "target": 4554.447,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.34,
        "bb_width_pct": 0.657
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T08-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4563.405,
      "stop": 4569.762,
      "target": 4550.69,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.98,
        "bb_width_pct": 0.702
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T08-45-00Z_short_rsi_range_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T08:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4565.145,
      "stop": 4569.61,
      "target": 4556.215,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 16.3,
        "bb_width_pct": 0.737
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T08-45-00Z_short_vwap_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T08:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4565.145,
      "stop": 4570.094,
      "target": 4555.247,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 16.3,
        "bb_width_pct": 0.737
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T08-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T08:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4565.145,
      "stop": 4572.373,
      "target": 4550.69,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 16.3,
        "bb_width_pct": 0.737
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T08-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T08:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4559.29,
      "stop": 4563.59,
      "target": 4550.69,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.1,
        "bb_width_pct": 0.739
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T09-05-00Z_short_rsi_range_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T09:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4562.73,
      "stop": 4565.881,
      "target": 4556.428,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 14.81,
        "bb_width_pct": 0.747
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T09-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T09:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4562.73,
      "stop": 4568.75,
      "target": 4550.69,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.81,
        "bb_width_pct": 0.747
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T09-10-00Z_short_rsi_range_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T09:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4562.365,
      "stop": 4565.149,
      "target": 4556.797,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 9.77,
        "bb_width_pct": 0.755
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T09-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T09:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4562.365,
      "stop": 4568.202,
      "target": 4550.69,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.77,
        "bb_width_pct": 0.755
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T09-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T09:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4556.11,
      "stop": 4558.82,
      "target": 4550.69,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.45,
        "bb_width_pct": 0.709
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T09-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T09:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4548.37,
      "stop": 4542.948,
      "target": 4559.214,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.77,
        "bb_width_pct": 0.608
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T09-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T09:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4548.37,
      "stop": 4544.92,
      "target": 4555.269,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.77,
        "bb_width_pct": 0.608
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T10-55-00Z_short_rsi_range_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T10:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4558.87,
      "stop": 4560.932,
      "target": 4554.746,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 11.64,
        "bb_width_pct": 0.431
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T11-10-00Z_short_vwap_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T11:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4567.84,
      "stop": 4572.572,
      "target": 4558.376,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.45,
        "bb_width_pct": 0.585
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T11-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T11:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4567.84,
      "stop": 4577.468,
      "target": 4548.585,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.45,
        "bb_width_pct": 0.585
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T11-15-00Z_short_vwap_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T11:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4567.765,
      "stop": 4572.186,
      "target": 4558.922,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.61,
        "bb_width_pct": 0.625
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T11-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T11:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4567.765,
      "stop": 4577.355,
      "target": 4548.585,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.61,
        "bb_width_pct": 0.625
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T11-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T11:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4567.765,
      "stop": 4571.668,
      "target": 4559.959,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.61,
        "bb_width_pct": 0.625
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T11-45-00Z_short_rsi_range_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T11:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4577.525,
      "stop": 4583.24,
      "target": 4566.095,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 27.31,
        "bb_width_pct": 0.981
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T11-45-00Z_short_vwap_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T11:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4577.525,
      "stop": 4583.84,
      "target": 4564.895,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 27.31,
        "bb_width_pct": 0.981
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T11-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T11:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4577.525,
      "stop": 4587.915,
      "target": 4556.745,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 27.31,
        "bb_width_pct": 0.981
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T11-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T11:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4577.525,
      "stop": 4581.449,
      "target": 4569.677,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 27.31,
        "bb_width_pct": 0.981
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T12-00-00Z_short_rsi_range_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4578.66,
      "stop": 4583.216,
      "target": 4569.548,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 22.49,
        "bb_width_pct": 0.956
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T12-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4578.66,
      "stop": 4589.617,
      "target": 4556.745,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 22.49,
        "bb_width_pct": 0.956
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T12-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4578.66,
      "stop": 4582.011,
      "target": 4571.958,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.49,
        "bb_width_pct": 0.956
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T12-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T12:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4581.09,
      "stop": 4585.221,
      "target": 4572.828,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.76,
        "bb_width_pct": 0.936
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T12-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T12:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4577.875,
      "stop": 4588.44,
      "target": 4556.745,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.8,
        "bb_width_pct": 0.88
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T12-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T12:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4577.875,
      "stop": 4580.158,
      "target": 4573.309,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.8,
        "bb_width_pct": 0.88
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T12-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T12:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4563.245,
      "stop": 4566.495,
      "target": 4556.745,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.38,
        "bb_width_pct": 0.843
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T12-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T12:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4556.33,
      "stop": 4548.219,
      "target": 4572.553,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.04,
        "bb_width_pct": 0.811
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T12-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T12:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4553.97,
      "stop": 4545.708,
      "target": 4570.495,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.14,
        "bb_width_pct": 1.143
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T12-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T12:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4553.97,
      "stop": 4548.774,
      "target": 4564.362,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.14,
        "bb_width_pct": 1.143
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T13-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4568.86,
      "stop": 4576.42,
      "target": 4553.74,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.42,
        "bb_width_pct": 1.13
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T14-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4545.63,
      "stop": 4541.578,
      "target": 4553.735,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.84,
        "bb_width_pct": 0.812
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T14-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4545.63,
      "stop": 4540.253,
      "target": 4556.385,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.84,
        "bb_width_pct": 0.812
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T14-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T14:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4568.355,
      "stop": 4573.071,
      "target": 4558.922,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.45,
        "bb_width_pct": 0.739
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T14-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T14:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4568.355,
      "stop": 4575.662,
      "target": 4553.74,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.45,
        "bb_width_pct": 0.739
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T14-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T14:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4568.355,
      "stop": 4572.245,
      "target": 4560.576,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.45,
        "bb_width_pct": 0.739
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T15-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T15:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4546.335,
      "stop": 4540.977,
      "target": 4557.051,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.99,
        "bb_width_pct": 0.774
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T15-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T15:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4546.335,
      "stop": 4540.397,
      "target": 4558.211,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.99,
        "bb_width_pct": 0.774
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T16-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T16:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4556.4,
      "stop": 4555.277,
      "target": 4558.646,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.67,
        "bb_width_pct": 0.576
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T17-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T17:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4551.175,
      "stop": 4548.899,
      "target": 4555.727,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.38,
        "bb_width_pct": 0.339
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T17-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T17:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4551.935,
      "stop": 4550.471,
      "target": 4554.863,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.99,
        "bb_width_pct": 0.382
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T17-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T17:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4561.685,
      "stop": 4565.115,
      "target": 4554.825,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.79,
        "bb_width_pct": 0.398
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T18-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T18:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4542.005,
      "stop": 4536.799,
      "target": 4552.418,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.23,
        "bb_width_pct": 0.48
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T18-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T18:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4542.005,
      "stop": 4537.351,
      "target": 4551.314,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.23,
        "bb_width_pct": 0.48
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T18-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T18:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4538.295,
      "stop": 4532.406,
      "target": 4550.074,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.98,
        "bb_width_pct": 0.54
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T20-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4504.62,
      "stop": 4497.732,
      "target": 4518.397,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.21,
        "bb_width_pct": 0.83
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T20-40-00Z_long_vwap_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4504.62,
      "stop": 4488.577,
      "target": 4536.706,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.21,
        "bb_width_pct": 0.83
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T20-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4504.62,
      "stop": 4493.026,
      "target": 4527.807,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.21,
        "bb_width_pct": 0.83
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T20-45-00Z_long_vwap_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T20:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4506.245,
      "stop": 4491.359,
      "target": 4536.018,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.97,
        "bb_width_pct": 0.814
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T20-55-00Z_long_vwap_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T20:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4506.845,
      "stop": 4492.904,
      "target": 4534.726,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.48,
        "bb_width_pct": 0.859
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T20-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T20:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4506.845,
      "stop": 4501.012,
      "target": 4518.511,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.48,
        "bb_width_pct": 0.859
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T22-10-00Z_long_vwap_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T22:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4512.665,
      "stop": 4488.73,
      "target": 4560.535,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.1,
        "bb_width_pct": 0.876
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T22-20-00Z_long_vwap_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T22:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4517.52,
      "stop": 4497.689,
      "target": 4557.181,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.03,
        "bb_width_pct": 0.883
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T22-30-00Z_long_vwap_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T22:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4520.215,
      "stop": 4503.083,
      "target": 4554.478,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.71,
        "bb_width_pct": 0.89
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T22-35-00Z_long_vwap_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T22:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4526.06,
      "stop": 4512.336,
      "target": 4553.507,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.59,
        "bb_width_pct": 0.866
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T22-40-00Z_long_vwap_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T22:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4532.29,
      "stop": 4522.038,
      "target": 4552.794,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.99,
        "bb_width_pct": 0.84
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T22-55-00Z_long_vwap_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T22:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4517.76,
      "stop": 4501.623,
      "target": 4550.034,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.56,
        "bb_width_pct": 0.711
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T23-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4507.505,
      "stop": 4504.459,
      "target": 4513.597,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.34,
        "bb_width_pct": 0.702
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T23-05-00Z_long_vwap_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4507.505,
      "stop": 4487.358,
      "target": 4547.799,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.34,
        "bb_width_pct": 0.702
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T23-10-00Z_long_vwap_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4509.015,
      "stop": 4490.11,
      "target": 4546.826,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.2,
        "bb_width_pct": 0.69
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T23-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T23:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4505.56,
      "stop": 4501.834,
      "target": 4513.011,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.79,
        "bb_width_pct": 0.69
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T23-25-00Z_long_vwap_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T23:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4505.56,
      "stop": 4486.426,
      "target": 4543.829,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.79,
        "bb_width_pct": 0.69
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T23-30-00Z_long_vwap_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4505.965,
      "stop": 4487.46,
      "target": 4542.975,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.95,
        "bb_width_pct": 0.681
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T23-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4494.25,
      "stop": 4486.114,
      "target": 4510.523,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.66,
        "bb_width_pct": 0.765
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T23-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4494.965,
      "stop": 4486.863,
      "target": 4511.169,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.52,
        "bb_width_pct": 0.814
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T23-40-00Z_long_rsi_range_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4494.965,
      "stop": 4486.863,
      "target": 4511.169,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.52,
        "bb_width_pct": 0.814
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T23-40-00Z_long_vwap_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4494.965,
      "stop": 4472.017,
      "target": 4540.861,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.52,
        "bb_width_pct": 0.814
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T23-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4494.965,
      "stop": 4484.459,
      "target": 4515.977,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 20.52,
        "bb_width_pct": 0.814
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T23-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4494.965,
      "stop": 4487.927,
      "target": 4509.041,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.52,
        "bb_width_pct": 0.814
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T23-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4492.575,
      "stop": 4485.126,
      "target": 4507.473,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.67,
        "bb_width_pct": 0.89
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T23-50-00Z_long_rsi_range_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T23:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4495.7,
      "stop": 4488.809,
      "target": 4509.482,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.88,
        "bb_width_pct": 0.932
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T23-50-00Z_long_vwap_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T23:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4495.7,
      "stop": 4474.1,
      "target": 4538.9,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.88,
        "bb_width_pct": 0.932
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T23-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T23:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4495.7,
      "stop": 4485.765,
      "target": 4515.57,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.88,
        "bb_width_pct": 0.932
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T23-55-00Z_long_rsi_range_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T23:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4498.115,
      "stop": 4492.692,
      "target": 4508.96,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.03,
        "bb_width_pct": 0.957
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T23-55-00Z_long_vwap_mean_reversion",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T23:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4498.115,
      "stop": 4478.154,
      "target": 4538.037,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.03,
        "bb_width_pct": 0.957
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-25T23-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T23:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4498.115,
      "stop": 4489.387,
      "target": 4515.57,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.03,
        "bb_width_pct": 0.957
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T00-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T00:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4527.595,
      "stop": 4536.802,
      "target": 4509.18,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.95,
        "bb_width_pct": 1.004
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T00-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T00:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4527.595,
      "stop": 4533.608,
      "target": 4515.57,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.95,
        "bb_width_pct": 1.004
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T00-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T00:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4526.805,
      "stop": 4535.755,
      "target": 4508.906,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.1,
        "bb_width_pct": 0.959
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T00-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T00:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4526.805,
      "stop": 4533.721,
      "target": 4512.972,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.1,
        "bb_width_pct": 0.959
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T00-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T00:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4526.805,
      "stop": 4534.135,
      "target": 4512.145,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.1,
        "bb_width_pct": 0.959
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T00-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T00:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4525.58,
      "stop": 4532.095,
      "target": 4512.55,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.66,
        "bb_width_pct": 0.996
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T00-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T00:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4525.58,
      "stop": 4531.658,
      "target": 4513.424,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.66,
        "bb_width_pct": 0.996
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T00-30-00Z_short_rsi_range_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4525.29,
      "stop": 4533.094,
      "target": 4509.682,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 13.96,
        "bb_width_pct": 1.033
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T00-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4525.29,
      "stop": 4531.66,
      "target": 4512.55,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.96,
        "bb_width_pct": 1.033
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T00-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4525.29,
      "stop": 4530.658,
      "target": 4514.554,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.96,
        "bb_width_pct": 1.033
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T00-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T00:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4528.14,
      "stop": 4533.745,
      "target": 4516.93,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 24.9,
        "bb_width_pct": 1.124
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T01-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4530.67,
      "stop": 4537.533,
      "target": 4516.945,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.36,
        "bb_width_pct": 0.868
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T01-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T01:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4530.37,
      "stop": 4537.083,
      "target": 4516.945,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.75,
        "bb_width_pct": 0.498
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T02-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4523.355,
      "stop": 4519.259,
      "target": 4531.547,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.29,
        "bb_width_pct": 0.388
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T02-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T02:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4519.6,
      "stop": 4514.63,
      "target": 4529.539,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.94,
        "bb_width_pct": 0.513
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T02-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T02:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4519.6,
      "stop": 4516.218,
      "target": 4526.365,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.94,
        "bb_width_pct": 0.513
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T02-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4516.795,
      "stop": 4510.978,
      "target": 4528.43,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.16,
        "bb_width_pct": 0.531
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T02-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T02:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4515.46,
      "stop": 4509.552,
      "target": 4527.276,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.76,
        "bb_width_pct": 0.546
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T02-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T02:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4515.46,
      "stop": 4510.939,
      "target": 4524.502,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.76,
        "bb_width_pct": 0.546
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T03-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T03:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4511.45,
      "stop": 4505.987,
      "target": 4522.376,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.02,
        "bb_width_pct": 0.841
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T03-10-00Z_long_rsi_range_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T03:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4511.45,
      "stop": 4505.987,
      "target": 4522.376,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.02,
        "bb_width_pct": 0.841
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T03-10-00Z_long_vwap_mean_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T03:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4511.45,
      "stop": 4504.243,
      "target": 4525.863,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.02,
        "bb_width_pct": 0.841
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T03-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T03:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4511.45,
      "stop": 4507.734,
      "target": 4518.883,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.02,
        "bb_width_pct": 0.841
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T03-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4507.78,
      "stop": 4502.757,
      "target": 4517.825,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.85,
        "bb_width_pct": 0.867
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T03-25-00Z_long_rsi_range_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4506.46,
      "stop": 4500.183,
      "target": 4519.014,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.27,
        "bb_width_pct": 0.932
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T03-25-00Z_long_vwap_mean_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4506.46,
      "stop": 4497.438,
      "target": 4524.504,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.27,
        "bb_width_pct": 0.932
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T03-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4506.46,
      "stop": 4498.472,
      "target": 4522.435,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 17.27,
        "bb_width_pct": 0.932
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T03-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4516.37,
      "stop": 4513.337,
      "target": 4522.435,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.64,
        "bb_width_pct": 0.904
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T04-30-00Z_short_rsi_range_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T04:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4519.945,
      "stop": 4523.224,
      "target": 4513.387,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 20.83,
        "bb_width_pct": 0.477
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T04-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4521.975,
      "stop": 4524.172,
      "target": 4517.582,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.67,
        "bb_width_pct": 0.414
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T05-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4511.82,
      "stop": 4509.032,
      "target": 4517.395,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.4,
        "bb_width_pct": 0.251
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T05-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4511.82,
      "stop": 4508.969,
      "target": 4517.522,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.4,
        "bb_width_pct": 0.251
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T05-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4510.735,
      "stop": 4507.769,
      "target": 4516.667,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.24,
        "bb_width_pct": 0.325
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T05-15-00Z_long_vwap_mean_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4510.735,
      "stop": 4505.194,
      "target": 4521.817,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.24,
        "bb_width_pct": 0.325
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T05-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4510.735,
      "stop": 4508.047,
      "target": 4516.112,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.24,
        "bb_width_pct": 0.325
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T07-20-00Z_short_rsi_range_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T07:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4446.915,
      "stop": 4447.429,
      "target": 4445.886,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 11.46,
        "bb_width_pct": 1.033
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T07-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T07:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4446.915,
      "stop": 4442.77,
      "target": 4455.205,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.46,
        "bb_width_pct": 1.033
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T07-45-00Z_short_rsi_range_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T07:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4458.91,
      "stop": 4464.705,
      "target": 4447.321,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 8.09,
        "bb_width_pct": 0.929
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T08-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T08:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4445.38,
      "stop": 4441.953,
      "target": 4452.234,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.16,
        "bb_width_pct": 0.432
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T08-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T08:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4445.63,
      "stop": 4442.263,
      "target": 4452.364,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.48,
        "bb_width_pct": 0.412
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T08-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T08:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4445.63,
      "stop": 4441.722,
      "target": 4453.447,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.48,
        "bb_width_pct": 0.412
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T08-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4438.215,
      "stop": 4432.447,
      "target": 4449.751,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.43,
        "bb_width_pct": 0.757
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T08-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4438.215,
      "stop": 4425.493,
      "target": 4463.66,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.43,
        "bb_width_pct": 0.757
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T08-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4438.215,
      "stop": 4433.216,
      "target": 4448.212,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.43,
        "bb_width_pct": 0.757
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T08-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4433.605,
      "stop": 4426.112,
      "target": 4448.591,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.52,
        "bb_width_pct": 0.805
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T08-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4433.605,
      "stop": 4426.997,
      "target": 4446.821,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.52,
        "bb_width_pct": 0.805
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T08-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T08:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4424.37,
      "stop": 4413.81,
      "target": 4445.49,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.96,
        "bb_width_pct": 1.056
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T08-45-00Z_long_rsi_range_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T08:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4424.37,
      "stop": 4413.81,
      "target": 4445.49,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.96,
        "bb_width_pct": 1.056
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T08-45-00Z_long_vwap_mean_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T08:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4424.37,
      "stop": 4413.492,
      "target": 4446.126,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.96,
        "bb_width_pct": 1.056
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T08-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T08:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4424.37,
      "stop": 4409.549,
      "target": 4454.012,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 19.96,
        "bb_width_pct": 1.056
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T08-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T08:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4424.37,
      "stop": 4415.364,
      "target": 4442.383,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.96,
        "bb_width_pct": 1.056
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T08-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T08:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4436.765,
      "stop": 4428.141,
      "target": 4454.012,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.07,
        "bb_width_pct": 1.068
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T09-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4422.775,
      "stop": 4417.023,
      "target": 4434.279,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.15,
        "bb_width_pct": 0.928
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T09-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4428.135,
      "stop": 4423.094,
      "target": 4438.217,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.74,
        "bb_width_pct": 0.854
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T09-50-00Z_long_vwap_mean_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T09:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4425.6,
      "stop": 4418.792,
      "target": 4439.216,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.81,
        "bb_width_pct": 0.563
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T09-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T09:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4425.6,
      "stop": 4419.291,
      "target": 4438.217,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.81,
        "bb_width_pct": 0.563
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T10-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T10:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4420.955,
      "stop": 4417.726,
      "target": 4427.413,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.03,
        "bb_width_pct": 0.465
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T10-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T10:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4422.61,
      "stop": 4414.806,
      "target": 4438.217,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.53,
        "bb_width_pct": 0.473
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T10-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T10:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4434.385,
      "stop": 4438.329,
      "target": 4426.498,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.63,
        "bb_width_pct": 0.421
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T10-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T10:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4441.92,
      "stop": 4447.253,
      "target": 4431.254,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.12,
        "bb_width_pct": 0.56
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T10-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T10:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4439.725,
      "stop": 4445.298,
      "target": 4428.578,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.48,
        "bb_width_pct": 0.58
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T10-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T10:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4431.445,
      "stop": 4432.794,
      "target": 4428.748,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.18,
        "bb_width_pct": 0.583
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T10-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T10:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4439.825,
      "stop": 4444.67,
      "target": 4430.136,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.1,
        "bb_width_pct": 0.651
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T10-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T10:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4443.675,
      "stop": 4450.046,
      "target": 4430.933,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.47,
        "bb_width_pct": 0.701
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T11-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4446.025,
      "stop": 4453.195,
      "target": 4431.685,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.5,
        "bb_width_pct": 0.761
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T11-10-00Z_short_rsi_range_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T11:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4441.99,
      "stop": 4446.412,
      "target": 4433.145,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 14.19,
        "bb_width_pct": 0.787
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T11-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T11:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4447.635,
      "stop": 4453.81,
      "target": 4435.285,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.35,
        "bb_width_pct": 0.841
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T11-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T11:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4447.635,
      "stop": 4452.135,
      "target": 4438.635,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.35,
        "bb_width_pct": 0.841
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T11-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T11:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4440.885,
      "stop": 4444.001,
      "target": 4434.653,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.85,
        "bb_width_pct": 0.67
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T11-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T11:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4426.57,
      "stop": 4419.805,
      "target": 4440.1,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.73,
        "bb_width_pct": 0.632
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T11-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T11:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4427.66,
      "stop": 4421.374,
      "target": 4440.232,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.17,
        "bb_width_pct": 0.608
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T11-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T11:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4427.66,
      "stop": 4422.294,
      "target": 4438.393,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.17,
        "bb_width_pct": 0.608
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T11-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T11:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4423.24,
      "stop": 4416.385,
      "target": 4436.949,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.62,
        "bb_width_pct": 0.686
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T12-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4425.725,
      "stop": 4419.138,
      "target": 4438.9,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.46,
        "bb_width_pct": 0.737
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T12-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4425.725,
      "stop": 4420.695,
      "target": 4435.785,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 13.46,
        "bb_width_pct": 0.737
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T12-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4425.725,
      "stop": 4420.647,
      "target": 4435.88,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.46,
        "bb_width_pct": 0.737
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T13-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T13:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4450.475,
      "stop": 4456.45,
      "target": 4438.526,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.24,
        "bb_width_pct": 0.599
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T13-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T13:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4448.175,
      "stop": 4453.717,
      "target": 4437.091,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.98,
        "bb_width_pct": 0.611
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T13-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T13:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4448.175,
      "stop": 4453.853,
      "target": 4436.82,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.98,
        "bb_width_pct": 0.611
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T13-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4442.9,
      "stop": 4445.423,
      "target": 4437.853,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.84,
        "bb_width_pct": 0.588
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T13-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4442.9,
      "stop": 4445.94,
      "target": 4436.82,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.84,
        "bb_width_pct": 0.588
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T13-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4452.46,
      "stop": 4458.461,
      "target": 4440.458,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.71,
        "bb_width_pct": 0.58
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T13-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4452.46,
      "stop": 4460.28,
      "target": 4436.82,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.71,
        "bb_width_pct": 0.58
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T13-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4452.46,
      "stop": 4457.791,
      "target": 4441.799,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.71,
        "bb_width_pct": 0.58
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T13-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T13:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4452.84,
      "stop": 4459.808,
      "target": 4438.905,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.55,
        "bb_width_pct": 0.691
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T14-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4450.13,
      "stop": 4455.743,
      "target": 4438.905,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.62,
        "bb_width_pct": 0.705
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T14-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T14:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4455.2,
      "stop": 4460.71,
      "target": 4444.18,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.12,
        "bb_width_pct": 0.724
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T14-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T14:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4458.91,
      "stop": 4465.722,
      "target": 4445.286,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.48,
        "bb_width_pct": 0.761
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T14-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T14:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4458.91,
      "stop": 4464.702,
      "target": 4447.326,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.48,
        "bb_width_pct": 0.761
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T14-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T14:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4459.32,
      "stop": 4465.731,
      "target": 4446.497,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.46,
        "bb_width_pct": 0.778
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T14-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T14:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4468.82,
      "stop": 4477.943,
      "target": 4450.574,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.45,
        "bb_width_pct": 0.899
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T14-35-00Z_short_vwap_mean_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T14:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4468.82,
      "stop": 4480.959,
      "target": 4444.542,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.45,
        "bb_width_pct": 0.899
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T14-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T14:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4468.82,
      "stop": 4480.116,
      "target": 4446.227,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.45,
        "bb_width_pct": 0.899
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T14-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T14:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4468.82,
      "stop": 4476.882,
      "target": 4452.697,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.45,
        "bb_width_pct": 0.899
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T14-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T14:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4460.38,
      "stop": 4464.724,
      "target": 4451.693,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.04,
        "bb_width_pct": 0.879
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T14-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T14:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4460.38,
      "stop": 4466.625,
      "target": 4447.89,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.04,
        "bb_width_pct": 0.879
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T14-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T14:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4460.38,
      "stop": 4463.856,
      "target": 4453.429,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.04,
        "bb_width_pct": 0.879
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T15-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T15:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4442.675,
      "stop": 4435.793,
      "target": 4456.439,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.53,
        "bb_width_pct": 0.672
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T15-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T15:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4440.355,
      "stop": 4432.625,
      "target": 4455.814,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.3,
        "bb_width_pct": 0.74
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T15-45-00Z_long_rsi_range_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T15:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4443.52,
      "stop": 4437.718,
      "target": 4455.124,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.86,
        "bb_width_pct": 0.814
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T15-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T15:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4438.415,
      "stop": 4430.51,
      "target": 4454.226,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.32,
        "bb_width_pct": 0.881
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T16-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4436.945,
      "stop": 4428.854,
      "target": 4453.127,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.06,
        "bb_width_pct": 0.938
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T16-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4436.945,
      "stop": 4431.434,
      "target": 4447.968,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.06,
        "bb_width_pct": 0.938
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T16-05-00Z_long_rsi_range_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T16:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4439.52,
      "stop": 4433.211,
      "target": 4452.137,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.28,
        "bb_width_pct": 0.965
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T16-10-00Z_long_rsi_range_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T16:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4439.945,
      "stop": 4434.726,
      "target": 4450.382,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.15,
        "bb_width_pct": 0.869
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T17-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T17:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4384.19,
      "stop": 4378.015,
      "target": 4396.54,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.35,
        "bb_width_pct": 0.928
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T17-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T17:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4381.575,
      "stop": 4374.805,
      "target": 4395.115,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.43,
        "bb_width_pct": 0.564
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T18-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T18:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4387.205,
      "stop": 4371.778,
      "target": 4418.06,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 2.93,
        "bb_width_pct": 0.489
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T18-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T18:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4388.49,
      "stop": 4373.705,
      "target": 4418.06,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.57,
        "bb_width_pct": 0.474
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T18-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T18:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4376.8,
      "stop": 4370.066,
      "target": 4390.267,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.67,
        "bb_width_pct": 0.466
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T18-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4381.78,
      "stop": 4379.587,
      "target": 4386.165,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.32,
        "bb_width_pct": 0.536
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T18-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4381.78,
      "stop": 4366.247,
      "target": 4412.845,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.32,
        "bb_width_pct": 0.536
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T18-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4381.78,
      "stop": 4378.625,
      "target": 4388.089,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.32,
        "bb_width_pct": 0.536
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T18-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T18:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4389.88,
      "stop": 4378.398,
      "target": 4412.845,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 2.92,
        "bb_width_pct": 0.538
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T18-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T18:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4395.495,
      "stop": 4400.161,
      "target": 4386.162,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.11,
        "bb_width_pct": 0.524
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T18-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T18:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4394.24,
      "stop": 4398.291,
      "target": 4386.137,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.08,
        "bb_width_pct": 0.521
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T19-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T19:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4390.35,
      "stop": 4392.398,
      "target": 4386.255,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.49,
        "bb_width_pct": 0.516
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T19-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T19:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4381.62,
      "stop": 4370.708,
      "target": 4403.445,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.72,
        "bb_width_pct": 0.542
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T19-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T19:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4381.62,
      "stop": 4378.311,
      "target": 4388.239,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.72,
        "bb_width_pct": 0.542
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T19-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T19:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4375.965,
      "stop": 4371.008,
      "target": 4385.879,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.37,
        "bb_width_pct": 0.585
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T20-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T20:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4397.175,
      "stop": 4404.539,
      "target": 4382.447,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.53,
        "bb_width_pct": 1.171
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T20-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T20:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4397.195,
      "stop": 4405.424,
      "target": 4380.738,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.91,
        "bb_width_pct": 1.199
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T22-45-00Z_long_vwap_mean_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T22:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4408.145,
      "stop": 4398.752,
      "target": 4426.931,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.38,
        "bb_width_pct": 0.909
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T22-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T22:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4406.76,
      "stop": 4417.114,
      "target": 4386.052,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.22,
        "bb_width_pct": 0.916
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T22-55-00Z_long_vwap_mean_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T22:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4411.33,
      "stop": 4404.024,
      "target": 4425.942,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.61,
        "bb_width_pct": 0.937
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T23-00-00Z_short_rsi_range_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4402.455,
      "stop": 4403.01,
      "target": 4401.345,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 19.42,
        "bb_width_pct": 0.937
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T23-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4402.455,
      "stop": 4410.656,
      "target": 4386.052,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 19.42,
        "bb_width_pct": 0.937
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T23-10-00Z_long_vwap_mean_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4393.28,
      "stop": 4378.009,
      "target": 4423.822,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.87,
        "bb_width_pct": 0.964
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T23-15-00Z_long_vwap_mean_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4401.15,
      "stop": 4390.135,
      "target": 4423.181,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.41,
        "bb_width_pct": 0.872
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T23-25-00Z_long_vwap_mean_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T23:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4399.285,
      "stop": 4387.951,
      "target": 4421.954,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.9,
        "bb_width_pct": 0.86
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T23-30-00Z_long_vwap_mean_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4399.75,
      "stop": 4388.909,
      "target": 4421.431,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.31,
        "bb_width_pct": 0.717
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T23-35-00Z_long_vwap_mean_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4405.5,
      "stop": 4397.727,
      "target": 4421.046,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.8,
        "bb_width_pct": 0.562
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-26T23-50-00Z_long_vwap_mean_reversion",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T23:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4405.335,
      "stop": 4398.123,
      "target": 4419.759,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.36,
        "bb_width_pct": 0.472
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T00-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T00:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4389.745,
      "stop": 4384.31,
      "target": 4400.614,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.51,
        "bb_width_pct": 0.534
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T00-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T00:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4391.265,
      "stop": 4386.489,
      "target": 4400.816,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.62,
        "bb_width_pct": 0.554
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T00-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T00:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4391.265,
      "stop": 4387.036,
      "target": 4399.724,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.62,
        "bb_width_pct": 0.554
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T00-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T00:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4390.42,
      "stop": 4386.02,
      "target": 4399.22,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.82,
        "bb_width_pct": 0.53
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T01-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4388.54,
      "stop": 4384.707,
      "target": 4396.207,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.0,
        "bb_width_pct": 0.783
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T01-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4388.54,
      "stop": 4385.694,
      "target": 4394.233,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 16.0,
        "bb_width_pct": 0.783
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T01-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4388.54,
      "stop": 4386.236,
      "target": 4393.148,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.0,
        "bb_width_pct": 0.783
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T01-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4411.53,
      "stop": 4419.407,
      "target": 4395.775,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.84,
        "bb_width_pct": 0.837
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T01-45-00Z_short_vwap_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T01:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4412.865,
      "stop": 4420.379,
      "target": 4397.837,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 19.39,
        "bb_width_pct": 1.026
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T01-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T01:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4412.865,
      "stop": 4420.297,
      "target": 4398.0,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 19.39,
        "bb_width_pct": 1.026
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T01-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T01:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4412.865,
      "stop": 4418.398,
      "target": 4401.799,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.39,
        "bb_width_pct": 1.026
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T01-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T01:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4414.75,
      "stop": 4420.609,
      "target": 4403.032,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 26.91,
        "bb_width_pct": 1.076
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T02-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4430.17,
      "stop": 4434.641,
      "target": 4421.228,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.27,
        "bb_width_pct": 1.196
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T02-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T02:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4430.92,
      "stop": 4435.304,
      "target": 4422.151,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.3,
        "bb_width_pct": 1.082
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T03-00-00Z_short_vwap_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4426.12,
      "stop": 4433.95,
      "target": 4410.46,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.31,
        "bb_width_pct": 0.773
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T03-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4426.12,
      "stop": 4435.149,
      "target": 4408.062,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.31,
        "bb_width_pct": 0.773
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T03-05-00Z_short_vwap_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T03:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4425.115,
      "stop": 4432.243,
      "target": 4410.859,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.66,
        "bb_width_pct": 0.673
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T03-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4434.14,
      "stop": 4436.089,
      "target": 4430.242,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.27,
        "bb_width_pct": 0.363
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T03-30-00Z_short_vwap_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4434.14,
      "stop": 4444.584,
      "target": 4413.252,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.27,
        "bb_width_pct": 0.363
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T03-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4434.14,
      "stop": 4447.179,
      "target": 4408.062,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.27,
        "bb_width_pct": 0.363
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T03-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4434.14,
      "stop": 4437.725,
      "target": 4426.97,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.27,
        "bb_width_pct": 0.363
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T03-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T03:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4435.975,
      "stop": 4438.037,
      "target": 4431.852,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.66,
        "bb_width_pct": 0.372
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T03-40-00Z_short_vwap_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T03:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4435.975,
      "stop": 4446.74,
      "target": 4414.444,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.66,
        "bb_width_pct": 0.372
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T03-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T03:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4435.975,
      "stop": 4448.976,
      "target": 4409.972,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.66,
        "bb_width_pct": 0.372
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T03-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T03:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4435.975,
      "stop": 4439.298,
      "target": 4429.329,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.66,
        "bb_width_pct": 0.372
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T03-45-00Z_short_vwap_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T03:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4434.81,
      "stop": 4444.773,
      "target": 4414.885,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.89,
        "bb_width_pct": 0.366
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T03-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T03:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4434.81,
      "stop": 4446.751,
      "target": 4410.927,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.89,
        "bb_width_pct": 0.366
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T03-55-00Z_short_vwap_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T03:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4437.655,
      "stop": 4448.582,
      "target": 4415.802,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.26,
        "bb_width_pct": 0.392
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T03-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T03:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4437.655,
      "stop": 4451.019,
      "target": 4410.927,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.26,
        "bb_width_pct": 0.392
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T04-00-00Z_short_vwap_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T04:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4437.48,
      "stop": 4448.096,
      "target": 4416.247,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.78,
        "bb_width_pct": 0.397
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T04-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T04:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4437.48,
      "stop": 4450.756,
      "target": 4410.927,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.78,
        "bb_width_pct": 0.397
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T04-05-00Z_short_vwap_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4434.41,
      "stop": 4443.305,
      "target": 4416.621,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.91,
        "bb_width_pct": 0.396
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T04-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4434.41,
      "stop": 4446.151,
      "target": 4410.927,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.91,
        "bb_width_pct": 0.396
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T04-10-00Z_short_vwap_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T04:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4433.985,
      "stop": 4442.489,
      "target": 4416.976,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.34,
        "bb_width_pct": 0.396
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T04-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T04:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4433.985,
      "stop": 4445.514,
      "target": 4410.927,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.34,
        "bb_width_pct": 0.396
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T04-15-00Z_short_vwap_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T04:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4433.31,
      "stop": 4441.322,
      "target": 4417.287,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.47,
        "bb_width_pct": 0.391
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T04-25-00Z_short_vwap_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T04:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4434.21,
      "stop": 4442.345,
      "target": 4417.94,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.89,
        "bb_width_pct": 0.381
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T04-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4440.285,
      "stop": 4443.345,
      "target": 4434.164,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.4,
        "bb_width_pct": 0.41
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T04-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T04:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4445.955,
      "stop": 4450.028,
      "target": 4437.81,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.57,
        "bb_width_pct": 0.389
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T05-00-00Z_short_vwap_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4443.1,
      "stop": 4454.276,
      "target": 4420.748,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.09,
        "bb_width_pct": 0.372
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T05-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4443.1,
      "stop": 4449.195,
      "target": 4430.91,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.09,
        "bb_width_pct": 0.372
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T05-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4443.1,
      "stop": 4445.636,
      "target": 4438.028,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.09,
        "bb_width_pct": 0.372
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T05-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4444.575,
      "stop": 4447.413,
      "target": 4438.9,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.26,
        "bb_width_pct": 0.384
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T05-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4444.575,
      "stop": 4447.537,
      "target": 4438.651,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.26,
        "bb_width_pct": 0.384
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T05-10-00Z_short_vwap_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4444.02,
      "stop": 4455.278,
      "target": 4421.504,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 16.54,
        "bb_width_pct": 0.384
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T05-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4444.02,
      "stop": 4450.103,
      "target": 4431.855,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 16.54,
        "bb_width_pct": 0.384
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T05-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4444.02,
      "stop": 4446.449,
      "target": 4439.163,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.54,
        "bb_width_pct": 0.384
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T05-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4445.295,
      "stop": 4448.069,
      "target": 4439.747,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.99,
        "bb_width_pct": 0.389
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T05-20-00Z_short_rsi_range_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4444.0,
      "stop": 4446.08,
      "target": 4439.84,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 18.8,
        "bb_width_pct": 0.392
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T05-20-00Z_short_vwap_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4444.0,
      "stop": 4454.89,
      "target": 4422.22,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 18.8,
        "bb_width_pct": 0.392
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T05-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4444.0,
      "stop": 4448.195,
      "target": 4435.61,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.8,
        "bb_width_pct": 0.392
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T05-25-00Z_short_rsi_range_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4443.38,
      "stop": 4444.936,
      "target": 4440.269,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 13.06,
        "bb_width_pct": 0.383
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T05-25-00Z_short_vwap_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4443.38,
      "stop": 4453.801,
      "target": 4422.537,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.06,
        "bb_width_pct": 0.383
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T05-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T05:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4462.54,
      "stop": 4470.809,
      "target": 4446.002,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 23.66,
        "bb_width_pct": 0.967
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T05-45-00Z_short_rsi_range_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T05:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4462.54,
      "stop": 4470.809,
      "target": 4446.002,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 23.66,
        "bb_width_pct": 0.967
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T05-45-00Z_short_vwap_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T05:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4462.54,
      "stop": 4481.35,
      "target": 4424.92,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 23.66,
        "bb_width_pct": 0.967
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T05-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T05:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4462.54,
      "stop": 4469.637,
      "target": 4448.345,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 23.66,
        "bb_width_pct": 0.967
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T05-50-00Z_short_rsi_range_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4461.56,
      "stop": 4468.65,
      "target": 4447.381,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 20.34,
        "bb_width_pct": 0.979
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T05-50-00Z_short_vwap_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4461.56,
      "stop": 4479.624,
      "target": 4425.432,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 20.34,
        "bb_width_pct": 0.979
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T05-55-00Z_short_vwap_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T05:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4454.575,
      "stop": 4468.93,
      "target": 4425.865,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 9.02,
        "bb_width_pct": 0.944
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T05-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T05:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4454.575,
      "stop": 4456.671,
      "target": 4450.382,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.02,
        "bb_width_pct": 0.944
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T06-15-00Z_short_vwap_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T06:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4465.24,
      "stop": 4483.957,
      "target": 4427.806,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 17.84,
        "bb_width_pct": 0.941
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T06-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T06:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4465.24,
      "stop": 4473.688,
      "target": 4448.345,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.84,
        "bb_width_pct": 0.941
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T06-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T06:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4465.24,
      "stop": 4470.428,
      "target": 4454.865,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.84,
        "bb_width_pct": 0.941
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T06-20-00Z_short_vwap_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T06:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4462.795,
      "stop": 4480.07,
      "target": 4428.246,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.23,
        "bb_width_pct": 0.922
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T06-30-00Z_short_vwap_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4463.325,
      "stop": 4480.414,
      "target": 4429.148,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.42,
        "bb_width_pct": 0.892
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T06-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4463.325,
      "stop": 4469.124,
      "target": 4451.727,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.42,
        "bb_width_pct": 0.892
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T06-40-00Z_short_vwap_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T06:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4464.66,
      "stop": 4481.963,
      "target": 4430.055,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.96,
        "bb_width_pct": 0.84
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T06-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T06:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4464.66,
      "stop": 4471.126,
      "target": 4451.727,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.96,
        "bb_width_pct": 0.84
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T06-45-00Z_short_vwap_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T06:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4460.825,
      "stop": 4476.015,
      "target": 4430.445,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.62,
        "bb_width_pct": 0.788
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T06-55-00Z_short_vwap_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T06:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4459.605,
      "stop": 4473.827,
      "target": 4431.162,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 1.79,
        "bb_width_pct": 0.652
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T07-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T07:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4455.76,
      "stop": 4452.542,
      "target": 4462.197,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.19,
        "bb_width_pct": 0.468
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T07-20-00Z_long_rsi_range_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T07:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4455.09,
      "stop": 4452.447,
      "target": 4460.376,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.29,
        "bb_width_pct": 0.452
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T07-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T07:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4448.31,
      "stop": 4442.997,
      "target": 4458.935,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.75,
        "bb_width_pct": 0.547
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T07-45-00Z_long_rsi_range_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T07:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4451.505,
      "stop": 4448.051,
      "target": 4458.413,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.31,
        "bb_width_pct": 0.562
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T07-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T07:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4444.105,
      "stop": 4439.224,
      "target": 4453.867,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.4,
        "bb_width_pct": 0.563
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T07-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T07:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4447.915,
      "stop": 4443.286,
      "target": 4457.173,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.81,
        "bb_width_pct": 0.563
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T08-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T08:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4446.09,
      "stop": 4440.125,
      "target": 4458.02,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.9,
        "bb_width_pct": 0.592
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T08-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T08:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4447.29,
      "stop": 4441.925,
      "target": 4458.02,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.06,
        "bb_width_pct": 0.577
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T08-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T08:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4440.735,
      "stop": 4434.964,
      "target": 4452.277,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.09,
        "bb_width_pct": 0.565
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T08-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4433.865,
      "stop": 4427.444,
      "target": 4446.707,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.29,
        "bb_width_pct": 0.669
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T08-35-00Z_long_rsi_range_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4433.865,
      "stop": 4427.444,
      "target": 4446.707,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.29,
        "bb_width_pct": 0.669
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T08-35-00Z_long_vwap_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4433.865,
      "stop": 4427.214,
      "target": 4447.167,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.29,
        "bb_width_pct": 0.669
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T08-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4433.865,
      "stop": 4424.377,
      "target": 4452.84,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 19.29,
        "bb_width_pct": 0.669
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T08-40-00Z_long_vwap_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T08:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4435.05,
      "stop": 4429.253,
      "target": 4446.644,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.1,
        "bb_width_pct": 0.699
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T08-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T08:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4435.05,
      "stop": 4426.542,
      "target": 4452.065,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 19.1,
        "bb_width_pct": 0.699
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T08-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T08:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4435.05,
      "stop": 4430.562,
      "target": 4444.026,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.1,
        "bb_width_pct": 0.699
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T08-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T08:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4434.405,
      "stop": 4430.053,
      "target": 4443.11,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.5,
        "bb_width_pct": 0.702
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T08-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T08:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4432.17,
      "stop": 4426.422,
      "target": 4443.667,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.31,
        "bb_width_pct": 0.71
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T08-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T08:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4432.17,
      "stop": 4427.221,
      "target": 4442.068,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.31,
        "bb_width_pct": 0.71
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T09-00-00Z_long_rsi_range_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4426.74,
      "stop": 4419.695,
      "target": 4440.83,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.91,
        "bb_width_pct": 0.786
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T09-00-00Z_long_vwap_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4426.74,
      "stop": 4418.073,
      "target": 4444.073,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.91,
        "bb_width_pct": 0.786
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T09-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4426.74,
      "stop": 4415.797,
      "target": 4448.625,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 20.91,
        "bb_width_pct": 0.786
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T09-10-00Z_long_vwap_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T09:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4430.0,
      "stop": 4423.624,
      "target": 4442.752,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.23,
        "bb_width_pct": 0.8
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T09-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T09:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4430.0,
      "stop": 4421.052,
      "target": 4447.895,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.23,
        "bb_width_pct": 0.8
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T09-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T09:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4430.0,
      "stop": 4426.572,
      "target": 4436.856,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.23,
        "bb_width_pct": 0.8
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T09-15-00Z_long_vwap_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T09:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4433.3,
      "stop": 4428.754,
      "target": 4442.393,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.22,
        "bb_width_pct": 0.743
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T10-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T10:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4429.84,
      "stop": 4423.294,
      "target": 4442.932,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 3.87,
        "bb_width_pct": 0.298
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T10-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T10:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4427.09,
      "stop": 4419.629,
      "target": 4442.013,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 3.78,
        "bb_width_pct": 0.312
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T10-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T10:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4428.825,
      "stop": 4423.465,
      "target": 4439.545,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.18,
        "bb_width_pct": 0.298
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T10-45-00Z_long_rsi_range_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T10:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4416.02,
      "stop": 4409.782,
      "target": 4428.496,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.47,
        "bb_width_pct": 0.461
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T10-45-00Z_long_vwap_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T10:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4416.02,
      "stop": 4411.389,
      "target": 4425.283,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.47,
        "bb_width_pct": 0.461
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T10-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T10:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4416.02,
      "stop": 4406.803,
      "target": 4434.455,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 21.47,
        "bb_width_pct": 0.461
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T10-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T10:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4417.505,
      "stop": 4412.322,
      "target": 4427.871,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.53,
        "bb_width_pct": 0.508
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T10-50-00Z_long_rsi_range_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T10:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4417.505,
      "stop": 4412.322,
      "target": 4427.871,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.53,
        "bb_width_pct": 0.508
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T10-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T10:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4417.505,
      "stop": 4409.314,
      "target": 4433.887,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 16.53,
        "bb_width_pct": 0.508
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T10-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T10:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4414.915,
      "stop": 4408.897,
      "target": 4426.952,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.44,
        "bb_width_pct": 0.555
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T11-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T11:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4410.27,
      "stop": 4403.082,
      "target": 4424.646,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.52,
        "bb_width_pct": 0.68
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T11-05-00Z_long_rsi_range_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T11:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4410.27,
      "stop": 4403.082,
      "target": 4424.646,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.52,
        "bb_width_pct": 0.68
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T11-05-00Z_long_vwap_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T11:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4410.27,
      "stop": 4404.533,
      "target": 4421.744,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.52,
        "bb_width_pct": 0.68
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T11-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T11:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4410.27,
      "stop": 4400.153,
      "target": 4430.505,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 18.52,
        "bb_width_pct": 0.68
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T11-10-00Z_long_rsi_range_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T11:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4412.94,
      "stop": 4407.614,
      "target": 4423.592,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.51,
        "bb_width_pct": 0.688
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T11-10-00Z_long_vwap_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T11:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4412.94,
      "stop": 4408.856,
      "target": 4421.108,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.51,
        "bb_width_pct": 0.688
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T11-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T11:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4412.94,
      "stop": 4405.442,
      "target": 4427.935,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 18.51,
        "bb_width_pct": 0.688
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T11-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T11:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4412.94,
      "stop": 4408.537,
      "target": 4421.746,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.51,
        "bb_width_pct": 0.688
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T11-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T11:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4410.665,
      "stop": 4405.652,
      "target": 4420.69,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.25,
        "bb_width_pct": 0.7
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T11-20-00Z_long_rsi_range_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T11:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4411.835,
      "stop": 4407.057,
      "target": 4421.391,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.08,
        "bb_width_pct": 0.695
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T11-20-00Z_long_vwap_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T11:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4411.835,
      "stop": 4407.75,
      "target": 4420.005,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.08,
        "bb_width_pct": 0.695
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T11-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T11:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4411.835,
      "stop": 4404.153,
      "target": 4427.2,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 16.08,
        "bb_width_pct": 0.695
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T11-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T11:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4411.835,
      "stop": 4407.829,
      "target": 4419.847,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.08,
        "bb_width_pct": 0.695
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T11-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T11:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4415.5,
      "stop": 4410.115,
      "target": 4426.27,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 13.98,
        "bb_width_pct": 0.673
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T11-30-00Z_long_rsi_range_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T11:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4416.01,
      "stop": 4414.055,
      "target": 4419.919,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.22,
        "bb_width_pct": 0.651
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T11-35-00Z_long_rsi_range_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T11:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4416.77,
      "stop": 4415.504,
      "target": 4419.301,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.94,
        "bb_width_pct": 0.624
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T12-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T12:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4424.87,
      "stop": 4428.607,
      "target": 4417.397,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.88,
        "bb_width_pct": 0.43
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T12-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T12:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4425.335,
      "stop": 4429.222,
      "target": 4417.561,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.36,
        "bb_width_pct": 0.449
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T12-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T12:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4425.335,
      "stop": 4427.444,
      "target": 4421.117,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.36,
        "bb_width_pct": 0.449
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T12-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T12:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4429.595,
      "stop": 4435.109,
      "target": 4418.567,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.54,
        "bb_width_pct": 0.512
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T12-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T12:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4433.71,
      "stop": 4438.792,
      "target": 4423.546,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.33,
        "bb_width_pct": 0.599
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T12-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T12:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4433.925,
      "stop": 4440.313,
      "target": 4421.149,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.44,
        "bb_width_pct": 0.622
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T12-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T12:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4433.925,
      "stop": 4438.62,
      "target": 4424.535,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.44,
        "bb_width_pct": 0.622
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T12-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T12:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4439.365,
      "stop": 4447.075,
      "target": 4423.946,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.65,
        "bb_width_pct": 0.724
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T12-50-00Z_short_rsi_range_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T12:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4439.365,
      "stop": 4447.075,
      "target": 4423.946,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 14.65,
        "bb_width_pct": 0.724
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T12-50-00Z_short_vwap_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T12:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4439.365,
      "stop": 4444.796,
      "target": 4428.503,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.65,
        "bb_width_pct": 0.724
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T12-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T12:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4439.365,
      "stop": 4447.96,
      "target": 4422.175,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.65,
        "bb_width_pct": 0.724
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T12-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T12:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4438.01,
      "stop": 4444.359,
      "target": 4425.313,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.11,
        "bb_width_pct": 0.719
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T12-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T12:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4438.01,
      "stop": 4444.535,
      "target": 4424.96,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.11,
        "bb_width_pct": 0.719
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T12-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T12:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4438.01,
      "stop": 4442.873,
      "target": 4428.284,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.11,
        "bb_width_pct": 0.719
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T13-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4433.575,
      "stop": 4437.163,
      "target": 4426.4,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.76,
        "bb_width_pct": 0.679
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T13-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4433.575,
      "stop": 4437.882,
      "target": 4424.96,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.76,
        "bb_width_pct": 0.679
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T13-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4433.575,
      "stop": 4435.969,
      "target": 4428.788,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.76,
        "bb_width_pct": 0.679
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T13-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T13:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4427.5,
      "stop": 4428.77,
      "target": 4424.96,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.81,
        "bb_width_pct": 0.58
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T13-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4418.55,
      "stop": 4413.448,
      "target": 4428.753,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.55,
        "bb_width_pct": 0.615
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T13-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4418.55,
      "stop": 4413.856,
      "target": 4427.938,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.55,
        "bb_width_pct": 0.615
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T13-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4427.675,
      "stop": 4426.952,
      "target": 4429.121,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.92,
        "bb_width_pct": 0.591
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T14-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T14:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4449.56,
      "stop": 4457.676,
      "target": 4433.328,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.92,
        "bb_width_pct": 0.797
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T14-05-00Z_short_vwap_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T14:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4449.56,
      "stop": 4458.785,
      "target": 4431.111,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.92,
        "bb_width_pct": 0.797
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T14-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T14:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4449.56,
      "stop": 4458.544,
      "target": 4431.592,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.92,
        "bb_width_pct": 0.797
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T14-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T14:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4449.56,
      "stop": 4457.753,
      "target": 4433.175,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.92,
        "bb_width_pct": 0.797
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T16-25-00Z_short_vwap_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T16:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4528.51,
      "stop": 4557.266,
      "target": 4470.998,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.39,
        "bb_width_pct": 1.105
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T16-30-00Z_short_vwap_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T16:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4518.305,
      "stop": 4541.515,
      "target": 4471.886,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 18.18,
        "bb_width_pct": 0.819
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T16-35-00Z_short_vwap_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4511.525,
      "stop": 4530.972,
      "target": 4472.631,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 23.62,
        "bb_width_pct": 0.803
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T16-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T16:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4511.36,
      "stop": 4502.649,
      "target": 4528.781,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.19,
        "bb_width_pct": 0.832
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T16-40-00Z_short_vwap_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T16:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4511.36,
      "stop": 4530.398,
      "target": 4473.284,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 18.19,
        "bb_width_pct": 0.832
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T16-45-00Z_short_vwap_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4507.355,
      "stop": 4524.085,
      "target": 4473.894,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 20.13,
        "bb_width_pct": 0.888
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T17-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T17:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4501.095,
      "stop": 4494.505,
      "target": 4514.275,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.74,
        "bb_width_pct": 1.023
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T17-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T17:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4497.99,
      "stop": 4488.002,
      "target": 4517.965,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.37,
        "bb_width_pct": 1.135
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T17-30-00Z_long_rsi_range_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T17:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4497.99,
      "stop": 4488.002,
      "target": 4517.965,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.37,
        "bb_width_pct": 1.135
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T17-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T17:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4497.99,
      "stop": 4492.116,
      "target": 4509.737,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.37,
        "bb_width_pct": 1.135
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T18-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T18:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4518.48,
      "stop": 4527.073,
      "target": 4501.295,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.94,
        "bb_width_pct": 0.787
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T18-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T18:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4518.48,
      "stop": 4525.129,
      "target": 4505.181,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.94,
        "bb_width_pct": 0.787
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T18-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T18:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4519.355,
      "stop": 4527.783,
      "target": 4502.499,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.4,
        "bb_width_pct": 0.948
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T18-45-00Z_short_rsi_range_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T18:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4519.355,
      "stop": 4527.783,
      "target": 4502.499,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 22.4,
        "bb_width_pct": 0.948
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T18-45-00Z_short_vwap_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T18:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4519.355,
      "stop": 4527.605,
      "target": 4502.855,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 22.4,
        "bb_width_pct": 0.948
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T18-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T18:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4519.355,
      "stop": 4524.878,
      "target": 4508.31,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.4,
        "bb_width_pct": 0.948
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T18-50-00Z_short_rsi_range_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T18:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4517.615,
      "stop": 4525.012,
      "target": 4502.822,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 17.73,
        "bb_width_pct": 0.979
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T18-50-00Z_short_vwap_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T18:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4517.615,
      "stop": 4524.633,
      "target": 4503.579,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 17.73,
        "bb_width_pct": 0.979
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T18-55-00Z_short_vwap_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T18:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4516.855,
      "stop": 4523.222,
      "target": 4504.121,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 18.17,
        "bb_width_pct": 1.015
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T19-30-00Z_short_vwap_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T19:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4521.655,
      "stop": 4528.955,
      "target": 4507.054,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.33,
        "bb_width_pct": 0.935
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T19-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T19:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4521.655,
      "stop": 4525.551,
      "target": 4513.863,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.33,
        "bb_width_pct": 0.935
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T19-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T19:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4510.21,
      "stop": 4508.636,
      "target": 4513.357,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.1,
        "bb_width_pct": 0.697
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T20-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T20:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4506.45,
      "stop": 4503.18,
      "target": 4512.991,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.76,
        "bb_width_pct": 0.46
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T20-35-00Z_long_rsi_range_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T20:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4510.295,
      "stop": 4509.111,
      "target": 4512.663,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.16,
        "bb_width_pct": 0.455
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T20-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4505.87,
      "stop": 4502.556,
      "target": 4512.498,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.6,
        "bb_width_pct": 0.47
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-27T20-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T20:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4499.065,
      "stop": 4493.909,
      "target": 4509.377,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.36,
        "bb_width_pct": 0.534
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-29T22-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-29",
      "timestamp": "2026-03-29T22:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4497.845,
      "stop": 4493.606,
      "target": 4506.322,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.23,
        "bb_width_pct": 0.681
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-29T22-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-29",
      "timestamp": "2026-03-29T22:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4497.845,
      "stop": 4494.276,
      "target": 4504.983,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.23,
        "bb_width_pct": 0.681
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-29T22-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-29",
      "timestamp": "2026-03-29T22:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4497.845,
      "stop": 4494.532,
      "target": 4504.472,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.23,
        "bb_width_pct": 0.681
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-29T22-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-29",
      "timestamp": "2026-03-29T22:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4489.775,
      "stop": 4483.282,
      "target": 4502.762,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.32,
        "bb_width_pct": 0.659
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-29T22-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-29",
      "timestamp": "2026-03-29T22:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4489.765,
      "stop": 4482.156,
      "target": 4504.983,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.55,
        "bb_width_pct": 0.686
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-29T22-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-29",
      "timestamp": "2026-03-29T22:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4484.475,
      "stop": 4476.446,
      "target": 4500.532,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.85,
        "bb_width_pct": 0.748
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-29T23-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-29",
      "timestamp": "2026-03-29T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4488.175,
      "stop": 4480.474,
      "target": 4503.577,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 3.24,
        "bb_width_pct": 0.772
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-29T23-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-29",
      "timestamp": "2026-03-29T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4479.065,
      "stop": 4469.501,
      "target": 4498.193,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.36,
        "bb_width_pct": 0.852
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-29T23-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-29",
      "timestamp": "2026-03-29T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4479.065,
      "stop": 4470.157,
      "target": 4496.882,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.36,
        "bb_width_pct": 0.852
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-29T23-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-29",
      "timestamp": "2026-03-29T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4478.43,
      "stop": 4469.249,
      "target": 4496.792,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.67,
        "bb_width_pct": 0.916
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-29T23-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-29",
      "timestamp": "2026-03-29T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4478.43,
      "stop": 4470.083,
      "target": 4495.124,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.67,
        "bb_width_pct": 0.916
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T01-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4442.155,
      "stop": 4430.487,
      "target": 4465.49,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 3.34,
        "bb_width_pct": 1.006
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T01-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T01:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4454.315,
      "stop": 4458.804,
      "target": 4445.338,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.41,
        "bb_width_pct": 0.91
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T01-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4468.115,
      "stop": 4478.948,
      "target": 4446.449,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.96,
        "bb_width_pct": 1.012
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T01-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T01:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4467.525,
      "stop": 4477.601,
      "target": 4447.373,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.71,
        "bb_width_pct": 1.093
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T01-35-00Z_short_vwap_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T01:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4467.525,
      "stop": 4477.649,
      "target": 4447.277,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.71,
        "bb_width_pct": 1.093
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T01-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T01:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4467.525,
      "stop": 4474.025,
      "target": 4454.525,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.71,
        "bb_width_pct": 1.093
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T02-00-00Z_short_rsi_range_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T02:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4469.01,
      "stop": 4476.052,
      "target": 4454.926,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 21.9,
        "bb_width_pct": 1.14
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T02-00-00Z_short_vwap_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T02:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4469.01,
      "stop": 4477.616,
      "target": 4451.798,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 21.9,
        "bb_width_pct": 1.14
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T02-05-00Z_short_rsi_range_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T02:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4468.955,
      "stop": 4475.479,
      "target": 4455.908,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 15.81,
        "bb_width_pct": 1.165
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T02-05-00Z_short_vwap_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T02:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4468.955,
      "stop": 4477.189,
      "target": 4452.488,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.81,
        "bb_width_pct": 1.165
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T02-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4464.7,
      "stop": 4471.461,
      "target": 4451.177,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.12,
        "bb_width_pct": 0.986
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T02-45-00Z_short_vwap_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4492.03,
      "stop": 4509.176,
      "target": 4457.737,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.27,
        "bb_width_pct": 0.937
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T02-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4492.03,
      "stop": 4508.765,
      "target": 4458.56,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.27,
        "bb_width_pct": 0.937
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T02-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T02:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4484.01,
      "stop": 4490.908,
      "target": 4470.214,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.96,
        "bb_width_pct": 0.963
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T02-50-00Z_short_vwap_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T02:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4484.01,
      "stop": 4496.728,
      "target": 4458.573,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.96,
        "bb_width_pct": 0.963
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T02-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T02:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4484.01,
      "stop": 4496.735,
      "target": 4458.56,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.96,
        "bb_width_pct": 0.963
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T02-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T02:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4484.01,
      "stop": 4490.2,
      "target": 4471.631,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.96,
        "bb_width_pct": 0.963
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T02-55-00Z_short_vwap_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T02:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4481.55,
      "stop": 4492.709,
      "target": 4459.232,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.89,
        "bb_width_pct": 0.94
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T03-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4494.785,
      "stop": 4505.419,
      "target": 4473.518,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.9,
        "bb_width_pct": 0.974
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T03-10-00Z_short_rsi_range_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T03:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4504.715,
      "stop": 4517.949,
      "target": 4478.247,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 23.42,
        "bb_width_pct": 1.152
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T03-10-00Z_short_vwap_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T03:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4504.715,
      "stop": 4525.918,
      "target": 4462.309,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 23.42,
        "bb_width_pct": 1.152
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T03-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T03:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4504.715,
      "stop": 4525.753,
      "target": 4462.64,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 23.42,
        "bb_width_pct": 1.152
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T04-00-00Z_short_vwap_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T04:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4494.645,
      "stop": 4506.523,
      "target": 4470.889,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.28,
        "bb_width_pct": 1.183
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T04-05-00Z_short_vwap_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4490.79,
      "stop": 4500.532,
      "target": 4471.307,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.82,
        "bb_width_pct": 1.099
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T04-10-00Z_short_vwap_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T04:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4487.785,
      "stop": 4495.854,
      "target": 4471.648,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 20.05,
        "bb_width_pct": 0.913
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T04-15-00Z_long_rsi_range_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T04:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4488.38,
      "stop": 4483.467,
      "target": 4498.205,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.7,
        "bb_width_pct": 0.761
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T04-25-00Z_short_vwap_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T04:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4490.815,
      "stop": 4499.855,
      "target": 4472.736,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 25.53,
        "bb_width_pct": 0.766
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T04-30-00Z_short_vwap_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T04:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4487.925,
      "stop": 4495.373,
      "target": 4473.029,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 25.79,
        "bb_width_pct": 0.741
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T04-35-00Z_long_rsi_range_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4488.325,
      "stop": 4483.156,
      "target": 4498.663,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.0,
        "bb_width_pct": 0.69
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T04-40-00Z_long_rsi_range_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4488.615,
      "stop": 4483.745,
      "target": 4498.354,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.85,
        "bb_width_pct": 0.714
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T04-45-00Z_long_rsi_range_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4489.015,
      "stop": 4484.782,
      "target": 4497.481,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.16,
        "bb_width_pct": 0.716
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T05-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4499.35,
      "stop": 4502.651,
      "target": 4492.748,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.49,
        "bb_width_pct": 0.606
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T05-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4505.58,
      "stop": 4510.081,
      "target": 4496.578,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.1,
        "bb_width_pct": 0.732
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T05-25-00Z_short_vwap_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4505.58,
      "stop": 4519.66,
      "target": 4477.42,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.1,
        "bb_width_pct": 0.732
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T05-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4505.58,
      "stop": 4514.104,
      "target": 4488.533,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.1,
        "bb_width_pct": 0.732
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T05-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4505.58,
      "stop": 4508.87,
      "target": 4499.0,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.1,
        "bb_width_pct": 0.732
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T05-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4506.41,
      "stop": 4510.88,
      "target": 4497.47,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.76,
        "bb_width_pct": 0.797
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T05-35-00Z_short_vwap_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4506.41,
      "stop": 4520.436,
      "target": 4478.358,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 21.76,
        "bb_width_pct": 0.797
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T05-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4506.41,
      "stop": 4515.349,
      "target": 4488.533,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 21.76,
        "bb_width_pct": 0.797
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T05-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4506.41,
      "stop": 4509.216,
      "target": 4500.799,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.76,
        "bb_width_pct": 0.797
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T06-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4529.27,
      "stop": 4540.426,
      "target": 4506.957,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 26.57,
        "bb_width_pct": 1.188
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T06-25-00Z_short_vwap_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T06:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4528.68,
      "stop": 4550.844,
      "target": 4484.351,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.77,
        "bb_width_pct": 1.107
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T06-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T06:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4528.68,
      "stop": 4537.429,
      "target": 4511.182,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.77,
        "bb_width_pct": 1.107
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T06-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T06:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4528.68,
      "stop": 4534.161,
      "target": 4517.718,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.77,
        "bb_width_pct": 1.107
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T06-50-00Z_short_rsi_range_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T06:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4536.295,
      "stop": 4541.777,
      "target": 4525.331,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 12.57,
        "bb_width_pct": 1.016
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T06-50-00Z_short_vwap_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T06:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4536.295,
      "stop": 4560.626,
      "target": 4487.633,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.57,
        "bb_width_pct": 1.016
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T06-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T06:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4536.295,
      "stop": 4545.054,
      "target": 4518.778,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.57,
        "bb_width_pct": 1.016
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T06-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T06:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4536.295,
      "stop": 4541.364,
      "target": 4526.158,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.57,
        "bb_width_pct": 1.016
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T06-55-00Z_short_vwap_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T06:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4532.59,
      "stop": 4554.793,
      "target": 4488.185,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.05,
        "bb_width_pct": 0.986
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T07-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T07:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4523.39,
      "stop": 4519.523,
      "target": 4531.124,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.77,
        "bb_width_pct": 0.558
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T07-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T07:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4521.37,
      "stop": 4516.626,
      "target": 4530.858,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.06,
        "bb_width_pct": 0.584
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T08-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4532.88,
      "stop": 4535.248,
      "target": 4528.143,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.31,
        "bb_width_pct": 0.444
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T08-40-00Z_short_rsi_range_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T08:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4532.97,
      "stop": 4535.074,
      "target": 4528.762,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 10.6,
        "bb_width_pct": 0.469
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T08-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T08:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4538.805,
      "stop": 4542.645,
      "target": 4531.125,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.1,
        "bb_width_pct": 0.51
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T08-55-00Z_short_rsi_range_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T08:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4538.22,
      "stop": 4542.554,
      "target": 4529.553,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 14.95,
        "bb_width_pct": 0.539
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T08-55-00Z_short_vwap_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T08:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4538.22,
      "stop": 4542.571,
      "target": 4529.518,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.95,
        "bb_width_pct": 0.539
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T09-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4526.295,
      "stop": 4523.214,
      "target": 4532.457,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.6,
        "bb_width_pct": 0.351
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T10-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T10:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4531.97,
      "stop": 4533.764,
      "target": 4528.382,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.79,
        "bb_width_pct": 0.314
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T11-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4527.39,
      "stop": 4524.867,
      "target": 4532.436,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.34,
        "bb_width_pct": 0.241
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T11-20-00Z_short_vwap_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T11:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4542.725,
      "stop": 4547.081,
      "target": 4534.012,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.93,
        "bb_width_pct": 0.344
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T11-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T11:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4542.725,
      "stop": 4546.79,
      "target": 4534.595,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.93,
        "bb_width_pct": 0.344
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T11-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T11:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4543.565,
      "stop": 4547.443,
      "target": 4535.809,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.84,
        "bb_width_pct": 0.388
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T11-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T11:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4543.045,
      "stop": 4546.962,
      "target": 4535.211,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.19,
        "bb_width_pct": 0.418
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T11-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T11:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4543.045,
      "stop": 4546.523,
      "target": 4536.09,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.19,
        "bb_width_pct": 0.418
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T11-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T11:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4541.56,
      "stop": 4544.524,
      "target": 4535.632,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.42,
        "bb_width_pct": 0.433
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T11-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T11:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4541.56,
      "stop": 4544.295,
      "target": 4536.09,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.42,
        "bb_width_pct": 0.433
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T11-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T11:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4559.87,
      "stop": 4568.765,
      "target": 4542.08,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.71,
        "bb_width_pct": 1.173
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T11-55-00Z_short_rsi_range_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T11:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4559.87,
      "stop": 4568.765,
      "target": 4542.08,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 18.71,
        "bb_width_pct": 1.173
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T11-55-00Z_short_vwap_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T11:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4559.87,
      "stop": 4569.618,
      "target": 4540.373,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 18.71,
        "bb_width_pct": 1.173
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T11-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T11:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4559.87,
      "stop": 4566.469,
      "target": 4546.671,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.71,
        "bb_width_pct": 1.173
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T12-10-00Z_short_rsi_range_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T12:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4556.55,
      "stop": 4561.901,
      "target": 4545.849,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 14.84,
        "bb_width_pct": 1.17
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T12-45-00Z_short_rsi_range_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T12:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4570.735,
      "stop": 4576.737,
      "target": 4558.731,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 3.15,
        "bb_width_pct": 1.04
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T12-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T12:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4570.735,
      "stop": 4580.001,
      "target": 4552.202,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.15,
        "bb_width_pct": 1.04
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T13-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4570.73,
      "stop": 4575.034,
      "target": 4562.122,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.16,
        "bb_width_pct": 0.869
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T13-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T13:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4568.395,
      "stop": 4575.999,
      "target": 4553.188,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.35,
        "bb_width_pct": 0.782
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T13-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4557.95,
      "stop": 4560.331,
      "target": 4553.188,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.66,
        "bb_width_pct": 0.472
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T13-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4560.125,
      "stop": 4557.34,
      "target": 4565.696,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.77,
        "bb_width_pct": 0.471
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T15-25-00Z_long_vwap_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T15:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4531.8,
      "stop": 4523.97,
      "target": 4547.46,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.66,
        "bb_width_pct": 0.497
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T15-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T15:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4551.84,
      "stop": 4558.645,
      "target": 4538.23,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.5,
        "bb_width_pct": 0.743
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T15-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T15:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4552.36,
      "stop": 4561.574,
      "target": 4533.932,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.6,
        "bb_width_pct": 0.821
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T15-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T15:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4552.36,
      "stop": 4558.752,
      "target": 4539.576,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.6,
        "bb_width_pct": 0.821
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T15-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T15:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4554.635,
      "stop": 4561.447,
      "target": 4541.01,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.89,
        "bb_width_pct": 0.913
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T15-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T15:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4548.355,
      "stop": 4551.678,
      "target": 4541.71,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.63,
        "bb_width_pct": 0.916
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T17-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T17:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4534.91,
      "stop": 4530.619,
      "target": 4543.491,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.03,
        "bb_width_pct": 0.503
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T17-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T17:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4529.325,
      "stop": 4523.906,
      "target": 4540.163,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.9,
        "bb_width_pct": 0.722
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T17-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T17:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4529.325,
      "stop": 4525.69,
      "target": 4536.596,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.9,
        "bb_width_pct": 0.722
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T17-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T17:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4517.125,
      "stop": 4507.952,
      "target": 4535.472,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.36,
        "bb_width_pct": 0.817
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T17-35-00Z_long_vwap_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T17:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4517.125,
      "stop": 4512.444,
      "target": 4526.486,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.36,
        "bb_width_pct": 0.817
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T17-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T17:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4517.125,
      "stop": 4508.321,
      "target": 4534.733,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 21.36,
        "bb_width_pct": 0.817
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T17-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T17:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4524.225,
      "stop": 4518.386,
      "target": 4535.903,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 17.27,
        "bb_width_pct": 0.84
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T17-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T17:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4524.225,
      "stop": 4520.557,
      "target": 4531.562,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.27,
        "bb_width_pct": 0.84
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T18-00-00Z_long_rsi_range_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T18:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4517.925,
      "stop": 4512.223,
      "target": 4529.328,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.7,
        "bb_width_pct": 0.928
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T18-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T18:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4517.925,
      "stop": 4509.743,
      "target": 4534.29,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 19.7,
        "bb_width_pct": 0.928
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T18-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T18:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4517.925,
      "stop": 4513.552,
      "target": 4526.671,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.7,
        "bb_width_pct": 0.928
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T18-05-00Z_long_rsi_range_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T18:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4517.99,
      "stop": 4512.795,
      "target": 4528.38,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.04,
        "bb_width_pct": 0.939
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T18-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T18:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4517.99,
      "stop": 4509.84,
      "target": 4534.29,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 13.04,
        "bb_width_pct": 0.939
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T18-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T18:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4517.99,
      "stop": 4514.063,
      "target": 4525.844,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.04,
        "bb_width_pct": 0.939
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T18-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T18:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4518.935,
      "stop": 4511.257,
      "target": 4534.29,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.76,
        "bb_width_pct": 0.93
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T18-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T18:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4519.53,
      "stop": 4512.15,
      "target": 4534.29,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 2.98,
        "bb_width_pct": 0.893
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T18-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T18:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4513.935,
      "stop": 4509.476,
      "target": 4522.853,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.62,
        "bb_width_pct": 0.738
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T18-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T18:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4515.395,
      "stop": 4505.948,
      "target": 4534.29,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.9,
        "bb_width_pct": 0.5
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T18-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T18:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4517.945,
      "stop": 4509.772,
      "target": 4534.29,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.99,
        "bb_width_pct": 0.392
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T19-00-00Z_long_rsi_range_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T19:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4500.265,
      "stop": 4492.753,
      "target": 4515.289,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.13,
        "bb_width_pct": 0.58
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T19-00-00Z_long_vwap_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T19:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4500.265,
      "stop": 4491.076,
      "target": 4518.643,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.13,
        "bb_width_pct": 0.58
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T19-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T19:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4500.265,
      "stop": 4486.548,
      "target": 4527.7,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 16.13,
        "bb_width_pct": 0.58
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T19-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T19:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4498.15,
      "stop": 4491.93,
      "target": 4510.591,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.15,
        "bb_width_pct": 0.739
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T19-20-00Z_long_rsi_range_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T19:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4498.15,
      "stop": 4491.93,
      "target": 4510.591,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.15,
        "bb_width_pct": 0.739
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T19-20-00Z_long_vwap_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T19:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4498.15,
      "stop": 4489.301,
      "target": 4515.847,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.15,
        "bb_width_pct": 0.739
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T19-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T19:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4498.15,
      "stop": 4486.601,
      "target": 4521.247,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 23.15,
        "bb_width_pct": 0.739
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T19-25-00Z_long_rsi_range_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T19:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4501.785,
      "stop": 4497.763,
      "target": 4509.828,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.55,
        "bb_width_pct": 0.745
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T19-25-00Z_long_vwap_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T19:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4501.785,
      "stop": 4495.001,
      "target": 4515.354,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.55,
        "bb_width_pct": 0.745
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T19-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T19:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4501.785,
      "stop": 4492.16,
      "target": 4521.035,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.55,
        "bb_width_pct": 0.745
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T19-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T19:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4501.785,
      "stop": 4498.184,
      "target": 4508.987,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.55,
        "bb_width_pct": 0.745
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T19-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T19:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4509.035,
      "stop": 4503.035,
      "target": 4521.035,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.86,
        "bb_width_pct": 0.731
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T20-40-00Z_long_vwap_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4503.875,
      "stop": 4499.533,
      "target": 4512.559,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.92,
        "bb_width_pct": 0.391
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T20-45-00Z_long_vwap_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T20:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4504.915,
      "stop": 4501.178,
      "target": 4512.389,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.01,
        "bb_width_pct": 0.378
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T22-00-00Z_long_vwap_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T22:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4517.825,
      "stop": 4507.002,
      "target": 4539.472,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.78,
        "bb_width_pct": 0.334
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T22-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T22:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4512.08,
      "stop": 4514.221,
      "target": 4507.797,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.54,
        "bb_width_pct": 0.327
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T22-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T22:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4512.08,
      "stop": 4513.845,
      "target": 4508.549,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.54,
        "bb_width_pct": 0.327
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T22-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T22:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4508.38,
      "stop": 4508.688,
      "target": 4507.765,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.82,
        "bb_width_pct": 0.326
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T22-20-00Z_long_vwap_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T22:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4506.595,
      "stop": 4492.221,
      "target": 4535.342,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.9,
        "bb_width_pct": 0.32
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T22-25-00Z_long_vwap_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T22:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4514.89,
      "stop": 4505.075,
      "target": 4534.521,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.49,
        "bb_width_pct": 0.347
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T22-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T22:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4513.08,
      "stop": 4515.302,
      "target": 4508.636,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.56,
        "bb_width_pct": 0.355
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T22-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T22:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4513.08,
      "stop": 4515.984,
      "target": 4507.273,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.56,
        "bb_width_pct": 0.355
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T22-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T22:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4513.08,
      "stop": 4515.019,
      "target": 4509.202,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.56,
        "bb_width_pct": 0.355
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T22-45-00Z_long_vwap_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T22:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4512.375,
      "stop": 4502.62,
      "target": 4531.886,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.86,
        "bb_width_pct": 0.354
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T22-50-00Z_long_vwap_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T22:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4513.36,
      "stop": 4504.364,
      "target": 4531.352,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.94,
        "bb_width_pct": 0.365
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T22-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T22:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4511.07,
      "stop": 4513.545,
      "target": 4506.12,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.99,
        "bb_width_pct": 0.367
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T23-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4502.795,
      "stop": 4499.676,
      "target": 4509.033,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.92,
        "bb_width_pct": 0.37
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T23-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4502.795,
      "stop": 4499.47,
      "target": 4509.445,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.92,
        "bb_width_pct": 0.37
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T23-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4499.23,
      "stop": 4494.73,
      "target": 4508.23,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.46,
        "bb_width_pct": 0.482
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T23-10-00Z_long_vwap_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4499.23,
      "stop": 4484.604,
      "target": 4528.481,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.46,
        "bb_width_pct": 0.482
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T23-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4499.23,
      "stop": 4495.785,
      "target": 4506.12,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 13.46,
        "bb_width_pct": 0.482
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T23-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4499.23,
      "stop": 4495.217,
      "target": 4507.257,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.46,
        "bb_width_pct": 0.482
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T23-15-00Z_long_vwap_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4506.965,
      "stop": 4496.509,
      "target": 4527.876,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.46,
        "bb_width_pct": 0.469
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T23-20-00Z_long_vwap_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T23:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4507.515,
      "stop": 4497.577,
      "target": 4527.391,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.36,
        "bb_width_pct": 0.461
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T23-30-00Z_long_vwap_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4507.35,
      "stop": 4497.817,
      "target": 4526.416,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.12,
        "bb_width_pct": 0.459
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T23-35-00Z_long_vwap_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4511.48,
      "stop": 4504.193,
      "target": 4526.055,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.76,
        "bb_width_pct": 0.461
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T23-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4518.935,
      "stop": 4524.043,
      "target": 4508.719,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.56,
        "bb_width_pct": 0.47
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T23-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4518.83,
      "stop": 4525.045,
      "target": 4506.4,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.26,
        "bb_width_pct": 0.505
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T23-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4518.83,
      "stop": 4523.442,
      "target": 4509.606,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.26,
        "bb_width_pct": 0.505
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T23-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T23:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4514.01,
      "stop": 4516.346,
      "target": 4509.338,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.65,
        "bb_width_pct": 0.514
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T23-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T23:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4514.01,
      "stop": 4517.812,
      "target": 4506.405,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.65,
        "bb_width_pct": 0.514
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T23-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T23:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4514.01,
      "stop": 4516.002,
      "target": 4510.025,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.65,
        "bb_width_pct": 0.514
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-30T23-55-00Z_long_vwap_mean_reversion",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T23:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4514.07,
      "stop": 4508.506,
      "target": 4525.199,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.7,
        "bb_width_pct": 0.518
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T00-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T00:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4519.935,
      "stop": 4524.363,
      "target": 4511.08,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.22,
        "bb_width_pct": 0.648
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T00-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T00:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4519.935,
      "stop": 4524.529,
      "target": 4510.747,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.22,
        "bb_width_pct": 0.648
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T00-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T00:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4519.935,
      "stop": 4523.461,
      "target": 4512.882,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.22,
        "bb_width_pct": 0.648
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T00-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T00:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4516.525,
      "stop": 4519.414,
      "target": 4510.747,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.04,
        "bb_width_pct": 0.655
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T00-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T00:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4494.205,
      "stop": 4486.444,
      "target": 4509.727,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.35,
        "bb_width_pct": 0.783
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T00-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T00:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4530.535,
      "stop": 4539.686,
      "target": 4512.233,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.42,
        "bb_width_pct": 0.879
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T03-00-00Z_long_rsi_range_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4570.43,
      "stop": 4561.665,
      "target": 4587.96,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.32,
        "bb_width_pct": 1.156
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T03-30-00Z_long_rsi_range_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4565.455,
      "stop": 4559.052,
      "target": 4578.261,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.65,
        "bb_width_pct": 1.117
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T03-45-00Z_long_rsi_range_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T03:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4552.97,
      "stop": 4543.676,
      "target": 4571.559,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 27.65,
        "bb_width_pct": 1.035
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T03-50-00Z_long_rsi_range_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T03:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4555.62,
      "stop": 4548.513,
      "target": 4569.833,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.45,
        "bb_width_pct": 1.007
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T03-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T03:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4555.62,
      "stop": 4550.672,
      "target": 4565.517,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.45,
        "bb_width_pct": 1.007
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T04-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4564.155,
      "stop": 4553.805,
      "target": 4584.855,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.66,
        "bb_width_pct": 0.418
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T04-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T04:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4564.925,
      "stop": 4567.251,
      "target": 4560.273,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.83,
        "bb_width_pct": 0.344
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T05-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4561.885,
      "stop": 4562.394,
      "target": 4560.866,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.89,
        "bb_width_pct": 0.38
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T05-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4557.775,
      "stop": 4556.603,
      "target": 4560.119,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.41,
        "bb_width_pct": 0.417
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T05-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4557.775,
      "stop": 4547.817,
      "target": 4577.69,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.41,
        "bb_width_pct": 0.417
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T05-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4557.775,
      "stop": 4555.668,
      "target": 4561.99,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.41,
        "bb_width_pct": 0.417
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T05-40-00Z_short_vwap_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4577.245,
      "stop": 4584.752,
      "target": 4562.23,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.09,
        "bb_width_pct": 0.574
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T05-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4577.245,
      "stop": 4582.911,
      "target": 4565.913,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.09,
        "bb_width_pct": 0.574
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T05-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4574.025,
      "stop": 4578.13,
      "target": 4565.815,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.26,
        "bb_width_pct": 0.646
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T05-50-00Z_short_vwap_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4574.025,
      "stop": 4579.703,
      "target": 4562.668,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.26,
        "bb_width_pct": 0.646
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T05-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4574.025,
      "stop": 4577.09,
      "target": 4567.894,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.26,
        "bb_width_pct": 0.646
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T06-50-00Z_long_rsi_range_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T06:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4558.385,
      "stop": 4555.189,
      "target": 4564.778,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.12,
        "bb_width_pct": 0.672
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T07-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T07:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4552.75,
      "stop": 4548.874,
      "target": 4560.501,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.82,
        "bb_width_pct": 0.688
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T07-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T07:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4546.88,
      "stop": 4539.484,
      "target": 4561.672,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.97,
        "bb_width_pct": 0.691
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T07-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T07:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4551.05,
      "stop": 4545.212,
      "target": 4562.725,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.25,
        "bb_width_pct": 0.644
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T07-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T07:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4551.05,
      "stop": 4547.361,
      "target": 4558.428,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.25,
        "bb_width_pct": 0.644
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T08-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T08:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4567.64,
      "stop": 4572.262,
      "target": 4558.395,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.92,
        "bb_width_pct": 0.467
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T08-05-00Z_short_vwap_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T08:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4567.64,
      "stop": 4572.441,
      "target": 4558.039,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.92,
        "bb_width_pct": 0.467
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T08-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T08:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4567.64,
      "stop": 4571.289,
      "target": 4560.342,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.92,
        "bb_width_pct": 0.467
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T08-30-00Z_short_rsi_range_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4569.195,
      "stop": 4573.446,
      "target": 4560.693,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 19.82,
        "bb_width_pct": 0.621
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T08-30-00Z_short_vwap_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4569.195,
      "stop": 4573.368,
      "target": 4560.849,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 19.82,
        "bb_width_pct": 0.621
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T08-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4570.525,
      "stop": 4573.531,
      "target": 4564.512,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.92,
        "bb_width_pct": 0.645
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T08-50-00Z_short_rsi_range_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T08:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4571.54,
      "stop": 4575.499,
      "target": 4563.622,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 15.93,
        "bb_width_pct": 0.68
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T08-50-00Z_short_vwap_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T08:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4571.54,
      "stop": 4575.96,
      "target": 4562.701,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.93,
        "bb_width_pct": 0.68
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T08-55-00Z_short_rsi_range_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T08:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4568.755,
      "stop": 4570.775,
      "target": 4564.716,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 11.22,
        "bb_width_pct": 0.596
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T09-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T09:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4567.93,
      "stop": 4572.168,
      "target": 4559.455,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.38,
        "bb_width_pct": 0.43
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T09-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T09:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4567.705,
      "stop": 4571.83,
      "target": 4559.455,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.0,
        "bb_width_pct": 0.348
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T09-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T09:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4562.47,
      "stop": 4559.52,
      "target": 4568.369,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.47,
        "bb_width_pct": 0.273
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T09-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T09:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4555.865,
      "stop": 4550.336,
      "target": 4566.923,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.45,
        "bb_width_pct": 0.497
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T09-40-00Z_long_rsi_range_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T09:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4555.865,
      "stop": 4550.336,
      "target": 4566.923,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.45,
        "bb_width_pct": 0.497
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T09-40-00Z_long_vwap_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T09:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4555.865,
      "stop": 4552.227,
      "target": 4563.141,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.45,
        "bb_width_pct": 0.497
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T09-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T09:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4555.865,
      "stop": 4551.918,
      "target": 4563.759,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.45,
        "bb_width_pct": 0.497
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T09-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T09:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4555.7,
      "stop": 4550.871,
      "target": 4565.358,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.92,
        "bb_width_pct": 0.583
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T09-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T09:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4555.7,
      "stop": 4552.546,
      "target": 4562.007,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.92,
        "bb_width_pct": 0.583
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T10-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T10:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4541.435,
      "stop": 4533.231,
      "target": 4557.843,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.74,
        "bb_width_pct": 0.724
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T10-40-00Z_long_vwap_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T10:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4541.435,
      "stop": 4534.906,
      "target": 4554.494,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.74,
        "bb_width_pct": 0.724
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T10-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T10:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4541.435,
      "stop": 4535.073,
      "target": 4554.16,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.74,
        "bb_width_pct": 0.724
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T10-45-00Z_long_vwap_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T10:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4542.095,
      "stop": 4536.515,
      "target": 4553.255,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.52,
        "bb_width_pct": 0.746
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T10-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T10:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4548.76,
      "stop": 4546.004,
      "target": 4554.272,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.55,
        "bb_width_pct": 0.722
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T11-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T11:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4566.925,
      "stop": 4573.804,
      "target": 4553.167,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.34,
        "bb_width_pct": 0.695
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T11-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T11:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4566.925,
      "stop": 4573.562,
      "target": 4553.652,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.34,
        "bb_width_pct": 0.695
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T11-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T11:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4575.34,
      "stop": 4585.512,
      "target": 4554.995,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.35,
        "bb_width_pct": 0.912
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T11-25-00Z_short_vwap_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T11:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4575.34,
      "stop": 4585.629,
      "target": 4554.762,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.35,
        "bb_width_pct": 0.912
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T11-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T11:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4575.34,
      "stop": 4586.375,
      "target": 4553.27,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.35,
        "bb_width_pct": 0.912
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T11-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T11:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4578.125,
      "stop": 4589.155,
      "target": 4556.065,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.58,
        "bb_width_pct": 1.014
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T13-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4570.24,
      "stop": 4564.986,
      "target": 4580.748,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.29,
        "bb_width_pct": 0.523
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T13-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4578.39,
      "stop": 4577.712,
      "target": 4579.747,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.95,
        "bb_width_pct": 0.441
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T13-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4589.745,
      "stop": 4594.694,
      "target": 4579.846,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.6,
        "bb_width_pct": 0.441
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T14-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T14:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4605.5,
      "stop": 4615.34,
      "target": 4585.82,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.68,
        "bb_width_pct": 1.082
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T14-05-00Z_short_rsi_range_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T14:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4605.5,
      "stop": 4615.34,
      "target": 4585.82,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 21.68,
        "bb_width_pct": 1.082
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T14-05-00Z_short_vwap_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T14:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4605.5,
      "stop": 4615.998,
      "target": 4584.503,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 21.68,
        "bb_width_pct": 1.082
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T14-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T14:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4605.5,
      "stop": 4616.546,
      "target": 4583.407,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 21.68,
        "bb_width_pct": 1.082
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T14-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T14:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4605.5,
      "stop": 4613.517,
      "target": 4589.466,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.68,
        "bb_width_pct": 1.082
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T15-15-00Z_short_vwap_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T15:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4619.715,
      "stop": 4632.537,
      "target": 4594.07,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.04,
        "bb_width_pct": 0.793
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T15-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T15:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4619.715,
      "stop": 4629.972,
      "target": 4599.2,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.04,
        "bb_width_pct": 0.793
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T15-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T15:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4619.715,
      "stop": 4626.036,
      "target": 4607.073,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.04,
        "bb_width_pct": 0.793
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T15-20-00Z_short_vwap_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T15:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4619.16,
      "stop": 4631.421,
      "target": 4594.639,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.02,
        "bb_width_pct": 0.692
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T15-25-00Z_short_vwap_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T15:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4610.17,
      "stop": 4617.724,
      "target": 4595.062,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 1.74,
        "bb_width_pct": 0.551
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T15-45-00Z_short_vwap_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T15:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4615.665,
      "stop": 4625.021,
      "target": 4596.952,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.21,
        "bb_width_pct": 0.551
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T15-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T15:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4615.665,
      "stop": 4623.898,
      "target": 4599.2,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.21,
        "bb_width_pct": 0.551
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T15-55-00Z_short_vwap_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T15:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4609.565,
      "stop": 4615.483,
      "target": 4597.729,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.99,
        "bb_width_pct": 0.562
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T16-10-00Z_short_vwap_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T16:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4611.935,
      "stop": 4618.536,
      "target": 4598.733,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.06,
        "bb_width_pct": 0.548
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T16-25-00Z_short_vwap_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T16:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4617.88,
      "stop": 4626.979,
      "target": 4599.683,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 1.13,
        "bb_width_pct": 0.48
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T16-30-00Z_short_vwap_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T16:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4616.885,
      "stop": 4625.325,
      "target": 4600.004,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.12,
        "bb_width_pct": 0.446
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T16-45-00Z_short_vwap_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4641.39,
      "stop": 4661.147,
      "target": 4601.876,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.79,
        "bb_width_pct": 0.749
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T16-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4641.39,
      "stop": 4657.118,
      "target": 4609.935,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.79,
        "bb_width_pct": 0.749
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T16-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T16:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4637.37,
      "stop": 4645.709,
      "target": 4620.692,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.61,
        "bb_width_pct": 0.816
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T16-50-00Z_short_vwap_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T16:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4637.37,
      "stop": 4654.785,
      "target": 4602.539,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.61,
        "bb_width_pct": 0.816
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T16-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T16:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4637.37,
      "stop": 4650.017,
      "target": 4612.075,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.61,
        "bb_width_pct": 0.816
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T16-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T16:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4637.37,
      "stop": 4644.982,
      "target": 4622.146,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.61,
        "bb_width_pct": 0.816
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T16-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4638.23,
      "stop": 4646.536,
      "target": 4621.618,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.35,
        "bb_width_pct": 0.88
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T16-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4638.23,
      "stop": 4645.506,
      "target": 4623.678,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.35,
        "bb_width_pct": 0.88
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T17-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T17:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4639.595,
      "stop": 4647.121,
      "target": 4624.544,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.93,
        "bb_width_pct": 1.022
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T17-05-00Z_short_rsi_range_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T17:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4639.595,
      "stop": 4647.121,
      "target": 4624.544,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 15.93,
        "bb_width_pct": 1.022
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T17-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T17:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4639.595,
      "stop": 4648.994,
      "target": 4620.797,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.93,
        "bb_width_pct": 1.022
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T17-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T17:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4639.595,
      "stop": 4645.737,
      "target": 4627.311,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.93,
        "bb_width_pct": 1.022
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T17-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T17:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4650.48,
      "stop": 4661.278,
      "target": 4628.884,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.05,
        "bb_width_pct": 1.198
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T17-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T17:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4654.38,
      "stop": 4665.881,
      "target": 4631.378,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.67,
        "bb_width_pct": 1.179
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T17-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T17:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4654.38,
      "stop": 4659.051,
      "target": 4645.037,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.67,
        "bb_width_pct": 1.179
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T18-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T18:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4664.13,
      "stop": 4677.103,
      "target": 4638.185,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.65,
        "bb_width_pct": 0.829
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T18-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T18:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4664.13,
      "stop": 4669.989,
      "target": 4652.412,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.65,
        "bb_width_pct": 0.829
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T18-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4661.78,
      "stop": 4673.577,
      "target": 4638.185,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.38,
        "bb_width_pct": 0.76
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T18-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T18:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4667.705,
      "stop": 4681.931,
      "target": 4639.253,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.04,
        "bb_width_pct": 0.734
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T18-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T18:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4667.705,
      "stop": 4673.059,
      "target": 4656.997,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.04,
        "bb_width_pct": 0.734
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T18-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T18:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4665.835,
      "stop": 4679.126,
      "target": 4639.253,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.63,
        "bb_width_pct": 0.65
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T18-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T18:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4665.835,
      "stop": 4669.833,
      "target": 4657.839,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.63,
        "bb_width_pct": 0.65
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T18-55-00Z_short_vwap_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T18:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4667.435,
      "stop": 4671.86,
      "target": 4658.584,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.25,
        "bb_width_pct": 0.545
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T18-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T18:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4667.435,
      "stop": 4681.526,
      "target": 4639.253,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.25,
        "bb_width_pct": 0.545
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T18-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T18:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4667.435,
      "stop": 4671.309,
      "target": 4659.686,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.25,
        "bb_width_pct": 0.545
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T19-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T19:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4670.475,
      "stop": 4674.414,
      "target": 4662.598,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.43,
        "bb_width_pct": 0.522
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T19-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T19:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4670.475,
      "stop": 4675.356,
      "target": 4660.714,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.43,
        "bb_width_pct": 0.522
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T19-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T19:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4662.105,
      "stop": 4672.287,
      "target": 4641.74,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.05,
        "bb_width_pct": 0.443
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T19-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T19:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4662.105,
      "stop": 4662.734,
      "target": 4660.846,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.05,
        "bb_width_pct": 0.443
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T19-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T19:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4672.985,
      "stop": 4676.984,
      "target": 4664.988,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.92,
        "bb_width_pct": 0.417
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T19-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T19:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4672.985,
      "stop": 4678.023,
      "target": 4662.909,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.92,
        "bb_width_pct": 0.417
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T19-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T19:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4675.235,
      "stop": 4679.989,
      "target": 4665.727,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.26,
        "bb_width_pct": 0.448
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T19-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T19:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4672.985,
      "stop": 4676.36,
      "target": 4666.235,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.75,
        "bb_width_pct": 0.464
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T19-25-00Z_short_vwap_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T19:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4672.985,
      "stop": 4678.907,
      "target": 4661.141,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.75,
        "bb_width_pct": 0.464
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T19-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T19:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4672.985,
      "stop": 4687.422,
      "target": 4644.11,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.75,
        "bb_width_pct": 0.464
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T19-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T19:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4672.985,
      "stop": 4677.012,
      "target": 4664.93,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.75,
        "bb_width_pct": 0.464
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T19-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T19:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4677.205,
      "stop": 4682.311,
      "target": 4666.994,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.55,
        "bb_width_pct": 0.498
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T19-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T19:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4681.205,
      "stop": 4686.935,
      "target": 4669.746,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.31,
        "bb_width_pct": 0.493
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T19-40-00Z_short_vwap_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T19:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4681.205,
      "stop": 4690.412,
      "target": 4662.79,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.31,
        "bb_width_pct": 0.493
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T19-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T19:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4681.205,
      "stop": 4697.309,
      "target": 4648.997,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.31,
        "bb_width_pct": 0.493
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T19-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T19:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4683.315,
      "stop": 4689.647,
      "target": 4670.651,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.17,
        "bb_width_pct": 0.545
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T19-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T19:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4684.435,
      "stop": 4690.866,
      "target": 4671.572,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.31,
        "bb_width_pct": 0.594
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T19-55-00Z_short_rsi_range_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T19:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4683.02,
      "stop": 4688.342,
      "target": 4672.375,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 15.21,
        "bb_width_pct": 0.623
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T19-55-00Z_short_vwap_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T19:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4683.02,
      "stop": 4692.292,
      "target": 4664.475,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.21,
        "bb_width_pct": 0.623
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T19-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T19:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4683.02,
      "stop": 4695.29,
      "target": 4658.48,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.21,
        "bb_width_pct": 0.623
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T20-00-00Z_short_vwap_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T20:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4681.19,
      "stop": 4689.303,
      "target": 4664.965,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.03,
        "bb_width_pct": 0.621
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T20-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T20:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4681.19,
      "stop": 4692.545,
      "target": 4658.48,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.03,
        "bb_width_pct": 0.621
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T20-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T20:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4681.19,
      "stop": 4685.001,
      "target": 4673.567,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.03,
        "bb_width_pct": 0.621
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T20-05-00Z_short_vwap_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T20:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4677.34,
      "stop": 4683.34,
      "target": 4665.341,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.82,
        "bb_width_pct": 0.6
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T20-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T20:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4677.34,
      "stop": 4685.37,
      "target": 4661.28,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.82,
        "bb_width_pct": 0.6
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T20-15-00Z_short_rsi_range_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T20:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4677.315,
      "stop": 4678.423,
      "target": 4675.1,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 6.59,
        "bb_width_pct": 0.554
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T20-15-00Z_short_vwap_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T20:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4677.315,
      "stop": 4682.967,
      "target": 4666.01,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.59,
        "bb_width_pct": 0.554
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T20-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T20:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4677.315,
      "stop": 4685.014,
      "target": 4661.917,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.59,
        "bb_width_pct": 0.554
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T20-45-00Z_long_rsi_range_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T20:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4668.285,
      "stop": 4664.298,
      "target": 4676.26,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.86,
        "bb_width_pct": 0.439
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T20-55-00Z_long_rsi_range_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T20:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4667.875,
      "stop": 4663.954,
      "target": 4675.718,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.31,
        "bb_width_pct": 0.495
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T22-00-00Z_short_vwap_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T22:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4674.5,
      "stop": 4728.526,
      "target": 4566.449,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.84,
        "bb_width_pct": 0.495
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T22-05-00Z_short_vwap_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T22:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4669.75,
      "stop": 4719.395,
      "target": 4570.459,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.21,
        "bb_width_pct": 0.505
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T22-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T22:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4669.525,
      "stop": 4666.72,
      "target": 4675.135,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.38,
        "bb_width_pct": 0.516
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T22-10-00Z_short_vwap_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T22:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4669.525,
      "stop": 4717.236,
      "target": 4574.103,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 9.38,
        "bb_width_pct": 0.516
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T22-15-00Z_short_vwap_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T22:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4666.965,
      "stop": 4711.702,
      "target": 4577.49,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.72,
        "bb_width_pct": 0.515
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T22-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T22:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4674.615,
      "stop": 4674.967,
      "target": 4673.911,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.49,
        "bb_width_pct": 0.484
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T22-25-00Z_short_vwap_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T22:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4674.615,
      "stop": 4719.882,
      "target": 4584.08,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 1.49,
        "bb_width_pct": 0.484
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T22-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T22:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4674.615,
      "stop": 4675.081,
      "target": 4673.682,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.49,
        "bb_width_pct": 0.484
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T22-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T22:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4674.615,
      "stop": 4675.744,
      "target": 4672.356,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.49,
        "bb_width_pct": 0.484
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T22-30-00Z_short_vwap_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T22:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4672.895,
      "stop": 4715.861,
      "target": 4586.963,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.06,
        "bb_width_pct": 0.438
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T22-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T22:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4684.6,
      "stop": 4689.855,
      "target": 4674.089,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.32,
        "bb_width_pct": 0.587
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T22-40-00Z_short_vwap_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T22:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4684.6,
      "stop": 4730.364,
      "target": 4593.073,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.32,
        "bb_width_pct": 0.587
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T22-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T22:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4684.6,
      "stop": 4688.05,
      "target": 4677.7,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.32,
        "bb_width_pct": 0.587
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T22-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T22:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4684.6,
      "stop": 4689.155,
      "target": 4675.49,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.32,
        "bb_width_pct": 0.587
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T22-45-00Z_short_vwap_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T22:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4671.355,
      "stop": 4709.313,
      "target": 4595.44,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.07,
        "bb_width_pct": 0.585
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T23-00-00Z_short_vwap_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4677.03,
      "stop": 4714.554,
      "target": 4601.983,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.26,
        "bb_width_pct": 0.594
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T23-05-00Z_short_vwap_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4674.72,
      "stop": 4710.121,
      "target": 4603.919,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.13,
        "bb_width_pct": 0.588
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T23-15-00Z_short_vwap_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4673.805,
      "stop": 4706.939,
      "target": 4607.538,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.45,
        "bb_width_pct": 0.585
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T23-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4691.07,
      "stop": 4697.328,
      "target": 4678.554,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.44,
        "bb_width_pct": 0.673
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T23-40-00Z_short_vwap_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4691.07,
      "stop": 4728.525,
      "target": 4616.161,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.44,
        "bb_width_pct": 0.673
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T23-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4691.07,
      "stop": 4696.939,
      "target": 4679.333,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.44,
        "bb_width_pct": 0.673
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T23-45-00Z_short_vwap_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4689.26,
      "stop": 4725.003,
      "target": 4617.774,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.57,
        "bb_width_pct": 0.678
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T23-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4689.26,
      "stop": 4694.224,
      "target": 4679.333,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.57,
        "bb_width_pct": 0.678
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-03-31T23-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T23:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4696.44,
      "stop": 4703.598,
      "target": 4682.125,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 23.71,
        "bb_width_pct": 0.69
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T00-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T00:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4701.03,
      "stop": 4709.38,
      "target": 4684.33,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 27.12,
        "bb_width_pct": 0.808
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T00-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4705.66,
      "stop": 4712.383,
      "target": 4692.214,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.67,
        "bb_width_pct": 1.153
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T00-30-00Z_short_rsi_range_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4705.66,
      "stop": 4712.383,
      "target": 4692.214,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 20.67,
        "bb_width_pct": 1.153
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T00-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4705.66,
      "stop": 4712.427,
      "target": 4692.125,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 20.67,
        "bb_width_pct": 1.153
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T00-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4705.66,
      "stop": 4710.496,
      "target": 4695.988,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.67,
        "bb_width_pct": 1.153
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T00-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T00:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4707.01,
      "stop": 4711.21,
      "target": 4698.61,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.62,
        "bb_width_pct": 1.08
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T00-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T00:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4711.555,
      "stop": 4717.411,
      "target": 4699.843,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.36,
        "bb_width_pct": 1.039
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T00-55-00Z_short_rsi_range_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T00:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4710.92,
      "stop": 4716.34,
      "target": 4700.08,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 15.72,
        "bb_width_pct": 0.946
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T00-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T00:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4710.92,
      "stop": 4720.199,
      "target": 4692.363,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.72,
        "bb_width_pct": 0.946
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T00-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T00:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4710.92,
      "stop": 4715.931,
      "target": 4700.898,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.72,
        "bb_width_pct": 0.946
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T01-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4703.995,
      "stop": 4705.288,
      "target": 4701.409,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.39,
        "bb_width_pct": 0.838
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T01-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4703.995,
      "stop": 4709.811,
      "target": 4692.363,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.39,
        "bb_width_pct": 0.838
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T01-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4703.995,
      "stop": 4705.396,
      "target": 4701.193,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.39,
        "bb_width_pct": 0.838
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T01-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4693.21,
      "stop": 4687.236,
      "target": 4705.157,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.13,
        "bb_width_pct": 0.568
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T01-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T01:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4687.88,
      "stop": 4679.774,
      "target": 4704.091,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.22,
        "bb_width_pct": 0.715
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T01-40-00Z_long_vwap_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T01:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4687.88,
      "stop": 4679.882,
      "target": 4703.875,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.22,
        "bb_width_pct": 0.715
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T01-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T01:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4687.88,
      "stop": 4682.54,
      "target": 4698.56,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.22,
        "bb_width_pct": 0.715
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T02-25-00Z_long_vwap_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T02:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4687.315,
      "stop": 4680.785,
      "target": 4700.376,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.96,
        "bb_width_pct": 0.676
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T02-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T02:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4680.295,
      "stop": 4673.236,
      "target": 4694.413,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.98,
        "bb_width_pct": 0.642
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T02-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T02:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4680.295,
      "stop": 4674.111,
      "target": 4692.664,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.98,
        "bb_width_pct": 0.642
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T02-40-00Z_long_vwap_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T02:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4681.805,
      "stop": 4673.311,
      "target": 4698.793,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.76,
        "bb_width_pct": 0.654
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T02-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T02:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4681.805,
      "stop": 4672.275,
      "target": 4700.865,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 3.76,
        "bb_width_pct": 0.654
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T02-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T02:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4681.805,
      "stop": 4676.893,
      "target": 4691.63,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.76,
        "bb_width_pct": 0.654
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T02-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4679.91,
      "stop": 4674.608,
      "target": 4690.514,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.35,
        "bb_width_pct": 0.649
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T02-50-00Z_long_vwap_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T02:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4687.475,
      "stop": 4682.269,
      "target": 4697.887,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.7,
        "bb_width_pct": 0.571
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T02-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T02:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4687.475,
      "stop": 4680.524,
      "target": 4701.378,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 3.7,
        "bb_width_pct": 0.571
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T03-00-00Z_long_vwap_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4684.865,
      "stop": 4678.672,
      "target": 4697.25,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.54,
        "bb_width_pct": 0.563
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T03-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4684.865,
      "stop": 4676.609,
      "target": 4701.378,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.54,
        "bb_width_pct": 0.563
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T03-05-00Z_long_vwap_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T03:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4687.195,
      "stop": 4682.305,
      "target": 4696.976,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.15,
        "bb_width_pct": 0.433
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T03-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T03:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4687.195,
      "stop": 4680.104,
      "target": 4701.378,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.15,
        "bb_width_pct": 0.433
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T03-30-00Z_long_vwap_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4687.87,
      "stop": 4683.781,
      "target": 4696.049,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.66,
        "bb_width_pct": 0.399
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T03-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4687.87,
      "stop": 4681.116,
      "target": 4701.378,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.66,
        "bb_width_pct": 0.399
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T03-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T03:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4682.0,
      "stop": 4680.105,
      "target": 4685.789,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.03,
        "bb_width_pct": 0.254
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T04-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4672.565,
      "stop": 4667.313,
      "target": 4683.069,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.87,
        "bb_width_pct": 0.529
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T04-20-00Z_long_rsi_range_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4672.565,
      "stop": 4667.313,
      "target": 4683.069,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.87,
        "bb_width_pct": 0.529
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T04-20-00Z_long_vwap_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4672.565,
      "stop": 4662.37,
      "target": 4692.955,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.87,
        "bb_width_pct": 0.529
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T04-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4672.565,
      "stop": 4664.492,
      "target": 4688.71,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 24.87,
        "bb_width_pct": 0.529
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T04-35-00Z_long_rsi_range_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4675.565,
      "stop": 4672.616,
      "target": 4681.463,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.7,
        "bb_width_pct": 0.596
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T04-35-00Z_long_vwap_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4675.565,
      "stop": 4667.405,
      "target": 4691.884,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.7,
        "bb_width_pct": 0.596
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T04-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4675.565,
      "stop": 4669.427,
      "target": 4687.84,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 18.7,
        "bb_width_pct": 0.596
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T04-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4675.565,
      "stop": 4673.553,
      "target": 4679.588,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.7,
        "bb_width_pct": 0.596
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T04-40-00Z_long_rsi_range_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4677.085,
      "stop": 4675.091,
      "target": 4681.074,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.56,
        "bb_width_pct": 0.598
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T04-40-00Z_long_vwap_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4677.085,
      "stop": 4669.822,
      "target": 4691.612,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.56,
        "bb_width_pct": 0.598
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T04-45-00Z_long_vwap_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4677.985,
      "stop": 4671.291,
      "target": 4691.372,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.25,
        "bb_width_pct": 0.588
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T05-05-00Z_long_vwap_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4680.985,
      "stop": 4676.238,
      "target": 4690.48,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.49,
        "bb_width_pct": 0.46
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T05-10-00Z_long_vwap_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4683.01,
      "stop": 4679.337,
      "target": 4690.355,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.15,
        "bb_width_pct": 0.432
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T05-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4685.53,
      "stop": 4689.328,
      "target": 4677.934,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.04,
        "bb_width_pct": 0.415
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T05-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4685.53,
      "stop": 4688.408,
      "target": 4679.773,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.04,
        "bb_width_pct": 0.415
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T05-20-00Z_short_rsi_range_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4684.415,
      "stop": 4687.722,
      "target": 4677.8,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 24.06,
        "bb_width_pct": 0.396
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T05-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4686.555,
      "stop": 4690.876,
      "target": 4677.913,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.55,
        "bb_width_pct": 0.412
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T05-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4686.555,
      "stop": 4689.423,
      "target": 4680.819,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.55,
        "bb_width_pct": 0.412
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T05-50-00Z_short_rsi_range_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4695.605,
      "stop": 4701.942,
      "target": 4682.932,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 21.78,
        "bb_width_pct": 0.86
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T05-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4695.605,
      "stop": 4700.664,
      "target": 4685.487,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 21.78,
        "bb_width_pct": 0.86
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T05-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4695.605,
      "stop": 4699.546,
      "target": 4687.722,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.78,
        "bb_width_pct": 0.86
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T06-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T06:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4695.98,
      "stop": 4701.226,
      "target": 4685.487,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.92,
        "bb_width_pct": 0.73
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T06-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T06:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4709.595,
      "stop": 4719.117,
      "target": 4690.55,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.87,
        "bb_width_pct": 0.863
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T06-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4709.24,
      "stop": 4717.784,
      "target": 4692.152,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.78,
        "bb_width_pct": 0.887
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T06-30-00Z_short_rsi_range_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4709.24,
      "stop": 4717.784,
      "target": 4692.152,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 20.78,
        "bb_width_pct": 0.887
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T06-30-00Z_short_vwap_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4709.24,
      "stop": 4718.227,
      "target": 4691.266,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 20.78,
        "bb_width_pct": 0.887
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T06-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4709.24,
      "stop": 4719.169,
      "target": 4689.382,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 20.78,
        "bb_width_pct": 0.887
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T06-35-00Z_short_vwap_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4702.62,
      "stop": 4708.213,
      "target": 4691.434,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.52,
        "bb_width_pct": 0.852
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T06-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4702.62,
      "stop": 4708.879,
      "target": 4690.102,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.52,
        "bb_width_pct": 0.852
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T06-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4702.62,
      "stop": 4706.418,
      "target": 4695.024,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.52,
        "bb_width_pct": 0.852
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T07-10-00Z_short_rsi_range_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T07:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4715.58,
      "stop": 4720.146,
      "target": 4706.448,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 23.33,
        "bb_width_pct": 1.149
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T07-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T07:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4715.58,
      "stop": 4719.208,
      "target": 4708.323,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 23.33,
        "bb_width_pct": 1.149
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T07-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T07:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4719.735,
      "stop": 4724.539,
      "target": 4710.127,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.27,
        "bb_width_pct": 1.176
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T07-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T07:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4730.69,
      "stop": 4741.785,
      "target": 4708.5,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 20.17,
        "bb_width_pct": 1.143
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T07-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T07:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4730.69,
      "stop": 4737.328,
      "target": 4717.414,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.17,
        "bb_width_pct": 1.143
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T08-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4738.07,
      "stop": 4744.835,
      "target": 4724.541,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.38,
        "bb_width_pct": 0.653
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T08-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4738.07,
      "stop": 4745.37,
      "target": 4723.47,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.38,
        "bb_width_pct": 0.653
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T08-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T08:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4732.185,
      "stop": 4740.738,
      "target": 4715.08,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.8,
        "bb_width_pct": 0.666
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T09-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T09:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4721.17,
      "stop": 4719.891,
      "target": 4723.727,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.4,
        "bb_width_pct": 0.564
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T10-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T10:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4720.255,
      "stop": 4715.975,
      "target": 4728.815,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 2.2,
        "bb_width_pct": 0.434
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T10-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T10:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4727.14,
      "stop": 4729.878,
      "target": 4721.664,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.17,
        "bb_width_pct": 0.352
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T10-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T10:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4731.99,
      "stop": 4736.149,
      "target": 4723.671,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.22,
        "bb_width_pct": 0.527
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T10-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T10:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4731.99,
      "stop": 4734.824,
      "target": 4726.321,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.22,
        "bb_width_pct": 0.527
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T11-10-00Z_short_rsi_range_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T11:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4736.91,
      "stop": 4741.698,
      "target": 4727.333,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 21.78,
        "bb_width_pct": 0.614
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T11-10-00Z_short_vwap_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T11:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4736.91,
      "stop": 4740.991,
      "target": 4728.747,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 21.78,
        "bb_width_pct": 0.614
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T11-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T11:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4736.91,
      "stop": 4742.77,
      "target": 4725.19,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 21.78,
        "bb_width_pct": 0.614
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T11-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T11:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4736.91,
      "stop": 4740.494,
      "target": 4729.743,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.78,
        "bb_width_pct": 0.614
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T11-20-00Z_short_rsi_range_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T11:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4740.19,
      "stop": 4745.478,
      "target": 4729.613,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 21.53,
        "bb_width_pct": 0.67
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T11-20-00Z_short_vwap_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T11:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4740.19,
      "stop": 4745.189,
      "target": 4730.193,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 21.53,
        "bb_width_pct": 0.67
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T11-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T11:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4740.19,
      "stop": 4745.941,
      "target": 4728.688,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 21.53,
        "bb_width_pct": 0.67
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T11-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T11:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4740.19,
      "stop": 4744.309,
      "target": 4731.953,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.53,
        "bb_width_pct": 0.67
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T11-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T11:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4746.155,
      "stop": 4753.383,
      "target": 4731.698,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.79,
        "bb_width_pct": 0.764
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T11-45-00Z_short_rsi_range_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T11:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4758.59,
      "stop": 4769.158,
      "target": 4737.455,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 24.1,
        "bb_width_pct": 0.993
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T11-45-00Z_short_vwap_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T11:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4758.59,
      "stop": 4770.259,
      "target": 4735.251,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 24.1,
        "bb_width_pct": 0.993
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T11-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T11:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4758.59,
      "stop": 4768.86,
      "target": 4738.05,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 24.1,
        "bb_width_pct": 0.993
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T11-55-00Z_short_vwap_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T11:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4752.565,
      "stop": 4760.305,
      "target": 4737.085,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 20.37,
        "bb_width_pct": 0.932
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T11-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T11:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4752.565,
      "stop": 4759.823,
      "target": 4738.05,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 20.37,
        "bb_width_pct": 0.932
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T11-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T11:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4752.565,
      "stop": 4757.087,
      "target": 4743.52,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.37,
        "bb_width_pct": 0.932
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T12-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T12:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4735.925,
      "stop": 4731.77,
      "target": 4744.235,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.79,
        "bb_width_pct": 0.763
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T12-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T12:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4735.925,
      "stop": 4732.988,
      "target": 4741.798,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.79,
        "bb_width_pct": 0.763
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T12-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T12:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4731.47,
      "stop": 4724.655,
      "target": 4745.1,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.61,
        "bb_width_pct": 0.742
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T12-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T12:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4724.775,
      "stop": 4715.089,
      "target": 4744.146,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.52,
        "bb_width_pct": 0.831
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T13-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4720.705,
      "stop": 4712.435,
      "target": 4737.244,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.78,
        "bb_width_pct": 0.935
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T13-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T13:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4729.28,
      "stop": 4722.732,
      "target": 4742.376,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.38,
        "bb_width_pct": 0.968
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T13-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T13:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4729.28,
      "stop": 4724.326,
      "target": 4739.188,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 11.38,
        "bb_width_pct": 0.968
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T13-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T13:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4729.28,
      "stop": 4725.677,
      "target": 4736.486,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.38,
        "bb_width_pct": 0.968
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T14-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T14:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4739.92,
      "stop": 4740.951,
      "target": 4737.857,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.26,
        "bb_width_pct": 0.593
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T14-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T14:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4760.89,
      "stop": 4768.25,
      "target": 4746.169,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.67,
        "bb_width_pct": 0.685
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T14-55-00Z_short_vwap_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T14:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4760.89,
      "stop": 4770.751,
      "target": 4741.169,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.67,
        "bb_width_pct": 0.685
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T14-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T14:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4760.89,
      "stop": 4770.128,
      "target": 4742.415,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.67,
        "bb_width_pct": 0.685
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T14-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T14:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4760.89,
      "stop": 4767.215,
      "target": 4748.24,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.67,
        "bb_width_pct": 0.685
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T15-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T15:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4767.17,
      "stop": 4775.734,
      "target": 4750.043,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.61,
        "bb_width_pct": 0.768
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T15-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T15:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4765.035,
      "stop": 4772.17,
      "target": 4750.765,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.17,
        "bb_width_pct": 0.886
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T15-10-00Z_short_vwap_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T15:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4765.035,
      "stop": 4775.937,
      "target": 4743.232,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.17,
        "bb_width_pct": 0.886
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T15-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T15:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4765.035,
      "stop": 4775.073,
      "target": 4744.96,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.17,
        "bb_width_pct": 0.886
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T15-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T15:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4765.035,
      "stop": 4770.817,
      "target": 4753.471,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.17,
        "bb_width_pct": 0.886
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T15-20-00Z_short_vwap_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T15:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4770.325,
      "stop": 4783.222,
      "target": 4744.531,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.2,
        "bb_width_pct": 0.994
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T15-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T15:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4770.325,
      "stop": 4782.666,
      "target": 4745.642,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.2,
        "bb_width_pct": 0.994
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T15-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T15:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4770.325,
      "stop": 4777.209,
      "target": 4756.557,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.2,
        "bb_width_pct": 0.994
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T16-00-00Z_short_vwap_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4785.81,
      "stop": 4803.372,
      "target": 4750.687,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 23.19,
        "bb_width_pct": 1.163
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T16-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4785.81,
      "stop": 4802.605,
      "target": 4752.22,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 23.19,
        "bb_width_pct": 1.163
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T16-05-00Z_short_rsi_range_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T16:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4785.295,
      "stop": 4792.16,
      "target": 4771.565,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 17.37,
        "bb_width_pct": 1.071
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T16-05-00Z_short_vwap_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T16:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4785.295,
      "stop": 4802.256,
      "target": 4751.374,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 17.37,
        "bb_width_pct": 1.071
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T16-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T16:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4785.295,
      "stop": 4801.163,
      "target": 4753.56,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.37,
        "bb_width_pct": 1.071
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T16-10-00Z_short_vwap_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T16:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4774.915,
      "stop": 4786.422,
      "target": 4751.901,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 1.61,
        "bb_width_pct": 0.929
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T16-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T16:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4774.915,
      "stop": 4785.593,
      "target": 4753.56,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.61,
        "bb_width_pct": 0.929
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T16-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T16:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4774.915,
      "stop": 4775.853,
      "target": 4773.04,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.61,
        "bb_width_pct": 0.929
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T16-20-00Z_short_vwap_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T16:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4780.08,
      "stop": 4793.629,
      "target": 4752.982,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 9.98,
        "bb_width_pct": 0.734
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T16-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T16:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4780.08,
      "stop": 4792.861,
      "target": 4754.517,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.98,
        "bb_width_pct": 0.734
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T16-25-00Z_short_vwap_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T16:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4776.565,
      "stop": 4788.132,
      "target": 4753.43,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.82,
        "bb_width_pct": 0.654
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T16-35-00Z_short_vwap_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4780.735,
      "stop": 4793.89,
      "target": 4754.424,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.83,
        "bb_width_pct": 0.553
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T16-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4780.735,
      "stop": 4792.317,
      "target": 4757.57,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.83,
        "bb_width_pct": 0.553
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T16-45-00Z_short_vwap_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4784.065,
      "stop": 4798.383,
      "target": 4755.429,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.19,
        "bb_width_pct": 0.507
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T16-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4784.065,
      "stop": 4797.312,
      "target": 4757.57,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.19,
        "bb_width_pct": 0.507
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T16-50-00Z_short_vwap_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T16:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4783.82,
      "stop": 4797.777,
      "target": 4755.906,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 1.06,
        "bb_width_pct": 0.421
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T16-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T16:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4783.82,
      "stop": 4796.945,
      "target": 4757.57,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.06,
        "bb_width_pct": 0.421
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T16-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4787.3,
      "stop": 4791.478,
      "target": 4778.943,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.2,
        "bb_width_pct": 0.386
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T17-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T17:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4789.215,
      "stop": 4792.444,
      "target": 4782.756,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.16,
        "bb_width_pct": 0.34
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T17-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T17:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4791.11,
      "stop": 4794.84,
      "target": 4783.65,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.73,
        "bb_width_pct": 0.32
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T17-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T17:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4788.5,
      "stop": 4803.376,
      "target": 4758.747,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.32,
        "bb_width_pct": 0.324
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T17-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T17:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4788.5,
      "stop": 4791.899,
      "target": 4781.703,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.32,
        "bb_width_pct": 0.324
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T17-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T17:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4785.66,
      "stop": 4799.116,
      "target": 4758.747,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.32,
        "bb_width_pct": 0.322
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T17-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T17:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4785.325,
      "stop": 4797.036,
      "target": 4761.903,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.85,
        "bb_width_pct": 0.327
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T17-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T17:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4785.325,
      "stop": 4786.56,
      "target": 4782.856,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.85,
        "bb_width_pct": 0.327
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T17-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T17:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4779.93,
      "stop": 4788.944,
      "target": 4761.903,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.81,
        "bb_width_pct": 0.336
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T17-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T17:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4782.695,
      "stop": 4782.095,
      "target": 4783.895,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.23,
        "bb_width_pct": 0.333
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T17-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T17:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4782.19,
      "stop": 4792.334,
      "target": 4761.903,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.18,
        "bb_width_pct": 0.332
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T18-05-00Z_long_rsi_range_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T18:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4767.33,
      "stop": 4759.961,
      "target": 4782.068,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.51,
        "bb_width_pct": 0.549
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T18-05-00Z_long_vwap_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T18:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4767.33,
      "stop": 4760.04,
      "target": 4781.909,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.51,
        "bb_width_pct": 0.549
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T18-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T18:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4771.355,
      "stop": 4766.278,
      "target": 4781.509,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.05,
        "bb_width_pct": 0.583
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T18-10-00Z_long_rsi_range_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T18:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4771.355,
      "stop": 4766.278,
      "target": 4781.509,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.05,
        "bb_width_pct": 0.583
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T18-10-00Z_long_vwap_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T18:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4771.355,
      "stop": 4766.455,
      "target": 4781.155,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.05,
        "bb_width_pct": 0.583
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T18-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T18:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4771.355,
      "stop": 4768.084,
      "target": 4777.897,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.05,
        "bb_width_pct": 0.583
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T18-30-00Z_long_rsi_range_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4756.1,
      "stop": 4746.008,
      "target": 4776.283,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 27.04,
        "bb_width_pct": 0.996
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T18-30-00Z_long_vwap_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4756.1,
      "stop": 4745.91,
      "target": 4776.48,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 27.04,
        "bb_width_pct": 0.996
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T18-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4756.1,
      "stop": 4747.528,
      "target": 4773.245,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 27.04,
        "bb_width_pct": 0.996
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T18-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T18:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4749.395,
      "stop": 4736.899,
      "target": 4774.388,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.49,
        "bb_width_pct": 1.085
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T18-40-00Z_long_rsi_range_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T18:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4757.005,
      "stop": 4749.119,
      "target": 4772.778,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.39,
        "bb_width_pct": 1.091
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T18-40-00Z_long_vwap_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T18:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4757.005,
      "stop": 4748.372,
      "target": 4774.271,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.39,
        "bb_width_pct": 1.091
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T18-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T18:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4757.005,
      "stop": 4751.666,
      "target": 4767.682,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 20.39,
        "bb_width_pct": 1.091
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T18-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T18:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4757.005,
      "stop": 4751.623,
      "target": 4767.769,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.39,
        "bb_width_pct": 1.091
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T18-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T18:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4756.23,
      "stop": 4751.01,
      "target": 4766.67,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.74,
        "bb_width_pct": 1.071
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T18-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T18:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4755.285,
      "stop": 4750.135,
      "target": 4765.586,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.47,
        "bb_width_pct": 1.053
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T19-00-00Z_long_vwap_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T19:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4758.04,
      "stop": 4751.461,
      "target": 4771.199,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.61,
        "bb_width_pct": 0.985
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T19-05-00Z_long_vwap_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T19:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4758.165,
      "stop": 4751.854,
      "target": 4770.786,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.78,
        "bb_width_pct": 0.924
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T19-10-00Z_long_vwap_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T19:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4759.945,
      "stop": 4754.746,
      "target": 4770.343,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.09,
        "bb_width_pct": 0.881
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T19-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T19:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4769.325,
      "stop": 4773.636,
      "target": 4760.704,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.85,
        "bb_width_pct": 0.55
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T19-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T19:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4769.325,
      "stop": 4771.53,
      "target": 4764.914,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.85,
        "bb_width_pct": 0.55
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T19-45-00Z_short_rsi_range_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T19:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4767.8,
      "stop": 4771.336,
      "target": 4760.728,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 11.27,
        "bb_width_pct": 0.552
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T20-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4760.03,
      "stop": 4757.716,
      "target": 4764.659,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.37,
        "bb_width_pct": 0.375
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T20-40-00Z_long_vwap_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4760.03,
      "stop": 4755.88,
      "target": 4768.329,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.37,
        "bb_width_pct": 0.375
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T20-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4760.03,
      "stop": 4758.034,
      "target": 4764.022,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.37,
        "bb_width_pct": 0.375
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T20-55-00Z_long_vwap_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T20:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4758.2,
      "stop": 4753.407,
      "target": 4767.786,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.28,
        "bb_width_pct": 0.384
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T22-00-00Z_short_vwap_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T22:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4758.445,
      "stop": 4768.698,
      "target": 4737.939,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.6,
        "bb_width_pct": 0.395
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T22-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T22:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4756.815,
      "stop": 4753.198,
      "target": 4764.049,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.55,
        "bb_width_pct": 0.419
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T22-05-00Z_short_vwap_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T22:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4756.815,
      "stop": 4765.897,
      "target": 4738.652,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.55,
        "bb_width_pct": 0.419
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T22-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T22:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4756.815,
      "stop": 4754.29,
      "target": 4761.865,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.55,
        "bb_width_pct": 0.419
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T22-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T22:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4774.545,
      "stop": 4779.77,
      "target": 4764.095,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.47,
        "bb_width_pct": 0.5
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T22-35-00Z_short_vwap_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T22:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4774.545,
      "stop": 4789.735,
      "target": 4744.166,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 17.47,
        "bb_width_pct": 0.5
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T22-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T22:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4774.545,
      "stop": 4781.715,
      "target": 4760.205,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.47,
        "bb_width_pct": 0.5
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T22-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T22:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4775.9,
      "stop": 4781.539,
      "target": 4764.621,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.28,
        "bb_width_pct": 0.545
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T22-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T22:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4779.425,
      "stop": 4786.245,
      "target": 4765.785,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.78,
        "bb_width_pct": 0.664
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T22-50-00Z_short_rsi_range_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T22:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4779.425,
      "stop": 4786.245,
      "target": 4765.785,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 18.78,
        "bb_width_pct": 0.664
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T22-50-00Z_short_vwap_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T22:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4779.425,
      "stop": 4795.608,
      "target": 4747.059,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 18.78,
        "bb_width_pct": 0.664
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T22-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T22:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4779.425,
      "stop": 4788.163,
      "target": 4761.95,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.78,
        "bb_width_pct": 0.664
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T22-55-00Z_short_vwap_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T22:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4776.7,
      "stop": 4791.1,
      "target": 4747.901,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 21.77,
        "bb_width_pct": 0.688
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T22-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T22:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4776.7,
      "stop": 4782.157,
      "target": 4765.785,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 21.77,
        "bb_width_pct": 0.688
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T22-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T22:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4776.7,
      "stop": 4780.252,
      "target": 4769.597,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.77,
        "bb_width_pct": 0.688
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T23-30-00Z_short_rsi_range_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4792.995,
      "stop": 4801.167,
      "target": 4776.652,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 19.41,
        "bb_width_pct": 1.081
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T23-30-00Z_short_vwap_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4792.995,
      "stop": 4812.094,
      "target": 4754.797,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 19.41,
        "bb_width_pct": 1.081
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T23-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4792.995,
      "stop": 4801.631,
      "target": 4775.722,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 19.41,
        "bb_width_pct": 1.081
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T23-35-00Z_short_rsi_range_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4792.195,
      "stop": 4799.117,
      "target": 4778.351,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 15.94,
        "bb_width_pct": 1.055
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T23-35-00Z_short_vwap_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4792.195,
      "stop": 4810.48,
      "target": 4755.625,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.94,
        "bb_width_pct": 1.055
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T23-40-00Z_short_vwap_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4789.8,
      "stop": 4806.493,
      "target": 4756.414,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 16.26,
        "bb_width_pct": 1.001
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T23-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4789.8,
      "stop": 4796.505,
      "target": 4776.39,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 16.26,
        "bb_width_pct": 1.001
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T23-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4789.8,
      "stop": 4793.446,
      "target": 4782.509,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.26,
        "bb_width_pct": 1.001
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T23-45-00Z_short_vwap_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4784.195,
      "stop": 4797.775,
      "target": 4757.036,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.73,
        "bb_width_pct": 0.899
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-01T23-55-00Z_short_vwap_mean_reversion",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T23:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4784.19,
      "stop": 4797.206,
      "target": 4758.158,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.17,
        "bb_width_pct": 0.691
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T00-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T00:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4795.825,
      "stop": 4800.925,
      "target": 4785.626,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.52,
        "bb_width_pct": 0.543
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T00-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T00:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4794.235,
      "stop": 4803.157,
      "target": 4776.39,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.02,
        "bb_width_pct": 0.511
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T00-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T00:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4794.235,
      "stop": 4798.13,
      "target": 4786.446,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.02,
        "bb_width_pct": 0.511
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T00-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T00:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4789.7,
      "stop": 4796.355,
      "target": 4776.39,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.64,
        "bb_width_pct": 0.488
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T00-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T00:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4787.44,
      "stop": 4792.965,
      "target": 4776.39,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.85,
        "bb_width_pct": 0.331
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T01-05-00Z_long_rsi_range_reversion",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T01:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4747.54,
      "stop": 4728.946,
      "target": 4784.729,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.0,
        "bb_width_pct": 1.134
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T01-05-00Z_long_vwap_mean_reversion",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T01:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4747.54,
      "stop": 4729.707,
      "target": 4783.205,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.0,
        "bb_width_pct": 1.134
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T01-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T01:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4747.54,
      "stop": 4737.791,
      "target": 4767.038,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 21.0,
        "bb_width_pct": 1.134
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T02-55-00Z_long_vwap_mean_reversion",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T02:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4687.24,
      "stop": 4666.347,
      "target": 4729.025,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.72,
        "bb_width_pct": 1.013
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T03-05-00Z_long_vwap_mean_reversion",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T03:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4682.35,
      "stop": 4660.25,
      "target": 4726.551,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.34,
        "bb_width_pct": 0.891
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T03-10-00Z_long_vwap_mean_reversion",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T03:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4690.35,
      "stop": 4672.749,
      "target": 4725.553,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.27,
        "bb_width_pct": 0.888
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T03-15-00Z_long_vwap_mean_reversion",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4691.025,
      "stop": 4674.187,
      "target": 4724.701,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.86,
        "bb_width_pct": 0.868
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T03-20-00Z_long_vwap_mean_reversion",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T03:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4697.775,
      "stop": 4684.676,
      "target": 4723.973,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.0,
        "bb_width_pct": 0.89
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T03-30-00Z_long_vwap_mean_reversion",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4692.005,
      "stop": 4676.753,
      "target": 4722.509,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.98,
        "bb_width_pct": 0.838
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T03-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T03:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4677.9,
      "stop": 4672.042,
      "target": 4689.616,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.08,
        "bb_width_pct": 0.79
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T03-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T03:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4676.51,
      "stop": 4670.581,
      "target": 4688.368,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.5,
        "bb_width_pct": 0.792
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T04-00-00Z_long_vwap_mean_reversion",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T04:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4677.165,
      "stop": 4656.985,
      "target": 4717.525,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.19,
        "bb_width_pct": 0.743
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T04-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T04:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4677.165,
      "stop": 4672.097,
      "target": 4687.301,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.19,
        "bb_width_pct": 0.743
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T04-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4666.415,
      "stop": 4658.958,
      "target": 4681.329,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.72,
        "bb_width_pct": 0.744
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T04-30-00Z_long_rsi_range_reversion",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T04:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4666.92,
      "stop": 4660.307,
      "target": 4680.146,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.88,
        "bb_width_pct": 0.832
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T04-30-00Z_long_vwap_mean_reversion",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T04:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4666.92,
      "stop": 4644.301,
      "target": 4712.159,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.88,
        "bb_width_pct": 0.832
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T04-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T04:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4666.92,
      "stop": 4649.637,
      "target": 4701.485,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 25.88,
        "bb_width_pct": 0.832
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T04-45-00Z_long_rsi_range_reversion",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4665.195,
      "stop": 4659.148,
      "target": 4677.289,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.76,
        "bb_width_pct": 0.947
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T04-45-00Z_long_vwap_mean_reversion",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4665.195,
      "stop": 4642.968,
      "target": 4709.649,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.76,
        "bb_width_pct": 0.947
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T04-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4665.195,
      "stop": 4657.441,
      "target": 4680.702,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 21.76,
        "bb_width_pct": 0.947
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T04-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4665.195,
      "stop": 4660.429,
      "target": 4674.727,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.76,
        "bb_width_pct": 0.947
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T04-50-00Z_long_rsi_range_reversion",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T04:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4666.545,
      "stop": 4661.768,
      "target": 4676.099,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.44,
        "bb_width_pct": 0.931
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T04-50-00Z_long_vwap_mean_reversion",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T04:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4666.545,
      "stop": 4645.352,
      "target": 4708.93,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.44,
        "bb_width_pct": 0.931
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T04-55-00Z_long_vwap_mean_reversion",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T04:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4672.65,
      "stop": 4654.831,
      "target": 4708.288,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.65,
        "bb_width_pct": 0.886
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T05-10-00Z_long_vwap_mean_reversion",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4670.33,
      "stop": 4652.236,
      "target": 4706.519,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.74,
        "bb_width_pct": 0.574
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T05-15-00Z_long_vwap_mean_reversion",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4672.405,
      "stop": 4655.618,
      "target": 4705.979,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.67,
        "bb_width_pct": 0.488
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T05-20-00Z_long_vwap_mean_reversion",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4674.12,
      "stop": 4658.444,
      "target": 4705.471,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.08,
        "bb_width_pct": 0.395
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T05-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4677.415,
      "stop": 4680.966,
      "target": 4670.313,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.7,
        "bb_width_pct": 0.389
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T05-25-00Z_long_vwap_mean_reversion",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4677.415,
      "stop": 4663.6,
      "target": 4705.044,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.7,
        "bb_width_pct": 0.389
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T07-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T07:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4619.465,
      "stop": 4630.638,
      "target": 4597.119,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.37,
        "bb_width_pct": 1.164
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T07-20-00Z_short_rsi_range_reversion",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T07:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4619.465,
      "stop": 4630.638,
      "target": 4597.119,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 16.37,
        "bb_width_pct": 1.164
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T08-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T08:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4621.005,
      "stop": 4614.125,
      "target": 4634.766,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.48,
        "bb_width_pct": 0.696
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T08-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T08:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4621.005,
      "stop": 4616.27,
      "target": 4630.474,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.48,
        "bb_width_pct": 0.696
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T09-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4618.82,
      "stop": 4610.863,
      "target": 4634.733,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.56,
        "bb_width_pct": 0.702
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T09-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4618.82,
      "stop": 4613.548,
      "target": 4629.364,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.56,
        "bb_width_pct": 0.702
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T09-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T09:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4617.31,
      "stop": 4611.857,
      "target": 4628.216,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.71,
        "bb_width_pct": 0.731
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T09-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T09:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4623.895,
      "stop": 4618.767,
      "target": 4634.15,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.91,
        "bb_width_pct": 0.757
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T10-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T10:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4616.005,
      "stop": 4612.586,
      "target": 4622.844,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.48,
        "bb_width_pct": 0.354
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T10-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T10:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4616.005,
      "stop": 4611.584,
      "target": 4624.847,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.48,
        "bb_width_pct": 0.354
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T10-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T10:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4616.005,
      "stop": 4612.158,
      "target": 4623.7,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.48,
        "bb_width_pct": 0.354
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T10-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T10:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4624.285,
      "stop": 4625.594,
      "target": 4621.667,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.27,
        "bb_width_pct": 0.39
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T11-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T11:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4613.6,
      "stop": 4609.501,
      "target": 4621.798,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.31,
        "bb_width_pct": 0.468
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T11-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T11:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4613.6,
      "stop": 4609.396,
      "target": 4622.008,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.31,
        "bb_width_pct": 0.468
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T11-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T11:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4604.69,
      "stop": 4597.767,
      "target": 4618.535,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.98,
        "bb_width_pct": 0.668
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T11-45-00Z_long_vwap_mean_reversion",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T11:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4604.69,
      "stop": 4597.146,
      "target": 4619.777,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.98,
        "bb_width_pct": 0.668
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T11-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T11:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4604.69,
      "stop": 4597.757,
      "target": 4618.555,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.98,
        "bb_width_pct": 0.668
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T11-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T11:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4604.69,
      "stop": 4598.306,
      "target": 4617.459,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.98,
        "bb_width_pct": 0.668
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T11-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T11:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4601.42,
      "stop": 4593.453,
      "target": 4617.353,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.66,
        "bb_width_pct": 0.728
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T12-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4607.38,
      "stop": 4602.976,
      "target": 4616.188,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.44,
        "bb_width_pct": 0.816
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T12-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4607.38,
      "stop": 4603.987,
      "target": 4614.165,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.44,
        "bb_width_pct": 0.816
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T12-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4607.38,
      "stop": 4604.189,
      "target": 4613.763,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.44,
        "bb_width_pct": 0.816
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T12-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T12:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4612.55,
      "stop": 4611.743,
      "target": 4614.165,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.97,
        "bb_width_pct": 0.848
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T12-25-00Z_short_vwap_mean_reversion",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T12:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4626.42,
      "stop": 4632.937,
      "target": 4613.386,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.58,
        "bb_width_pct": 0.856
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T12-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T12:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4626.42,
      "stop": 4632.547,
      "target": 4614.165,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.58,
        "bb_width_pct": 0.856
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T12-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T12:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4601.765,
      "stop": 4594.7,
      "target": 4615.896,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.24,
        "bb_width_pct": 0.787
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T13-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4595.055,
      "stop": 4586.7,
      "target": 4611.765,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.36,
        "bb_width_pct": 0.819
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T13-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T13:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4600.255,
      "stop": 4594.077,
      "target": 4612.61,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.19,
        "bb_width_pct": 0.844
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T13-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T13:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4591.185,
      "stop": 4582.361,
      "target": 4608.833,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.15,
        "bb_width_pct": 1.014
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T13-15-00Z_long_vwap_mean_reversion",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T13:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4591.185,
      "stop": 4581.447,
      "target": 4610.66,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.15,
        "bb_width_pct": 1.014
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T13-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T13:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4591.185,
      "stop": 4582.756,
      "target": 4608.042,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.15,
        "bb_width_pct": 1.014
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T13-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T13:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4591.185,
      "stop": 4582.571,
      "target": 4608.412,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.15,
        "bb_width_pct": 1.014
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T13-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T13:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4583.07,
      "stop": 4570.618,
      "target": 4607.975,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.27,
        "bb_width_pct": 1.116
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T13-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T13:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4597.765,
      "stop": 4593.339,
      "target": 4606.618,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 16.17,
        "bb_width_pct": 1.131
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T13-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T13:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4597.765,
      "stop": 4594.04,
      "target": 4605.214,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.17,
        "bb_width_pct": 1.131
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T13-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T13:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4602.09,
      "stop": 4600.085,
      "target": 4606.1,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.79,
        "bb_width_pct": 1.177
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T15-35-00Z_short_vwap_mean_reversion",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T15:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4670.475,
      "stop": 4686.927,
      "target": 4637.571,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.12,
        "bb_width_pct": 1.115
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T15-40-00Z_short_vwap_mean_reversion",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T15:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4666.115,
      "stop": 4680.068,
      "target": 4638.209,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.16,
        "bb_width_pct": 0.972
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T15-45-00Z_short_vwap_mean_reversion",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T15:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4659.17,
      "stop": 4669.397,
      "target": 4638.716,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 19.8,
        "bb_width_pct": 0.892
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T15-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T15:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4662.315,
      "stop": 4656.849,
      "target": 4673.248,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.73,
        "bb_width_pct": 0.781
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T15-50-00Z_long_rsi_range_reversion",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T15:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4662.315,
      "stop": 4656.849,
      "target": 4673.248,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.73,
        "bb_width_pct": 0.781
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T15-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T15:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4661.48,
      "stop": 4655.57,
      "target": 4673.299,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.27,
        "bb_width_pct": 0.775
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T15-55-00Z_short_vwap_mean_reversion",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T15:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4661.48,
      "stop": 4672.427,
      "target": 4639.586,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.27,
        "bb_width_pct": 0.775
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T16-00-00Z_long_rsi_range_reversion",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4661.825,
      "stop": 4656.427,
      "target": 4672.62,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.86,
        "bb_width_pct": 0.803
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T16-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T16:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4658.35,
      "stop": 4651.389,
      "target": 4672.273,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.24,
        "bb_width_pct": 0.836
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T16-05-00Z_short_vwap_mean_reversion",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T16:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4658.35,
      "stop": 4667.316,
      "target": 4640.418,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.24,
        "bb_width_pct": 0.836
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T16-10-00Z_short_vwap_mean_reversion",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T16:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4654.99,
      "stop": 4662.134,
      "target": 4640.703,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.23,
        "bb_width_pct": 0.896
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T16-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T16:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4651.485,
      "stop": 4643.534,
      "target": 4667.387,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.79,
        "bb_width_pct": 0.89
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T16-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T16:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4651.485,
      "stop": 4647.241,
      "target": 4659.973,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.79,
        "bb_width_pct": 0.89
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T16-40-00Z_short_vwap_mean_reversion",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T16:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4658.915,
      "stop": 4667.213,
      "target": 4642.318,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.94,
        "bb_width_pct": 0.68
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T16-55-00Z_short_vwap_mean_reversion",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4659.215,
      "stop": 4667.172,
      "target": 4643.3,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.16,
        "bb_width_pct": 0.591
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T17-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T17:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4651.765,
      "stop": 4648.349,
      "target": 4658.597,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.86,
        "bb_width_pct": 0.458
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T17-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T17:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4651.765,
      "stop": 4647.837,
      "target": 4659.62,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.86,
        "bb_width_pct": 0.458
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T17-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T17:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4653.57,
      "stop": 4644.651,
      "target": 4671.408,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 3.88,
        "bb_width_pct": 0.464
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T17-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T17:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4650.375,
      "stop": 4639.859,
      "target": 4671.408,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.54,
        "bb_width_pct": 0.511
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T18-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T18:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4653.705,
      "stop": 4646.369,
      "target": 4668.378,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.33,
        "bb_width_pct": 0.487
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T18-50-00Z_short_vwap_mean_reversion",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T18:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4668.305,
      "stop": 4674.001,
      "target": 4656.913,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 22.38,
        "bb_width_pct": 0.519
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T18-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T18:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4668.64,
      "stop": 4674.698,
      "target": 4656.524,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.86,
        "bb_width_pct": 0.558
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T19-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T19:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4674.675,
      "stop": 4682.27,
      "target": 4659.485,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.82,
        "bb_width_pct": 0.792
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T19-10-00Z_short_rsi_range_reversion",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T19:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4674.675,
      "stop": 4682.27,
      "target": 4659.485,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 20.82,
        "bb_width_pct": 0.792
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T19-10-00Z_short_vwap_mean_reversion",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T19:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4674.675,
      "stop": 4682.291,
      "target": 4659.444,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 20.82,
        "bb_width_pct": 0.792
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T19-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T19:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4674.675,
      "stop": 4681.256,
      "target": 4661.513,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 20.82,
        "bb_width_pct": 0.792
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T19-15-00Z_short_vwap_mean_reversion",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T19:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4670.195,
      "stop": 4675.357,
      "target": 4659.872,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 18.51,
        "bb_width_pct": 0.807
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T19-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T19:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4670.195,
      "stop": 4673.179,
      "target": 4664.228,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.51,
        "bb_width_pct": 0.807
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T19-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T19:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4673.055,
      "stop": 4677.048,
      "target": 4665.068,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.15,
        "bb_width_pct": 0.839
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T19-55-00Z_short_vwap_mean_reversion",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T19:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4672.235,
      "stop": 4677.421,
      "target": 4661.864,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.21,
        "bb_width_pct": 0.642
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T19-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T19:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4672.235,
      "stop": 4676.405,
      "target": 4663.895,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.21,
        "bb_width_pct": 0.642
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T20-05-00Z_short_vwap_mean_reversion",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T20:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4674.37,
      "stop": 4680.284,
      "target": 4662.541,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.01,
        "bb_width_pct": 0.506
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T20-10-00Z_short_vwap_mean_reversion",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T20:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4673.99,
      "stop": 4679.562,
      "target": 4662.846,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.89,
        "bb_width_pct": 0.473
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T20-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T20:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4673.99,
      "stop": 4679.037,
      "target": 4663.895,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.89,
        "bb_width_pct": 0.473
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T20-35-00Z_short_vwap_mean_reversion",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T20:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4671.33,
      "stop": 4675.198,
      "target": 4663.595,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.46,
        "bb_width_pct": 0.361
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T20-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T20:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4676.745,
      "stop": 4679.912,
      "target": 4670.411,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.85,
        "bb_width_pct": 0.327
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-02T20-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T20:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4676.745,
      "stop": 4679.991,
      "target": 4670.253,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.85,
        "bb_width_pct": 0.327
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-05T23-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-05",
      "timestamp": "2026-04-05T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4615.385,
      "stop": 4605.565,
      "target": 4635.025,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.07,
        "bb_width_pct": 1.147
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-05T23-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-05",
      "timestamp": "2026-04-05T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4615.385,
      "stop": 4601.74,
      "target": 4642.675,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.07,
        "bb_width_pct": 1.147
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-05T23-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-05",
      "timestamp": "2026-04-05T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4615.385,
      "stop": 4605.454,
      "target": 4635.246,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.07,
        "bb_width_pct": 1.147
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-05T23-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-05",
      "timestamp": "2026-04-05T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4613.88,
      "stop": 4600.05,
      "target": 4641.54,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.11,
        "bb_width_pct": 1.018
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-05T23-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-05",
      "timestamp": "2026-04-05T23:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4617.295,
      "stop": 4605.173,
      "target": 4641.54,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.68,
        "bb_width_pct": 1.043
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T00-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4623.385,
      "stop": 4614.308,
      "target": 4641.54,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.13,
        "bb_width_pct": 1.051
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T00-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4623.385,
      "stop": 4622.009,
      "target": 4626.138,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.13,
        "bb_width_pct": 1.051
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T00-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T00:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4617.15,
      "stop": 4604.955,
      "target": 4641.54,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.95,
        "bb_width_pct": 0.92
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T00-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4609.505,
      "stop": 4594.517,
      "target": 4639.48,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.12,
        "bb_width_pct": 0.906
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T00-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4609.505,
      "stop": 4603.779,
      "target": 4620.957,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.12,
        "bb_width_pct": 0.906
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T00-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T00:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4610.63,
      "stop": 4596.205,
      "target": 4639.48,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 3.55,
        "bb_width_pct": 0.754
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T00-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T00:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4619.22,
      "stop": 4609.09,
      "target": 4639.48,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 3.66,
        "bb_width_pct": 0.658
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T01-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T01:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4625.055,
      "stop": 4627.7,
      "target": 4619.766,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.83,
        "bb_width_pct": 0.823
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T01-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T01:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4625.055,
      "stop": 4625.267,
      "target": 4624.632,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.83,
        "bb_width_pct": 0.823
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T02-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T02:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4660.92,
      "stop": 4673.638,
      "target": 4635.484,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.31,
        "bb_width_pct": 1.117
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T02-25-00Z_short_rsi_range_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T02:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4660.92,
      "stop": 4673.638,
      "target": 4635.484,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 19.31,
        "bb_width_pct": 1.117
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T02-25-00Z_short_vwap_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T02:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4660.92,
      "stop": 4677.063,
      "target": 4628.635,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 19.31,
        "bb_width_pct": 1.117
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T02-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T02:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4660.92,
      "stop": 4673.235,
      "target": 4636.29,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 19.31,
        "bb_width_pct": 1.117
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T02-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4654.36,
      "stop": 4662.979,
      "target": 4637.122,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.36,
        "bb_width_pct": 1.135
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T02-30-00Z_short_vwap_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4654.36,
      "stop": 4666.744,
      "target": 4629.591,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 9.36,
        "bb_width_pct": 1.135
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T02-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4654.36,
      "stop": 4663.395,
      "target": 4636.29,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.36,
        "bb_width_pct": 1.135
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T02-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4654.36,
      "stop": 4661.929,
      "target": 4639.222,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.36,
        "bb_width_pct": 1.135
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T02-35-00Z_short_vwap_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T02:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4651.37,
      "stop": 4661.939,
      "target": 4630.232,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.52,
        "bb_width_pct": 1.127
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T02-40-00Z_short_vwap_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T02:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4651.205,
      "stop": 4661.367,
      "target": 4630.881,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.72,
        "bb_width_pct": 1.139
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T02-50-00Z_short_vwap_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T02:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4650.945,
      "stop": 4660.368,
      "target": 4632.099,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 21.55,
        "bb_width_pct": 1.179
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T02-55-00Z_short_rsi_range_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T02:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4648.105,
      "stop": 4651.213,
      "target": 4641.889,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 17.25,
        "bb_width_pct": 1.144
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T02-55-00Z_short_vwap_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T02:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4648.105,
      "stop": 4655.87,
      "target": 4632.575,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 17.25,
        "bb_width_pct": 1.144
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T03-30-00Z_long_rsi_range_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4631.75,
      "stop": 4626.594,
      "target": 4642.061,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.88,
        "bb_width_pct": 1.103
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T03-40-00Z_long_rsi_range_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T03:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4632.755,
      "stop": 4627.93,
      "target": 4642.405,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.93,
        "bb_width_pct": 1.072
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T03-45-00Z_long_rsi_range_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T03:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4634.795,
      "stop": 4630.928,
      "target": 4642.528,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.78,
        "bb_width_pct": 1.065
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T04-05-00Z_short_vwap_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4646.575,
      "stop": 4653.268,
      "target": 4633.189,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.82,
        "bb_width_pct": 0.789
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T04-10-00Z_short_vwap_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T04:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4643.34,
      "stop": 4648.3,
      "target": 4633.419,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.75,
        "bb_width_pct": 0.739
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T04-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T04:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4643.34,
      "stop": 4645.524,
      "target": 4638.971,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.75,
        "bb_width_pct": 0.739
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T04-20-00Z_short_vwap_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4642.17,
      "stop": 4646.357,
      "target": 4633.795,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 18.93,
        "bb_width_pct": 0.667
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T04-35-00Z_short_rsi_range_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4648.465,
      "stop": 4653.674,
      "target": 4638.047,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 22.67,
        "bb_width_pct": 0.619
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T04-35-00Z_short_vwap_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4648.465,
      "stop": 4655.442,
      "target": 4634.511,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 22.67,
        "bb_width_pct": 0.619
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T04-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4648.465,
      "stop": 4651.775,
      "target": 4641.845,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.67,
        "bb_width_pct": 0.619
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T05-30-00Z_short_rsi_range_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4667.52,
      "stop": 4673.302,
      "target": 4655.956,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 25.84,
        "bb_width_pct": 1.011
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T05-30-00Z_short_vwap_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4667.52,
      "stop": 4681.616,
      "target": 4639.328,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 25.84,
        "bb_width_pct": 1.011
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T05-35-00Z_short_rsi_range_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4665.94,
      "stop": 4670.306,
      "target": 4657.208,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 22.13,
        "bb_width_pct": 0.981
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T05-35-00Z_short_vwap_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4665.94,
      "stop": 4679.045,
      "target": 4639.729,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 22.13,
        "bb_width_pct": 0.981
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T05-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4665.94,
      "stop": 4669.356,
      "target": 4659.108,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.13,
        "bb_width_pct": 0.981
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T05-40-00Z_short_vwap_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4661.625,
      "stop": 4672.401,
      "target": 4640.073,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 16.89,
        "bb_width_pct": 0.969
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T05-45-00Z_short_vwap_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T05:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4660.185,
      "stop": 4670.092,
      "target": 4640.371,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.15,
        "bb_width_pct": 0.943
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T05-55-00Z_short_vwap_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T05:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4652.565,
      "stop": 4658.378,
      "target": 4640.939,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.77,
        "bb_width_pct": 0.861
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T06-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4653.075,
      "stop": 4650.198,
      "target": 4658.828,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.08,
        "bb_width_pct": 0.799
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T06-15-00Z_short_vwap_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T06:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4658.93,
      "stop": 4667.511,
      "target": 4641.769,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.27,
        "bb_width_pct": 0.664
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T06-20-00Z_short_vwap_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T06:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4655.27,
      "stop": 4661.925,
      "target": 4641.96,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 23.07,
        "bb_width_pct": 0.627
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T06-25-00Z_long_rsi_range_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T06:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4657.34,
      "stop": 4654.501,
      "target": 4663.019,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.9,
        "bb_width_pct": 0.6
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T06-35-00Z_short_vwap_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4654.94,
      "stop": 4661.158,
      "target": 4642.504,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.84,
        "bb_width_pct": 0.608
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T07-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T07:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4652.24,
      "stop": 4649.027,
      "target": 4658.667,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.65,
        "bb_width_pct": 0.365
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T07-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T07:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4652.24,
      "stop": 4649.284,
      "target": 4658.152,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.65,
        "bb_width_pct": 0.365
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T07-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T07:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4649.56,
      "stop": 4645.416,
      "target": 4657.848,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.53,
        "bb_width_pct": 0.373
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T07-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T07:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4649.56,
      "stop": 4645.673,
      "target": 4657.334,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.53,
        "bb_width_pct": 0.373
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T07-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T07:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4650.99,
      "stop": 4648.197,
      "target": 4656.576,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.56,
        "bb_width_pct": 0.441
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T07-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T07:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4650.99,
      "stop": 4646.391,
      "target": 4660.188,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.56,
        "bb_width_pct": 0.441
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T07-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T07:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4650.99,
      "stop": 4648.635,
      "target": 4655.7,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.56,
        "bb_width_pct": 0.441
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T08-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T08:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4684.8,
      "stop": 4695.718,
      "target": 4662.964,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.16,
        "bb_width_pct": 1.121
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T08-05-00Z_short_vwap_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T08:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4684.8,
      "stop": 4695.083,
      "target": 4664.235,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 22.16,
        "bb_width_pct": 1.121
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T08-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T08:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4684.8,
      "stop": 4692.599,
      "target": 4669.202,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 22.16,
        "bb_width_pct": 1.121
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T09-15-00Z_short_rsi_range_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T09:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4700.295,
      "stop": 4705.299,
      "target": 4690.288,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 13.03,
        "bb_width_pct": 0.777
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T09-15-00Z_short_vwap_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T09:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4700.295,
      "stop": 4710.76,
      "target": 4679.365,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.03,
        "bb_width_pct": 0.777
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T09-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T09:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4700.295,
      "stop": 4713.722,
      "target": 4673.44,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.03,
        "bb_width_pct": 0.777
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T09-35-00Z_short_rsi_range_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4702.79,
      "stop": 4706.336,
      "target": 4695.698,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 12.59,
        "bb_width_pct": 0.458
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T09-35-00Z_short_vwap_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4702.79,
      "stop": 4713.076,
      "target": 4682.218,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.59,
        "bb_width_pct": 0.458
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T09-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4702.79,
      "stop": 4716.718,
      "target": 4674.935,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.59,
        "bb_width_pct": 0.458
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T09-45-00Z_short_rsi_range_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T09:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4700.585,
      "stop": 4702.383,
      "target": 4696.99,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 11.57,
        "bb_width_pct": 0.429
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T09-45-00Z_short_vwap_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T09:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4700.585,
      "stop": 4709.153,
      "target": 4683.449,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.57,
        "bb_width_pct": 0.429
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T09-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T09:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4700.585,
      "stop": 4712.879,
      "target": 4675.997,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.57,
        "bb_width_pct": 0.429
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T09-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T09:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4700.585,
      "stop": 4703.333,
      "target": 4695.09,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.57,
        "bb_width_pct": 0.429
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T09-50-00Z_short_vwap_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T09:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4693.865,
      "stop": 4698.903,
      "target": 4683.789,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.84,
        "bb_width_pct": 0.41
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T09-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T09:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4693.865,
      "stop": 4702.799,
      "target": 4675.997,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.84,
        "bb_width_pct": 0.41
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T09-55-00Z_short_vwap_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T09:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4693.805,
      "stop": 4698.679,
      "target": 4684.057,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.6,
        "bb_width_pct": 0.364
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T10-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T10:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4693.835,
      "stop": 4702.754,
      "target": 4675.997,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.3,
        "bb_width_pct": 0.338
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T10-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T10:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4686.78,
      "stop": 4683.062,
      "target": 4694.216,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.55,
        "bb_width_pct": 0.392
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T10-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T10:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4690.61,
      "stop": 4687.145,
      "target": 4697.541,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.34,
        "bb_width_pct": 0.39
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T10-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T10:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4690.02,
      "stop": 4686.516,
      "target": 4697.028,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.89,
        "bb_width_pct": 0.433
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T10-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T10:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4692.705,
      "stop": 4690.991,
      "target": 4696.134,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.11,
        "bb_width_pct": 0.457
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T11-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T11:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4688.205,
      "stop": 4686.213,
      "target": 4692.189,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.32,
        "bb_width_pct": 0.268
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T11-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T11:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4688.81,
      "stop": 4685.53,
      "target": 4695.37,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.79,
        "bb_width_pct": 0.218
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T11-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T11:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4689.43,
      "stop": 4686.299,
      "target": 4695.693,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.83,
        "bb_width_pct": 0.217
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T11-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T11:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4689.47,
      "stop": 4688.624,
      "target": 4691.162,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.76,
        "bb_width_pct": 0.214
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T11-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T11:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4689.47,
      "stop": 4686.359,
      "target": 4695.693,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.76,
        "bb_width_pct": 0.214
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T11-50-00Z_long_rsi_range_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T11:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4683.48,
      "stop": 4680.305,
      "target": 4689.829,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.37,
        "bb_width_pct": 0.261
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T11-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T11:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4683.48,
      "stop": 4678.176,
      "target": 4694.087,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 11.37,
        "bb_width_pct": 0.261
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T11-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T11:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4683.48,
      "stop": 4680.571,
      "target": 4689.299,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.37,
        "bb_width_pct": 0.261
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T12-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4682.065,
      "stop": 4678.682,
      "target": 4688.83,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.83,
        "bb_width_pct": 0.366
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T12-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4682.065,
      "stop": 4677.111,
      "target": 4691.972,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.83,
        "bb_width_pct": 0.366
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T12-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4682.065,
      "stop": 4679.282,
      "target": 4687.631,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.83,
        "bb_width_pct": 0.366
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T12-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T12:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4679.325,
      "stop": 4674.84,
      "target": 4688.296,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.32,
        "bb_width_pct": 0.405
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T12-15-00Z_long_rsi_range_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T12:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4673.45,
      "stop": 4666.928,
      "target": 4686.493,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.11,
        "bb_width_pct": 0.551
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T12-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T12:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4673.45,
      "stop": 4665.53,
      "target": 4689.29,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 19.11,
        "bb_width_pct": 0.551
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T12-25-00Z_long_rsi_range_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T12:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4666.325,
      "stop": 4657.681,
      "target": 4683.614,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.49,
        "bb_width_pct": 0.726
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T12-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T12:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4666.325,
      "stop": 4657.325,
      "target": 4684.325,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 22.49,
        "bb_width_pct": 0.726
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T12-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T12:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4674.01,
      "stop": 4669.383,
      "target": 4683.265,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.76,
        "bb_width_pct": 0.731
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T12-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T12:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4674.01,
      "stop": 4670.892,
      "target": 4680.245,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.76,
        "bb_width_pct": 0.731
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T13-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T13:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4670.155,
      "stop": 4666.502,
      "target": 4677.462,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.69,
        "bb_width_pct": 0.565
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T13-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T13:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4670.155,
      "stop": 4666.423,
      "target": 4677.619,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.69,
        "bb_width_pct": 0.565
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T13-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T13:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4672.835,
      "stop": 4671.984,
      "target": 4674.538,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.6,
        "bb_width_pct": 0.48
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T13-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T13:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4672.835,
      "stop": 4669.907,
      "target": 4678.69,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.6,
        "bb_width_pct": 0.48
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T13-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T13:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4672.835,
      "stop": 4671.598,
      "target": 4675.308,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.6,
        "bb_width_pct": 0.48
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T13-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4671.465,
      "stop": 4670.578,
      "target": 4673.238,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.78,
        "bb_width_pct": 0.424
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T13-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4671.465,
      "stop": 4668.054,
      "target": 4678.288,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.78,
        "bb_width_pct": 0.424
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T13-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4671.465,
      "stop": 4670.006,
      "target": 4674.382,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.78,
        "bb_width_pct": 0.424
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T13-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4673.8,
      "stop": 4671.556,
      "target": 4678.288,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.19,
        "bb_width_pct": 0.414
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T13-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4664.355,
      "stop": 4660.799,
      "target": 4671.468,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.38,
        "bb_width_pct": 0.395
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T14-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T14:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4672.905,
      "stop": 4670.214,
      "target": 4678.288,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.7,
        "bb_width_pct": 0.404
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T14-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T14:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4686.065,
      "stop": 4692.247,
      "target": 4673.7,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.89,
        "bb_width_pct": 0.546
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T14-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T14:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4684.525,
      "stop": 4689.365,
      "target": 4674.845,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.4,
        "bb_width_pct": 0.668
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T14-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T14:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4684.525,
      "stop": 4688.236,
      "target": 4677.102,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.4,
        "bb_width_pct": 0.668
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T14-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T14:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4684.525,
      "stop": 4687.551,
      "target": 4678.474,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.4,
        "bb_width_pct": 0.668
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T14-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T14:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4684.585,
      "stop": 4689.14,
      "target": 4675.474,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.32,
        "bb_width_pct": 0.689
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T15-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T15:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4666.565,
      "stop": 4661.471,
      "target": 4676.753,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.3,
        "bb_width_pct": 0.733
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T15-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T15:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4666.565,
      "stop": 4660.489,
      "target": 4678.717,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.3,
        "bb_width_pct": 0.733
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T15-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T15:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4666.565,
      "stop": 4662.031,
      "target": 4675.632,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.3,
        "bb_width_pct": 0.733
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T15-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T15:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4667.43,
      "stop": 4662.784,
      "target": 4676.722,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 13.62,
        "bb_width_pct": 0.715
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T15-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T15:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4660.815,
      "stop": 4653.903,
      "target": 4674.639,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.94,
        "bb_width_pct": 0.866
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T15-40-00Z_long_rsi_range_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T15:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4660.815,
      "stop": 4653.903,
      "target": 4674.639,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.94,
        "bb_width_pct": 0.866
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T15-40-00Z_long_vwap_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T15:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4660.815,
      "stop": 4654.475,
      "target": 4673.496,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.94,
        "bb_width_pct": 0.866
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T15-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T15:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4660.815,
      "stop": 4653.754,
      "target": 4674.938,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 16.94,
        "bb_width_pct": 0.866
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T15-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T15:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4660.815,
      "stop": 4655.904,
      "target": 4670.637,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.94,
        "bb_width_pct": 0.866
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T16-45-00Z_long_vwap_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4664.78,
      "stop": 4661.232,
      "target": 4671.875,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.01,
        "bb_width_pct": 0.28
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T16-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4660.515,
      "stop": 4658.235,
      "target": 4665.074,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.8,
        "bb_width_pct": 0.291
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T16-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4660.515,
      "stop": 4657.638,
      "target": 4666.268,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.8,
        "bb_width_pct": 0.291
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T17-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T17:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4659.235,
      "stop": 4656.482,
      "target": 4664.741,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.81,
        "bb_width_pct": 0.31
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T17-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T17:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4659.235,
      "stop": 4656.053,
      "target": 4665.598,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.81,
        "bb_width_pct": 0.31
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T17-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T17:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4658.41,
      "stop": 4655.47,
      "target": 4664.29,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.15,
        "bb_width_pct": 0.326
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T17-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T17:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4658.41,
      "stop": 4655.158,
      "target": 4664.914,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.15,
        "bb_width_pct": 0.326
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T17-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T17:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4659.745,
      "stop": 4657.7,
      "target": 4663.834,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.3,
        "bb_width_pct": 0.344
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T17-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T17:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4659.745,
      "stop": 4653.701,
      "target": 4671.833,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.3,
        "bb_width_pct": 0.344
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T17-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T17:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4659.745,
      "stop": 4657.878,
      "target": 4663.478,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.3,
        "bb_width_pct": 0.344
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T17-20-00Z_long_rsi_range_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T17:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4659.82,
      "stop": 4657.838,
      "target": 4663.784,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.12,
        "bb_width_pct": 0.347
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T17-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T17:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4659.155,
      "stop": 4657.193,
      "target": 4663.079,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.16,
        "bb_width_pct": 0.378
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T17-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T17:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4659.155,
      "stop": 4652.816,
      "target": 4671.833,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.16,
        "bb_width_pct": 0.378
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T17-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T17:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4659.155,
      "stop": 4657.641,
      "target": 4662.182,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.16,
        "bb_width_pct": 0.378
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T17-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T17:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4652.585,
      "stop": 4648.072,
      "target": 4661.612,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.94,
        "bb_width_pct": 0.418
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T17-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T17:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4652.585,
      "stop": 4648.591,
      "target": 4660.573,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.94,
        "bb_width_pct": 0.418
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T17-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T17:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4655.915,
      "stop": 4647.956,
      "target": 4671.833,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 11.12,
        "bb_width_pct": 0.392
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T18-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T18:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4658.545,
      "stop": 4654.17,
      "target": 4667.295,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.86,
        "bb_width_pct": 0.343
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T18-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T18:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4659.685,
      "stop": 4660.214,
      "target": 4658.627,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.53,
        "bb_width_pct": 0.307
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T18-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T18:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4660.4,
      "stop": 4661.453,
      "target": 4658.293,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.85,
        "bb_width_pct": 0.269
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T18-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T18:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4650.48,
      "stop": 4647.151,
      "target": 4657.137,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.5,
        "bb_width_pct": 0.318
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T18-40-00Z_long_vwap_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T18:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4650.48,
      "stop": 4647.103,
      "target": 4657.233,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.5,
        "bb_width_pct": 0.318
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T18-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T18:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4650.48,
      "stop": 4646.084,
      "target": 4659.273,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.5,
        "bb_width_pct": 0.318
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T18-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T18:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4650.48,
      "stop": 4646.744,
      "target": 4657.953,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.5,
        "bb_width_pct": 0.318
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T18-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T18:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4651.04,
      "stop": 4646.924,
      "target": 4659.273,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.32,
        "bb_width_pct": 0.336
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T18-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T18:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4651.53,
      "stop": 4647.659,
      "target": 4659.273,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.45,
        "bb_width_pct": 0.347
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T18-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T18:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4658.43,
      "stop": 4658.009,
      "target": 4659.273,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 3.26,
        "bb_width_pct": 0.343
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T19-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T19:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4648.125,
      "stop": 4644.545,
      "target": 4655.284,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.43,
        "bb_width_pct": 0.38
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T19-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T19:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4648.125,
      "stop": 4644.561,
      "target": 4655.253,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.43,
        "bb_width_pct": 0.38
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T19-25-00Z_long_rsi_range_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T19:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4650.245,
      "stop": 4648.008,
      "target": 4654.719,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.74,
        "bb_width_pct": 0.414
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T19-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T19:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4650.245,
      "stop": 4645.751,
      "target": 4659.233,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 16.74,
        "bb_width_pct": 0.414
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T19-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T19:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4651.835,
      "stop": 4648.499,
      "target": 4658.507,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 2.8,
        "bb_width_pct": 0.424
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T20-25-00Z_short_rsi_range_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T20:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4656.26,
      "stop": 4657.58,
      "target": 4653.62,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 19.05,
        "bb_width_pct": 0.276
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T22-05-00Z_long_vwap_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T22:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4667.34,
      "stop": 4657.056,
      "target": 4687.908,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.81,
        "bb_width_pct": 0.34
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T22-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T22:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4663.795,
      "stop": 4667.878,
      "target": 4655.63,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 23.26,
        "bb_width_pct": 0.37
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T22-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T22:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4663.795,
      "stop": 4667.249,
      "target": 4656.888,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 23.26,
        "bb_width_pct": 0.37
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T22-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T22:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4664.795,
      "stop": 4669.036,
      "target": 4656.314,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.84,
        "bb_width_pct": 0.396
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T22-15-00Z_long_vwap_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T22:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4664.795,
      "stop": 4654.065,
      "target": 4686.254,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.84,
        "bb_width_pct": 0.396
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T22-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T22:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4661.245,
      "stop": 4663.424,
      "target": 4656.888,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.22,
        "bb_width_pct": 0.396
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T22-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T22:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4661.245,
      "stop": 4663.052,
      "target": 4657.631,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.22,
        "bb_width_pct": 0.396
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T22-25-00Z_long_vwap_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T22:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4662.3,
      "stop": 4651.13,
      "target": 4684.639,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.76,
        "bb_width_pct": 0.408
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T22-35-00Z_long_vwap_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T22:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4660.55,
      "stop": 4649.253,
      "target": 4683.144,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.97,
        "bb_width_pct": 0.41
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T22-45-00Z_long_vwap_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T22:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4661.255,
      "stop": 4650.98,
      "target": 4681.806,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.57,
        "bb_width_pct": 0.404
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T22-55-00Z_long_vwap_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T22:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4658.505,
      "stop": 4647.505,
      "target": 4680.506,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.48,
        "bb_width_pct": 0.403
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T23-00-00Z_long_vwap_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4659.565,
      "stop": 4649.389,
      "target": 4679.918,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.07,
        "bb_width_pct": 0.402
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T23-05-00Z_long_vwap_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4660.32,
      "stop": 4650.784,
      "target": 4679.392,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.56,
        "bb_width_pct": 0.4
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T23-25-00Z_long_rsi_range_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T23:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4654.59,
      "stop": 4652.185,
      "target": 4659.399,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.46,
        "bb_width_pct": 0.351
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T23-25-00Z_long_vwap_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T23:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4654.59,
      "stop": 4643.243,
      "target": 4677.285,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.46,
        "bb_width_pct": 0.351
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T23-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4655.09,
      "stop": 4652.766,
      "target": 4659.737,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.17,
        "bb_width_pct": 0.298
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T23-35-00Z_long_vwap_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4655.09,
      "stop": 4644.518,
      "target": 4676.235,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.17,
        "bb_width_pct": 0.298
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T23-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4655.09,
      "stop": 4653.895,
      "target": 4657.481,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.17,
        "bb_width_pct": 0.298
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T23-40-00Z_long_vwap_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4655.33,
      "stop": 4645.116,
      "target": 4675.757,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.28,
        "bb_width_pct": 0.307
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T23-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4655.33,
      "stop": 4654.357,
      "target": 4657.276,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.28,
        "bb_width_pct": 0.307
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T23-45-00Z_long_vwap_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4656.48,
      "stop": 4647.055,
      "target": 4675.331,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.64,
        "bb_width_pct": 0.269
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-06T23-50-00Z_long_vwap_mean_reversion",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T23:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4659.845,
      "stop": 4652.283,
      "target": 4674.969,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.14,
        "bb_width_pct": 0.252
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T00-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4654.88,
      "stop": 4653.277,
      "target": 4658.085,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.37,
        "bb_width_pct": 0.223
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T00-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4654.88,
      "stop": 4653.641,
      "target": 4657.358,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.37,
        "bb_width_pct": 0.223
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T00-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T00:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4653.925,
      "stop": 4652.054,
      "target": 4657.667,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.79,
        "bb_width_pct": 0.22
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T00-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T00:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4653.925,
      "stop": 4652.372,
      "target": 4657.031,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.79,
        "bb_width_pct": 0.22
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T01-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T01:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4651.14,
      "stop": 4648.539,
      "target": 4656.343,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.19,
        "bb_width_pct": 0.452
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T01-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T01:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4651.14,
      "stop": 4649.139,
      "target": 4655.143,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.19,
        "bb_width_pct": 0.452
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T01-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T01:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4639.725,
      "stop": 4632.815,
      "target": 4653.545,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.47,
        "bb_width_pct": 0.546
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T01-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T01:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4641.925,
      "stop": 4635.743,
      "target": 4654.29,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.38,
        "bb_width_pct": 0.598
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T01-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T01:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4627.405,
      "stop": 4616.858,
      "target": 4648.499,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.48,
        "bb_width_pct": 0.85
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T01-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T01:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4627.135,
      "stop": 4617.47,
      "target": 4646.464,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.31,
        "bb_width_pct": 0.955
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T02-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T02:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4628.63,
      "stop": 4618.601,
      "target": 4648.688,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.18,
        "bb_width_pct": 1.018
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T02-00-00Z_long_vwap_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T02:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4628.63,
      "stop": 4618.024,
      "target": 4649.842,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.18,
        "bb_width_pct": 1.018
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T02-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T02:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4631.62,
      "stop": 4623.777,
      "target": 4647.306,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.14,
        "bb_width_pct": 1.044
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T02-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T02:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4631.62,
      "stop": 4627.165,
      "target": 4640.53,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 13.14,
        "bb_width_pct": 1.044
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T02-15-00Z_long_vwap_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T02:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4630.945,
      "stop": 4622.644,
      "target": 4647.546,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.35,
        "bb_width_pct": 1.067
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T02-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T02:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4630.945,
      "stop": 4626.153,
      "target": 4640.53,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.35,
        "bb_width_pct": 1.067
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T02-55-00Z_short_rsi_range_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T02:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4650.395,
      "stop": 4655.7,
      "target": 4639.785,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 19.5,
        "bb_width_pct": 0.859
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T03-00-00Z_short_rsi_range_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4648.285,
      "stop": 4652.586,
      "target": 4639.683,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 19.81,
        "bb_width_pct": 0.85
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T03-05-00Z_short_rsi_range_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T03:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4646.275,
      "stop": 4649.785,
      "target": 4639.255,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 17.24,
        "bb_width_pct": 0.808
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T03-10-00Z_short_rsi_range_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T03:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4645.2,
      "stop": 4648.489,
      "target": 4638.622,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 13.79,
        "bb_width_pct": 0.731
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T04-35-00Z_short_rsi_range_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4658.66,
      "stop": 4663.922,
      "target": 4648.137,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 24.23,
        "bb_width_pct": 0.373
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T04-35-00Z_short_vwap_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4658.66,
      "stop": 4664.522,
      "target": 4646.937,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 24.23,
        "bb_width_pct": 0.373
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T04-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4658.66,
      "stop": 4668.219,
      "target": 4639.542,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 24.23,
        "bb_width_pct": 0.373
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T04-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4661.165,
      "stop": 4666.959,
      "target": 4649.577,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 25.55,
        "bb_width_pct": 0.508
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T04-45-00Z_short_rsi_range_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4661.165,
      "stop": 4666.959,
      "target": 4649.577,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 25.55,
        "bb_width_pct": 0.508
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T04-45-00Z_short_vwap_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4661.165,
      "stop": 4668.027,
      "target": 4647.441,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 25.55,
        "bb_width_pct": 0.508
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T04-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4661.165,
      "stop": 4671.641,
      "target": 4640.212,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 25.55,
        "bb_width_pct": 0.508
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T04-55-00Z_short_rsi_range_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T04:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4660.155,
      "stop": 4664.558,
      "target": 4651.349,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 23.34,
        "bb_width_pct": 0.551
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T04-55-00Z_short_vwap_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T04:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4660.155,
      "stop": 4666.276,
      "target": 4647.913,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 23.34,
        "bb_width_pct": 0.551
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T04-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T04:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4660.155,
      "stop": 4670.07,
      "target": 4640.325,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 23.34,
        "bb_width_pct": 0.551
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T05-00-00Z_short_vwap_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4656.745,
      "stop": 4661.079,
      "target": 4648.077,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.93,
        "bb_width_pct": 0.529
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T05-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4656.745,
      "stop": 4664.955,
      "target": 4640.325,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.93,
        "bb_width_pct": 0.529
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T05-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4656.745,
      "stop": 4658.357,
      "target": 4653.521,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.93,
        "bb_width_pct": 0.529
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T05-05-00Z_short_vwap_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4655.22,
      "stop": 4658.727,
      "target": 4648.206,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.71,
        "bb_width_pct": 0.497
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T05-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4655.22,
      "stop": 4662.668,
      "target": 4640.325,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.71,
        "bb_width_pct": 0.497
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T05-15-00Z_short_vwap_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4654.955,
      "stop": 4658.214,
      "target": 4648.437,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.28,
        "bb_width_pct": 0.459
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T05-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4654.955,
      "stop": 4661.361,
      "target": 4642.142,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.28,
        "bb_width_pct": 0.459
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T05-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4639.47,
      "stop": 4633.421,
      "target": 4651.567,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.83,
        "bb_width_pct": 0.747
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T05-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4639.47,
      "stop": 4634.9,
      "target": 4648.611,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.83,
        "bb_width_pct": 0.747
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T05-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4631.585,
      "stop": 4622.038,
      "target": 4650.679,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 27.13,
        "bb_width_pct": 0.836
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T05-45-00Z_long_rsi_range_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T05:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4635.645,
      "stop": 4628.45,
      "target": 4650.034,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.26,
        "bb_width_pct": 0.882
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T05-45-00Z_long_vwap_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T05:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4635.645,
      "stop": 4629.717,
      "target": 4647.501,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.26,
        "bb_width_pct": 0.882
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T05-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T05:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4635.645,
      "stop": 4630.513,
      "target": 4645.909,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.26,
        "bb_width_pct": 0.882
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T05-50-00Z_long_rsi_range_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4639.175,
      "stop": 4633.921,
      "target": 4649.682,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.86,
        "bb_width_pct": 0.903
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T06-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T06:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4653.585,
      "stop": 4658.732,
      "target": 4643.291,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.12,
        "bb_width_pct": 0.571
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T06-55-00Z_short_rsi_range_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T06:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4653.585,
      "stop": 4658.732,
      "target": 4643.291,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 17.12,
        "bb_width_pct": 0.571
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T06-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T06:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4653.585,
      "stop": 4656.74,
      "target": 4647.274,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.12,
        "bb_width_pct": 0.571
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T07-00-00Z_short_rsi_range_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T07:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4651.975,
      "stop": 4656.204,
      "target": 4643.517,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 10.81,
        "bb_width_pct": 0.589
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T07-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4643.24,
      "stop": 4641.138,
      "target": 4647.444,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.49,
        "bb_width_pct": 0.4
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T07-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4643.24,
      "stop": 4641.062,
      "target": 4647.596,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.49,
        "bb_width_pct": 0.4
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T08-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4650.515,
      "stop": 4651.931,
      "target": 4647.684,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.18,
        "bb_width_pct": 0.41
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T08-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4650.515,
      "stop": 4652.5,
      "target": 4646.544,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.18,
        "bb_width_pct": 0.41
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T08-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T08:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4661.685,
      "stop": 4667.538,
      "target": 4649.978,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.41,
        "bb_width_pct": 0.529
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T08-15-00Z_short_vwap_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T08:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4661.685,
      "stop": 4667.979,
      "target": 4649.096,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 9.41,
        "bb_width_pct": 0.529
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T08-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T08:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4661.685,
      "stop": 4670.254,
      "target": 4644.548,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.41,
        "bb_width_pct": 0.529
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T08-25-00Z_short_vwap_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T08:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4678.565,
      "stop": 4691.589,
      "target": 4652.516,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 22.22,
        "bb_width_pct": 0.973
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T08-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T08:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4678.565,
      "stop": 4689.172,
      "target": 4657.35,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 22.22,
        "bb_width_pct": 0.973
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T09-30-00Z_short_vwap_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4683.23,
      "stop": 4691.678,
      "target": 4666.334,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.44,
        "bb_width_pct": 1.181
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T09-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4683.23,
      "stop": 4691.891,
      "target": 4665.907,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.44,
        "bb_width_pct": 1.181
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T09-35-00Z_short_vwap_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4676.65,
      "stop": 4681.616,
      "target": 4666.718,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.04,
        "bb_width_pct": 1.013
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T09-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T09:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4667.265,
      "stop": 4662.577,
      "target": 4676.641,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.61,
        "bb_width_pct": 0.881
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T09-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T09:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4667.01,
      "stop": 4660.286,
      "target": 4680.458,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.96,
        "bb_width_pct": 0.736
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T09-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T09:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4667.01,
      "stop": 4662.653,
      "target": 4675.724,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.96,
        "bb_width_pct": 0.736
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T09-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T09:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4670.605,
      "stop": 4665.508,
      "target": 4680.8,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.41,
        "bb_width_pct": 0.689
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T09-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T09:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4670.605,
      "stop": 4668.289,
      "target": 4675.236,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.41,
        "bb_width_pct": 0.689
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T10-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T10:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4674.93,
      "stop": 4672.084,
      "target": 4680.623,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.49,
        "bb_width_pct": 0.628
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T10-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T10:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4668.315,
      "stop": 4663.108,
      "target": 4678.73,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.56,
        "bb_width_pct": 0.67
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T10-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T10:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4668.315,
      "stop": 4665.307,
      "target": 4674.332,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.56,
        "bb_width_pct": 0.67
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T10-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T10:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4662.485,
      "stop": 4655.795,
      "target": 4675.865,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.32,
        "bb_width_pct": 0.769
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T10-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T10:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4662.485,
      "stop": 4657.864,
      "target": 4671.726,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.32,
        "bb_width_pct": 0.769
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T10-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T10:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4656.08,
      "stop": 4647.818,
      "target": 4672.604,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.97,
        "bb_width_pct": 0.904
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T10-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T10:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4656.08,
      "stop": 4649.91,
      "target": 4668.42,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.97,
        "bb_width_pct": 0.904
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T10-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T10:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4652.33,
      "stop": 4643.149,
      "target": 4670.692,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.33,
        "bb_width_pct": 0.907
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T10-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T10:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4652.33,
      "stop": 4645.051,
      "target": 4666.887,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.33,
        "bb_width_pct": 0.907
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T11-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4654.535,
      "stop": 4647.448,
      "target": 4668.709,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.96,
        "bb_width_pct": 0.829
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T11-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4654.535,
      "stop": 4648.304,
      "target": 4666.997,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 11.96,
        "bb_width_pct": 0.829
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T11-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4654.535,
      "stop": 4648.947,
      "target": 4665.711,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.96,
        "bb_width_pct": 0.829
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T11-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T11:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4651.47,
      "stop": 4643.737,
      "target": 4666.937,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.57,
        "bb_width_pct": 0.808
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T11-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T11:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4651.47,
      "stop": 4645.028,
      "target": 4664.355,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.57,
        "bb_width_pct": 0.808
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T11-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T11:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4640.055,
      "stop": 4628.715,
      "target": 4662.734,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.08,
        "bb_width_pct": 1.007
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T11-15-00Z_long_rsi_range_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T11:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4640.055,
      "stop": 4628.715,
      "target": 4662.734,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.08,
        "bb_width_pct": 1.007
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T11-15-00Z_long_vwap_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T11:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4640.055,
      "stop": 4629.523,
      "target": 4661.119,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.08,
        "bb_width_pct": 1.007
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T11-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T11:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4640.055,
      "stop": 4629.101,
      "target": 4661.962,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 25.08,
        "bb_width_pct": 1.007
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T11-20-00Z_long_rsi_range_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T11:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4645.03,
      "stop": 4636.734,
      "target": 4661.623,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.75,
        "bb_width_pct": 1.055
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T11-20-00Z_long_vwap_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T11:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4645.03,
      "stop": 4637.508,
      "target": 4660.075,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.75,
        "bb_width_pct": 1.055
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T11-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T11:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4645.03,
      "stop": 4636.564,
      "target": 4661.962,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 21.75,
        "bb_width_pct": 1.055
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T11-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T11:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4645.03,
      "stop": 4638.449,
      "target": 4658.192,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.75,
        "bb_width_pct": 1.055
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T11-25-00Z_long_rsi_range_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T11:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4647.97,
      "stop": 4641.62,
      "target": 4660.671,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.21,
        "bb_width_pct": 1.08
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T12-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T12:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4666.845,
      "stop": 4673.399,
      "target": 4653.737,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.41,
        "bb_width_pct": 0.629
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T12-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T12:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4666.845,
      "stop": 4671.117,
      "target": 4658.301,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.41,
        "bb_width_pct": 0.629
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T12-25-00Z_short_rsi_range_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T12:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4666.32,
      "stop": 4672.22,
      "target": 4654.521,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 18.61,
        "bb_width_pct": 0.668
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T13-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4648.215,
      "stop": 4643.757,
      "target": 4657.132,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.39,
        "bb_width_pct": 0.418
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T13-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4647.585,
      "stop": 4643.117,
      "target": 4656.521,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.1,
        "bb_width_pct": 0.45
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T13-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4647.25,
      "stop": 4643.295,
      "target": 4655.16,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.04,
        "bb_width_pct": 0.569
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T13-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4647.25,
      "stop": 4644.269,
      "target": 4653.212,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.04,
        "bb_width_pct": 0.569
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T14-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T14:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4622.165,
      "stop": 4609.44,
      "target": 4647.615,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.88,
        "bb_width_pct": 1.118
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T14-10-00Z_long_vwap_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T14:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4622.165,
      "stop": 4607.496,
      "target": 4651.503,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.88,
        "bb_width_pct": 1.118
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T14-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T14:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4622.165,
      "stop": 4613.506,
      "target": 4639.483,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 20.88,
        "bb_width_pct": 1.118
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T16-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4662.295,
      "stop": 4670.01,
      "target": 4646.865,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.43,
        "bb_width_pct": 0.698
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T16-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4662.295,
      "stop": 4669.426,
      "target": 4648.033,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.43,
        "bb_width_pct": 0.698
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T16-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T16:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4654.145,
      "stop": 4662.104,
      "target": 4638.227,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 19.51,
        "bb_width_pct": 0.71
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T16-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T16:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4657.93,
      "stop": 4667.781,
      "target": 4638.227,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.58,
        "bb_width_pct": 0.749
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T16-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T16:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4657.945,
      "stop": 4662.776,
      "target": 4648.283,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.97,
        "bb_width_pct": 0.773
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T16-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T16:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4657.945,
      "stop": 4661.359,
      "target": 4651.116,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.97,
        "bb_width_pct": 0.773
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T16-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T16:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4659.82,
      "stop": 4670.616,
      "target": 4638.227,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.26,
        "bb_width_pct": 0.822
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T16-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4658.15,
      "stop": 4668.111,
      "target": 4638.227,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.46,
        "bb_width_pct": 0.765
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T16-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4658.56,
      "stop": 4668.726,
      "target": 4638.227,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.53,
        "bb_width_pct": 0.526
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T16-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4657.29,
      "stop": 4666.821,
      "target": 4638.227,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.44,
        "bb_width_pct": 0.484
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T17-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T17:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4667.53,
      "stop": 4672.784,
      "target": 4657.022,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.85,
        "bb_width_pct": 0.524
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T17-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T17:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4667.53,
      "stop": 4672.583,
      "target": 4657.424,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.85,
        "bb_width_pct": 0.524
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T17-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T17:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4656.56,
      "stop": 4664.58,
      "target": 4640.52,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.47,
        "bb_width_pct": 0.446
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T17-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T17:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4672.405,
      "stop": 4677.406,
      "target": 4662.403,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.47,
        "bb_width_pct": 0.541
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T17-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T17:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4672.405,
      "stop": 4680.7,
      "target": 4655.815,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.47,
        "bb_width_pct": 0.541
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T17-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T17:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4672.405,
      "stop": 4677.273,
      "target": 4662.669,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.47,
        "bb_width_pct": 0.541
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T17-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T17:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4676.785,
      "stop": 4682.933,
      "target": 4664.489,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.01,
        "bb_width_pct": 0.631
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T17-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T17:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4676.785,
      "stop": 4687.27,
      "target": 4655.815,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.01,
        "bb_width_pct": 0.631
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T17-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T17:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4676.785,
      "stop": 4682.507,
      "target": 4665.341,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.01,
        "bb_width_pct": 0.631
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T17-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T17:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4675.935,
      "stop": 4685.995,
      "target": 4655.815,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.66,
        "bb_width_pct": 0.651
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T17-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T17:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4675.935,
      "stop": 4680.727,
      "target": 4666.35,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.66,
        "bb_width_pct": 0.651
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T18-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T18:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4678.36,
      "stop": 4683.793,
      "target": 4667.494,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.81,
        "bb_width_pct": 0.677
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T18-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T18:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4678.215,
      "stop": 4689.415,
      "target": 4655.815,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 20.47,
        "bb_width_pct": 0.786
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T18-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T18:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4678.215,
      "stop": 4681.277,
      "target": 4672.092,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.47,
        "bb_width_pct": 0.786
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T18-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4683.27,
      "stop": 4687.967,
      "target": 4673.876,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 23.65,
        "bb_width_pct": 0.764
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T18-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T18:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4679.93,
      "stop": 4688.048,
      "target": 4663.695,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.0,
        "bb_width_pct": 0.709
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T18-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T18:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4679.855,
      "stop": 4687.935,
      "target": 4663.695,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.58,
        "bb_width_pct": 0.699
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T18-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T18:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4674.495,
      "stop": 4679.895,
      "target": 4663.695,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.56,
        "bb_width_pct": 0.685
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T18-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T18:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4662.35,
      "stop": 4655.949,
      "target": 4675.153,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.62,
        "bb_width_pct": 0.65
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T19-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T19:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4665.33,
      "stop": 4660.252,
      "target": 4675.485,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.67,
        "bb_width_pct": 0.598
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T19-00-00Z_long_vwap_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T19:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4665.33,
      "stop": 4661.495,
      "target": 4673.0,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.67,
        "bb_width_pct": 0.598
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T19-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T19:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4665.33,
      "stop": 4661.919,
      "target": 4672.152,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.67,
        "bb_width_pct": 0.598
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T19-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T19:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4662.205,
      "stop": 4655.514,
      "target": 4675.587,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.41,
        "bb_width_pct": 0.579
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T19-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T19:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4662.205,
      "stop": 4657.705,
      "target": 4671.205,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.41,
        "bb_width_pct": 0.579
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T19-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T19:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4690.34,
      "stop": 4697.547,
      "target": 4675.927,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.67,
        "bb_width_pct": 0.653
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T19-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T19:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4689.415,
      "stop": 4695.734,
      "target": 4676.777,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.79,
        "bb_width_pct": 0.695
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T19-20-00Z_short_vwap_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T19:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4689.415,
      "stop": 4697.385,
      "target": 4673.474,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.79,
        "bb_width_pct": 0.695
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T19-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T19:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4689.415,
      "stop": 4697.855,
      "target": 4672.535,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.79,
        "bb_width_pct": 0.695
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T19-25-00Z_short_vwap_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T19:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4687.575,
      "stop": 4694.374,
      "target": 4673.977,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.69,
        "bb_width_pct": 0.723
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T19-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T19:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4687.575,
      "stop": 4693.566,
      "target": 4675.593,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.69,
        "bb_width_pct": 0.723
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T19-30-00Z_short_vwap_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T19:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4686.235,
      "stop": 4692.173,
      "target": 4674.358,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.87,
        "bb_width_pct": 0.742
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T19-35-00Z_short_vwap_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T19:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4685.83,
      "stop": 4691.374,
      "target": 4674.742,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.08,
        "bb_width_pct": 0.756
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T19-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T19:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4685.83,
      "stop": 4690.003,
      "target": 4677.485,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.08,
        "bb_width_pct": 0.756
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T19-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T19:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4699.69,
      "stop": 4709.131,
      "target": 4680.807,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.92,
        "bb_width_pct": 0.995
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T19-50-00Z_short_vwap_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T19:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4699.69,
      "stop": 4711.185,
      "target": 4676.701,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.92,
        "bb_width_pct": 0.995
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T19-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T19:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4699.69,
      "stop": 4706.266,
      "target": 4686.538,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.92,
        "bb_width_pct": 0.995
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T19-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T19:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4699.69,
      "stop": 4708.126,
      "target": 4682.818,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.92,
        "bb_width_pct": 0.995
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T20-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T20:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4706.145,
      "stop": 4717.709,
      "target": 4683.016,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 25.75,
        "bb_width_pct": 1.153
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T20-40-00Z_short_rsi_range_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4707.855,
      "stop": 4713.299,
      "target": 4696.967,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 14.36,
        "bb_width_pct": 1.187
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T20-40-00Z_short_vwap_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4707.855,
      "stop": 4720.018,
      "target": 4683.528,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.36,
        "bb_width_pct": 1.187
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T20-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4707.855,
      "stop": 4718.017,
      "target": 4687.53,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.36,
        "bb_width_pct": 1.187
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T20-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4707.855,
      "stop": 4712.378,
      "target": 4698.81,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.36,
        "bb_width_pct": 1.187
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T20-50-00Z_short_rsi_range_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T20:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4708.45,
      "stop": 4711.929,
      "target": 4701.493,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 1.63,
        "bb_width_pct": 0.804
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T20-50-00Z_short_vwap_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T20:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4708.45,
      "stop": 4720.346,
      "target": 4684.658,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 1.63,
        "bb_width_pct": 0.804
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T20-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T20:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4708.45,
      "stop": 4718.528,
      "target": 4688.295,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.63,
        "bb_width_pct": 0.804
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T20-55-00Z_short_vwap_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T20:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4704.81,
      "stop": 4714.648,
      "target": 4685.134,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.19,
        "bb_width_pct": 0.775
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T20-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T20:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4704.81,
      "stop": 4713.068,
      "target": 4688.295,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.19,
        "bb_width_pct": 0.775
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T22-15-00Z_short_vwap_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T22:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4730.71,
      "stop": 4760.917,
      "target": 4670.296,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 19.96,
        "bb_width_pct": 1.194
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T22-20-00Z_short_vwap_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T22:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4728.375,
      "stop": 4756.405,
      "target": 4672.315,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 18.12,
        "bb_width_pct": 1.122
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-07T22-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T22:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4728.375,
      "stop": 4735.282,
      "target": 4714.561,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.12,
        "bb_width_pct": 1.122
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T01-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T01:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4801.825,
      "stop": 4792.113,
      "target": 4821.249,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.74,
        "bb_width_pct": 0.948
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T01-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T01:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4801.825,
      "stop": 4796.309,
      "target": 4812.857,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.74,
        "bb_width_pct": 0.948
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T01-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T01:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4794.275,
      "stop": 4785.869,
      "target": 4811.087,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.64,
        "bb_width_pct": 1.057
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T01-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4799.67,
      "stop": 4789.811,
      "target": 4819.388,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.17,
        "bb_width_pct": 1.121
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T01-30-00Z_long_vwap_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4799.67,
      "stop": 4789.831,
      "target": 4819.349,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.17,
        "bb_width_pct": 1.121
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T01-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4799.67,
      "stop": 4794.505,
      "target": 4810.0,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.17,
        "bb_width_pct": 1.121
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T01-40-00Z_long_vwap_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T01:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4800.3,
      "stop": 4791.686,
      "target": 4817.528,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.34,
        "bb_width_pct": 1.053
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T02-35-00Z_short_rsi_range_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T02:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4813.905,
      "stop": 4816.289,
      "target": 4809.136,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 14.6,
        "bb_width_pct": 0.599
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T02-55-00Z_long_vwap_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T02:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4804.22,
      "stop": 4798.932,
      "target": 4814.796,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.3,
        "bb_width_pct": 0.528
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T02-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T02:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4804.22,
      "stop": 4801.672,
      "target": 4809.316,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.3,
        "bb_width_pct": 0.528
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T03-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4798.16,
      "stop": 4793.12,
      "target": 4808.24,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.15,
        "bb_width_pct": 0.472
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T03-20-00Z_long_rsi_range_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T03:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4800.465,
      "stop": 4796.573,
      "target": 4808.248,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.04,
        "bb_width_pct": 0.471
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T03-20-00Z_long_vwap_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T03:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4800.465,
      "stop": 4794.137,
      "target": 4813.121,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.04,
        "bb_width_pct": 0.471
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T03-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T03:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4800.465,
      "stop": 4789.114,
      "target": 4823.167,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 17.04,
        "bb_width_pct": 0.471
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T03-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T03:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4800.465,
      "stop": 4797.752,
      "target": 4805.891,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.04,
        "bb_width_pct": 0.471
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T03-25-00Z_long_vwap_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4803.37,
      "stop": 4798.617,
      "target": 4812.876,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.72,
        "bb_width_pct": 0.48
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T03-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4800.405,
      "stop": 4796.84,
      "target": 4807.536,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.33,
        "bb_width_pct": 0.498
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T03-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4800.405,
      "stop": 4798.032,
      "target": 4805.151,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.33,
        "bb_width_pct": 0.498
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T03-40-00Z_long_rsi_range_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T03:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4800.45,
      "stop": 4797.647,
      "target": 4806.055,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.82,
        "bb_width_pct": 0.497
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T03-40-00Z_long_vwap_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T03:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4800.45,
      "stop": 4794.67,
      "target": 4812.01,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.82,
        "bb_width_pct": 0.497
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T03-50-00Z_long_vwap_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T03:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4800.495,
      "stop": 4794.987,
      "target": 4811.511,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.89,
        "bb_width_pct": 0.446
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T04-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4794.745,
      "stop": 4791.341,
      "target": 4801.552,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.62,
        "bb_width_pct": 0.424
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T04-10-00Z_long_vwap_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T04:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4797.7,
      "stop": 4791.34,
      "target": 4810.42,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.77,
        "bb_width_pct": 0.353
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T04-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T04:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4794.82,
      "stop": 4791.992,
      "target": 4800.475,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.59,
        "bb_width_pct": 0.282
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T04-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T04:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4794.82,
      "stop": 4791.94,
      "target": 4800.579,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.59,
        "bb_width_pct": 0.282
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T04-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T04:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4802.63,
      "stop": 4800.556,
      "target": 4806.778,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 2.54,
        "bb_width_pct": 0.279
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T04-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4803.07,
      "stop": 4804.922,
      "target": 4799.366,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.92,
        "bb_width_pct": 0.265
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T04-50-00Z_long_vwap_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T04:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4800.44,
      "stop": 4796.175,
      "target": 4808.971,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.0,
        "bb_width_pct": 0.258
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T05-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4806.17,
      "stop": 4809.356,
      "target": 4799.799,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.7,
        "bb_width_pct": 0.294
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T05-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4811.39,
      "stop": 4816.24,
      "target": 4801.689,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.66,
        "bb_width_pct": 0.446
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T05-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4811.39,
      "stop": 4814.974,
      "target": 4804.222,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.66,
        "bb_width_pct": 0.446
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T05-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4820.305,
      "stop": 4828.085,
      "target": 4804.745,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 25.86,
        "bb_width_pct": 0.678
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T05-35-00Z_short_rsi_range_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4820.305,
      "stop": 4828.085,
      "target": 4804.745,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 25.86,
        "bb_width_pct": 0.678
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T05-35-00Z_short_vwap_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4820.305,
      "stop": 4825.846,
      "target": 4809.223,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 25.86,
        "bb_width_pct": 0.678
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T05-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4820.305,
      "stop": 4826.986,
      "target": 4806.943,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 25.86,
        "bb_width_pct": 0.678
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T05-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4822.585,
      "stop": 4830.882,
      "target": 4805.99,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 24.44,
        "bb_width_pct": 0.736
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T06-05-00Z_short_rsi_range_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4824.605,
      "stop": 4829.665,
      "target": 4814.484,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 17.74,
        "bb_width_pct": 0.949
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T06-05-00Z_short_vwap_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4824.605,
      "stop": 4831.489,
      "target": 4810.836,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 17.74,
        "bb_width_pct": 0.949
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T06-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4824.605,
      "stop": 4828.129,
      "target": 4817.556,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.74,
        "bb_width_pct": 0.949
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T06-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T06:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4830.305,
      "stop": 4835.687,
      "target": 4819.541,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.94,
        "bb_width_pct": 0.946
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T06-30-00Z_short_vwap_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4832.925,
      "stop": 4843.328,
      "target": 4812.119,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.39,
        "bb_width_pct": 0.87
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T06-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4832.925,
      "stop": 4840.818,
      "target": 4817.14,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.39,
        "bb_width_pct": 0.87
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T06-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4832.925,
      "stop": 4837.694,
      "target": 4823.387,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.39,
        "bb_width_pct": 0.87
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T06-35-00Z_short_vwap_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4831.45,
      "stop": 4840.98,
      "target": 4812.391,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.29,
        "bb_width_pct": 0.809
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T06-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4831.45,
      "stop": 4838.605,
      "target": 4817.14,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.29,
        "bb_width_pct": 0.809
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T06-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4831.45,
      "stop": 4835.098,
      "target": 4824.155,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.29,
        "bb_width_pct": 0.809
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T06-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T06:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4835.81,
      "stop": 4841.083,
      "target": 4825.265,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.03,
        "bb_width_pct": 0.767
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T06-45-00Z_short_vwap_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T06:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4832.355,
      "stop": 4842.065,
      "target": 4812.936,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.7,
        "bb_width_pct": 0.711
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T06-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T06:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4832.355,
      "stop": 4839.962,
      "target": 4817.14,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.7,
        "bb_width_pct": 0.711
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T06-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T06:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4832.355,
      "stop": 4835.562,
      "target": 4825.94,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.7,
        "bb_width_pct": 0.711
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T06-50-00Z_short_vwap_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T06:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4823.36,
      "stop": 4828.494,
      "target": 4813.092,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.88,
        "bb_width_pct": 0.642
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T07-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T07:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4813.015,
      "stop": 4807.517,
      "target": 4824.01,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.21,
        "bb_width_pct": 0.558
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T07-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T07:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4815.35,
      "stop": 4809.332,
      "target": 4827.386,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.83,
        "bb_width_pct": 0.562
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T07-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T07:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4812.335,
      "stop": 4805.052,
      "target": 4826.902,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.0,
        "bb_width_pct": 0.619
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T07-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T07:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4812.335,
      "stop": 4807.427,
      "target": 4822.152,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.0,
        "bb_width_pct": 0.619
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T07-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T07:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4812.49,
      "stop": 4808.119,
      "target": 4821.232,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.61,
        "bb_width_pct": 0.662
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T07-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T07:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4816.19,
      "stop": 4811.189,
      "target": 4826.191,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.29,
        "bb_width_pct": 0.685
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T07-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T07:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4816.19,
      "stop": 4813.909,
      "target": 4820.752,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.29,
        "bb_width_pct": 0.685
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T07-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4809.885,
      "stop": 4805.066,
      "target": 4819.523,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.81,
        "bb_width_pct": 0.711
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T07-35-00Z_long_rsi_range_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T07:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4810.485,
      "stop": 4804.058,
      "target": 4823.339,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.38,
        "bb_width_pct": 0.749
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T07-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T07:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4810.485,
      "stop": 4806.396,
      "target": 4818.663,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.38,
        "bb_width_pct": 0.749
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T07-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T07:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4809.195,
      "stop": 4804.912,
      "target": 4817.761,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.55,
        "bb_width_pct": 0.777
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T08-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T08:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4808.83,
      "stop": 4805.909,
      "target": 4814.672,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.11,
        "bb_width_pct": 0.335
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T08-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T08:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4808.83,
      "stop": 4800.977,
      "target": 4824.535,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.11,
        "bb_width_pct": 0.335
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T08-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T08:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4808.83,
      "stop": 4805.434,
      "target": 4815.622,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.11,
        "bb_width_pct": 0.335
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T08-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4802.915,
      "stop": 4797.708,
      "target": 4813.329,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.81,
        "bb_width_pct": 0.382
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T08-45-00Z_long_vwap_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T08:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4795.34,
      "stop": 4787.4,
      "target": 4811.22,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.88,
        "bb_width_pct": 0.592
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T08-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T08:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4795.34,
      "stop": 4784.438,
      "target": 4817.145,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.88,
        "bb_width_pct": 0.592
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T08-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T08:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4796.825,
      "stop": 4790.215,
      "target": 4810.045,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.13,
        "bb_width_pct": 0.643
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T08-50-00Z_long_vwap_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T08:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4796.825,
      "stop": 4789.914,
      "target": 4810.647,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.13,
        "bb_width_pct": 0.643
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T08-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T08:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4796.825,
      "stop": 4786.665,
      "target": 4817.145,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 16.13,
        "bb_width_pct": 0.643
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T08-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T08:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4796.825,
      "stop": 4790.905,
      "target": 4808.665,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.13,
        "bb_width_pct": 0.643
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T09-00-00Z_long_rsi_range_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4796.655,
      "stop": 4790.906,
      "target": 4808.154,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.57,
        "bb_width_pct": 0.723
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T09-00-00Z_long_vwap_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4796.655,
      "stop": 4790.247,
      "target": 4809.471,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.57,
        "bb_width_pct": 0.723
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T09-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4796.655,
      "stop": 4786.41,
      "target": 4817.145,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.57,
        "bb_width_pct": 0.723
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T09-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4796.655,
      "stop": 4791.845,
      "target": 4806.275,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.57,
        "bb_width_pct": 0.723
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T09-05-00Z_long_rsi_range_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T09:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4797.395,
      "stop": 4792.544,
      "target": 4807.098,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.39,
        "bb_width_pct": 0.72
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T09-05-00Z_long_vwap_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T09:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4797.395,
      "stop": 4791.587,
      "target": 4809.011,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.39,
        "bb_width_pct": 0.72
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T09-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T09:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4797.395,
      "stop": 4787.52,
      "target": 4817.145,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 18.39,
        "bb_width_pct": 0.72
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T09-10-00Z_long_rsi_range_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T09:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4801.005,
      "stop": 4798.181,
      "target": 4806.654,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.83,
        "bb_width_pct": 0.726
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T09-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T09:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4801.005,
      "stop": 4793.917,
      "target": 4815.18,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.83,
        "bb_width_pct": 0.726
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T09-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T09:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4802.415,
      "stop": 4796.032,
      "target": 4815.18,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.58,
        "bb_width_pct": 0.741
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T09-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T09:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4785.47,
      "stop": 4778.41,
      "target": 4799.589,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.6,
        "bb_width_pct": 0.71
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T09-45-00Z_long_vwap_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T09:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4785.47,
      "stop": 4775.312,
      "target": 4805.786,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.6,
        "bb_width_pct": 0.71
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T09-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T09:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4785.47,
      "stop": 4774.035,
      "target": 4808.34,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.6,
        "bb_width_pct": 0.71
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T09-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T09:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4783.185,
      "stop": 4776.65,
      "target": 4796.254,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.32,
        "bb_width_pct": 0.617
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T10-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T10:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4788.58,
      "stop": 4778.872,
      "target": 4807.995,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.15,
        "bb_width_pct": 0.584
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T10-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T10:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4788.58,
      "stop": 4785.128,
      "target": 4795.483,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.15,
        "bb_width_pct": 0.584
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T10-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T10:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4778.915,
      "stop": 4772.805,
      "target": 4791.136,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.45,
        "bb_width_pct": 0.639
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T10-20-00Z_long_rsi_range_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T10:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4778.915,
      "stop": 4772.805,
      "target": 4791.136,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.45,
        "bb_width_pct": 0.639
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T10-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T10:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4778.915,
      "stop": 4770.23,
      "target": 4796.285,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.45,
        "bb_width_pct": 0.639
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T10-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T10:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4778.915,
      "stop": 4773.007,
      "target": 4790.731,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.45,
        "bb_width_pct": 0.639
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T10-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T10:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4782.695,
      "stop": 4775.9,
      "target": 4796.285,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 16.53,
        "bb_width_pct": 0.651
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T10-30-00Z_long_rsi_range_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T10:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4783.355,
      "stop": 4780.117,
      "target": 4789.83,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.15,
        "bb_width_pct": 0.652
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T11-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T11:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4789.965,
      "stop": 4792.027,
      "target": 4785.841,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.55,
        "bb_width_pct": 0.363
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T11-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T11:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4796.315,
      "stop": 4801.201,
      "target": 4786.544,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.46,
        "bb_width_pct": 0.413
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T11-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T11:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4796.615,
      "stop": 4801.306,
      "target": 4787.232,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.04,
        "bb_width_pct": 0.445
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T11-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T11:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4796.615,
      "stop": 4800.131,
      "target": 4789.582,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.04,
        "bb_width_pct": 0.445
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T11-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T11:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4798.59,
      "stop": 4803.71,
      "target": 4788.35,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.16,
        "bb_width_pct": 0.438
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T11-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T11:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4798.59,
      "stop": 4802.665,
      "target": 4790.44,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.16,
        "bb_width_pct": 0.438
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T12-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T12:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4800.745,
      "stop": 4805.867,
      "target": 4790.502,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.02,
        "bb_width_pct": 0.505
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T12-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T12:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4800.745,
      "stop": 4806.56,
      "target": 4789.115,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.02,
        "bb_width_pct": 0.505
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T12-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T12:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4800.745,
      "stop": 4804.826,
      "target": 4792.583,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.02,
        "bb_width_pct": 0.505
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T12-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T12:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4793.245,
      "stop": 4793.934,
      "target": 4791.867,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.24,
        "bb_width_pct": 0.549
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T12-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T12:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4793.245,
      "stop": 4795.217,
      "target": 4789.3,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.24,
        "bb_width_pct": 0.549
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T12-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T12:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4784.3,
      "stop": 4781.284,
      "target": 4790.332,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.1,
        "bb_width_pct": 0.684
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T12-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T12:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4784.3,
      "stop": 4782.495,
      "target": 4787.91,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.1,
        "bb_width_pct": 0.684
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T12-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T12:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4784.3,
      "stop": 4781.042,
      "target": 4790.816,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.1,
        "bb_width_pct": 0.684
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T12-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T12:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4799.765,
      "stop": 4805.693,
      "target": 4787.91,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.5,
        "bb_width_pct": 0.678
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T13-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T13:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4797.645,
      "stop": 4802.513,
      "target": 4787.91,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.9,
        "bb_width_pct": 0.676
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T13-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4782.815,
      "stop": 4776.759,
      "target": 4794.927,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.23,
        "bb_width_pct": 0.67
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T13-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4782.815,
      "stop": 4777.488,
      "target": 4793.469,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.23,
        "bb_width_pct": 0.67
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T13-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4777.73,
      "stop": 4769.653,
      "target": 4793.884,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.19,
        "bb_width_pct": 0.735
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T13-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4788.18,
      "stop": 4787.219,
      "target": 4790.103,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.48,
        "bb_width_pct": 0.775
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T13-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T13:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4777.225,
      "stop": 4771.165,
      "target": 4789.345,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.88,
        "bb_width_pct": 0.835
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T13-55-00Z_long_vwap_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T13:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4777.225,
      "stop": 4770.062,
      "target": 4791.55,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.88,
        "bb_width_pct": 0.835
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T13-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T13:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4777.225,
      "stop": 4771.883,
      "target": 4787.91,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 16.88,
        "bb_width_pct": 0.835
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T13-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T13:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4777.225,
      "stop": 4772.154,
      "target": 4787.366,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.88,
        "bb_width_pct": 0.835
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T14-20-00Z_long_vwap_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T14:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4774.725,
      "stop": 4767.219,
      "target": 4789.737,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.74,
        "bb_width_pct": 0.833
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T14-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T14:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4774.725,
      "stop": 4768.458,
      "target": 4787.26,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.74,
        "bb_width_pct": 0.833
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T14-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T14:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4767.95,
      "stop": 4758.972,
      "target": 4785.907,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.65,
        "bb_width_pct": 0.88
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T14-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T14:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4767.95,
      "stop": 4760.572,
      "target": 4782.706,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.65,
        "bb_width_pct": 0.88
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T14-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T14:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4761.02,
      "stop": 4750.727,
      "target": 4781.606,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.25,
        "bb_width_pct": 1.028
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T14-35-00Z_long_vwap_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T14:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4761.02,
      "stop": 4747.968,
      "target": 4787.123,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.25,
        "bb_width_pct": 1.028
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T14-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T14:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4761.02,
      "stop": 4752.09,
      "target": 4778.88,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 11.25,
        "bb_width_pct": 1.028
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T14-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T14:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4761.02,
      "stop": 4752.43,
      "target": 4778.2,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.25,
        "bb_width_pct": 1.028
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T14-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T14:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4756.09,
      "stop": 4745.422,
      "target": 4777.426,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.86,
        "bb_width_pct": 1.04
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T14-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T14:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4756.09,
      "stop": 4746.858,
      "target": 4774.554,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.86,
        "bb_width_pct": 1.04
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T14-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T14:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4753.175,
      "stop": 4742.055,
      "target": 4775.415,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.29,
        "bb_width_pct": 1.082
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T14-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T14:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4753.175,
      "stop": 4743.503,
      "target": 4772.518,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.29,
        "bb_width_pct": 1.082
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T15-30-00Z_long_vwap_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T15:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4757.02,
      "stop": 4746.636,
      "target": 4777.788,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.32,
        "bb_width_pct": 1.195
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T15-35-00Z_long_vwap_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T15:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4760.36,
      "stop": 4751.855,
      "target": 4777.37,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.65,
        "bb_width_pct": 1.153
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T15-45-00Z_long_vwap_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T15:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4758.92,
      "stop": 4750.126,
      "target": 4776.509,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.99,
        "bb_width_pct": 0.892
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T16-00-00Z_long_vwap_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4757.845,
      "stop": 4749.065,
      "target": 4775.404,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.74,
        "bb_width_pct": 0.592
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T16-05-00Z_long_vwap_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T16:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4757.99,
      "stop": 4749.463,
      "target": 4775.045,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.67,
        "bb_width_pct": 0.537
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T16-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T16:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4748.26,
      "stop": 4743.662,
      "target": 4757.455,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.3,
        "bb_width_pct": 0.528
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T16-20-00Z_long_vwap_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T16:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4752.56,
      "stop": 4741.962,
      "target": 4773.756,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.01,
        "bb_width_pct": 0.51
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T16-30-00Z_long_vwap_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T16:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4755.97,
      "stop": 4747.465,
      "target": 4772.981,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.58,
        "bb_width_pct": 0.512
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T16-35-00Z_long_vwap_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4759.345,
      "stop": 4752.666,
      "target": 4772.703,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.66,
        "bb_width_pct": 0.418
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T16-45-00Z_long_vwap_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4760.855,
      "stop": 4755.16,
      "target": 4772.245,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.79,
        "bb_width_pct": 0.353
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T16-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T16:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4761.02,
      "stop": 4763.442,
      "target": 4756.175,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.53,
        "bb_width_pct": 0.293
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T16-50-00Z_long_vwap_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T16:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4761.02,
      "stop": 4755.492,
      "target": 4772.076,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.53,
        "bb_width_pct": 0.293
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T17-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T17:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4760.365,
      "stop": 4762.174,
      "target": 4756.748,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.66,
        "bb_width_pct": 0.308
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T17-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T17:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4748.95,
      "stop": 4745.078,
      "target": 4756.695,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.8,
        "bb_width_pct": 0.327
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T17-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T17:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4748.95,
      "stop": 4744.831,
      "target": 4757.188,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.8,
        "bb_width_pct": 0.327
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T17-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T17:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4751.175,
      "stop": 4748.609,
      "target": 4756.307,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.64,
        "bb_width_pct": 0.339
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T17-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T17:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4751.175,
      "stop": 4748.455,
      "target": 4756.616,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.64,
        "bb_width_pct": 0.339
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T17-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T17:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4740.7,
      "stop": 4734.112,
      "target": 4753.876,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.71,
        "bb_width_pct": 0.573
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T17-40-00Z_long_vwap_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T17:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4740.7,
      "stop": 4735.147,
      "target": 4751.807,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.71,
        "bb_width_pct": 0.573
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T17-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T17:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4740.7,
      "stop": 4734.247,
      "target": 4753.605,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 20.71,
        "bb_width_pct": 0.573
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T17-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T17:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4738.3,
      "stop": 4731.004,
      "target": 4752.892,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.75,
        "bb_width_pct": 0.634
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T18-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T18:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4740.25,
      "stop": 4735.026,
      "target": 4750.698,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.26,
        "bb_width_pct": 0.796
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T18-00-00Z_long_rsi_range_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T18:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4740.25,
      "stop": 4735.026,
      "target": 4750.698,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.26,
        "bb_width_pct": 0.796
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T18-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T18:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4740.25,
      "stop": 4736.034,
      "target": 4748.682,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 20.26,
        "bb_width_pct": 0.796
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T18-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T18:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4740.25,
      "stop": 4736.6,
      "target": 4747.55,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.26,
        "bb_width_pct": 0.796
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T18-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T18:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4729.7,
      "stop": 4720.416,
      "target": 4748.268,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.34,
        "bb_width_pct": 0.865
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T18-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T18:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4722.625,
      "stop": 4711.628,
      "target": 4744.62,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.27,
        "bb_width_pct": 1.002
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T18-30-00Z_long_rsi_range_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4723.01,
      "stop": 4713.155,
      "target": 4742.719,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.71,
        "bb_width_pct": 1.025
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T18-30-00Z_long_vwap_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4723.01,
      "stop": 4713.438,
      "target": 4742.154,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.71,
        "bb_width_pct": 1.025
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T18-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4723.01,
      "stop": 4713.766,
      "target": 4741.497,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 22.71,
        "bb_width_pct": 1.025
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T18-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T18:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4714.975,
      "stop": 4702.242,
      "target": 4740.442,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.94,
        "bb_width_pct": 1.084
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T18-45-00Z_long_rsi_range_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T18:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4710.385,
      "stop": 4697.815,
      "target": 4735.525,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.46,
        "bb_width_pct": 1.191
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T18-45-00Z_long_vwap_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T18:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4710.385,
      "stop": 4696.446,
      "target": 4738.263,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.46,
        "bb_width_pct": 1.191
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T18-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T18:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4710.385,
      "stop": 4697.134,
      "target": 4736.888,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 24.46,
        "bb_width_pct": 1.191
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T18-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T18:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4707.89,
      "stop": 4695.398,
      "target": 4732.873,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.25,
        "bb_width_pct": 1.188
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T19-10-00Z_long_rsi_range_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T19:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4715.54,
      "stop": 4711.121,
      "target": 4724.378,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.02,
        "bb_width_pct": 1.18
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T19-10-00Z_long_vwap_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T19:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4715.54,
      "stop": 4707.052,
      "target": 4732.515,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.02,
        "bb_width_pct": 1.18
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T19-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T19:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4715.54,
      "stop": 4707.065,
      "target": 4732.49,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 22.02,
        "bb_width_pct": 1.18
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T19-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T19:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4715.54,
      "stop": 4711.941,
      "target": 4722.737,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.02,
        "bb_width_pct": 1.18
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T19-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T19:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4708.71,
      "stop": 4703.316,
      "target": 4719.499,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.82,
        "bb_width_pct": 1.119
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T19-30-00Z_long_vwap_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T19:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4716.92,
      "stop": 4710.427,
      "target": 4729.906,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.16,
        "bb_width_pct": 1.073
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T19-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T19:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4716.92,
      "stop": 4709.135,
      "target": 4732.49,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.16,
        "bb_width_pct": 1.073
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T20-05-00Z_short_rsi_range_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T20:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4727.585,
      "stop": 4732.961,
      "target": 4716.832,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 27.88,
        "bb_width_pct": 0.768
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T20-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T20:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4719.07,
      "stop": 4717.095,
      "target": 4723.02,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.22,
        "bb_width_pct": 0.531
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T22-15-00Z_long_rsi_range_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T22:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4712.53,
      "stop": 4707.027,
      "target": 4723.536,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.49,
        "bb_width_pct": 0.432
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T22-15-00Z_long_vwap_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T22:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4712.53,
      "stop": 4679.931,
      "target": 4777.729,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.49,
        "bb_width_pct": 0.432
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T22-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T22:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4712.63,
      "stop": 4707.414,
      "target": 4723.062,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.35,
        "bb_width_pct": 0.476
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T22-20-00Z_long_rsi_range_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T22:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4712.63,
      "stop": 4707.414,
      "target": 4723.062,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.35,
        "bb_width_pct": 0.476
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T22-20-00Z_long_vwap_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T22:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4712.63,
      "stop": 4681.243,
      "target": 4775.404,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.35,
        "bb_width_pct": 0.476
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T22-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T22:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4712.63,
      "stop": 4707.943,
      "target": 4722.005,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 16.35,
        "bb_width_pct": 0.476
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T22-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T22:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4712.63,
      "stop": 4708.79,
      "target": 4720.311,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.35,
        "bb_width_pct": 0.476
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T22-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T22:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4713.605,
      "stop": 4709.184,
      "target": 4722.447,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.12,
        "bb_width_pct": 0.503
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T22-25-00Z_long_vwap_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T22:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4713.605,
      "stop": 4683.76,
      "target": 4773.294,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.12,
        "bb_width_pct": 0.503
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T22-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T22:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4713.605,
      "stop": 4710.571,
      "target": 4719.672,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.12,
        "bb_width_pct": 0.503
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T22-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T22:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4717.215,
      "stop": 4714.915,
      "target": 4721.815,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.32,
        "bb_width_pct": 0.491
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T22-30-00Z_long_vwap_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T22:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4717.215,
      "stop": 4690.14,
      "target": 4771.365,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.32,
        "bb_width_pct": 0.491
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T22-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T22:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4717.215,
      "stop": 4714.82,
      "target": 4722.005,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.32,
        "bb_width_pct": 0.491
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T22-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T22:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4717.215,
      "stop": 4716.103,
      "target": 4719.438,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.32,
        "bb_width_pct": 0.491
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T22-45-00Z_long_vwap_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T22:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4715.37,
      "stop": 4689.876,
      "target": 4766.358,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.93,
        "bb_width_pct": 0.438
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T22-50-00Z_long_vwap_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T22:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4716.78,
      "stop": 4692.702,
      "target": 4764.936,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.57,
        "bb_width_pct": 0.407
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T22-55-00Z_long_vwap_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T22:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4717.755,
      "stop": 4694.821,
      "target": 4763.624,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.42,
        "bb_width_pct": 0.392
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T23-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4708.645,
      "stop": 4704.752,
      "target": 4716.431,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.48,
        "bb_width_pct": 0.416
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T23-10-00Z_long_rsi_range_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4708.645,
      "stop": 4704.752,
      "target": 4716.431,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.48,
        "bb_width_pct": 0.416
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T23-10-00Z_long_vwap_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4708.645,
      "stop": 4683.176,
      "target": 4759.583,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.48,
        "bb_width_pct": 0.416
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T23-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4712.98,
      "stop": 4711.5,
      "target": 4715.94,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.46,
        "bb_width_pct": 0.402
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T23-15-00Z_long_vwap_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4712.98,
      "stop": 4690.287,
      "target": 4758.365,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.46,
        "bb_width_pct": 0.402
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T23-20-00Z_long_vwap_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T23:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4713.405,
      "stop": 4691.473,
      "target": 4757.269,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.87,
        "bb_width_pct": 0.384
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T23-30-00Z_long_vwap_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4710.875,
      "stop": 4688.765,
      "target": 4755.094,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.04,
        "bb_width_pct": 0.384
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T23-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4710.875,
      "stop": 4707.076,
      "target": 4718.472,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 3.04,
        "bb_width_pct": 0.384
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T23-35-00Z_long_vwap_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4712.765,
      "stop": 4692.088,
      "target": 4754.118,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.01,
        "bb_width_pct": 0.375
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T23-40-00Z_long_vwap_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4713.6,
      "stop": 4693.787,
      "target": 4753.227,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.07,
        "bb_width_pct": 0.275
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T23-45-00Z_long_vwap_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4717.775,
      "stop": 4700.45,
      "target": 4752.424,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.16,
        "bb_width_pct": 0.23
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T23-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T23:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4714.98,
      "stop": 4715.733,
      "target": 4713.473,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.5,
        "bb_width_pct": 0.232
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-08T23-55-00Z_long_vwap_mean_reversion",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T23:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4715.84,
      "stop": 4698.309,
      "target": 4750.902,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.21,
        "bb_width_pct": 0.235
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T00-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4705.775,
      "stop": 4701.717,
      "target": 4713.891,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.04,
        "bb_width_pct": 0.276
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T00-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T00:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4702.54,
      "stop": 4696.038,
      "target": 4715.545,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.88,
        "bb_width_pct": 0.392
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T00-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T00:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4704.57,
      "stop": 4701.115,
      "target": 4711.48,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.25,
        "bb_width_pct": 0.414
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T00-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T00:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4704.57,
      "stop": 4699.082,
      "target": 4715.545,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.25,
        "bb_width_pct": 0.414
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T00-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T00:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4704.57,
      "stop": 4701.348,
      "target": 4711.015,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.25,
        "bb_width_pct": 0.414
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T00-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T00:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4711.075,
      "stop": 4708.915,
      "target": 4715.395,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 2.32,
        "bb_width_pct": 0.413
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T01-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4713.11,
      "stop": 4712.566,
      "target": 4714.198,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 2.65,
        "bb_width_pct": 0.41
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T01-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T01:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4720.845,
      "stop": 4725.231,
      "target": 4712.072,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.42,
        "bb_width_pct": 0.488
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T01-15-00Z_short_rsi_range_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T01:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4720.845,
      "stop": 4725.231,
      "target": 4712.072,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 17.42,
        "bb_width_pct": 0.488
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T01-15-00Z_short_vwap_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T01:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4720.845,
      "stop": 4725.854,
      "target": 4710.827,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 17.42,
        "bb_width_pct": 0.488
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T01-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T01:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4718.15,
      "stop": 4721.586,
      "target": 4711.278,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.12,
        "bb_width_pct": 0.518
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T02-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T02:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4722.17,
      "stop": 4725.189,
      "target": 4716.132,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.78,
        "bb_width_pct": 0.507
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T02-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T02:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4722.17,
      "stop": 4726.474,
      "target": 4713.562,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.78,
        "bb_width_pct": 0.507
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T02-20-00Z_short_vwap_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T02:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4726.5,
      "stop": 4732.204,
      "target": 4715.092,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.09,
        "bb_width_pct": 0.533
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T02-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T02:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4726.5,
      "stop": 4732.837,
      "target": 4713.825,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.09,
        "bb_width_pct": 0.533
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T02-25-00Z_short_vwap_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T02:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4725.75,
      "stop": 4730.906,
      "target": 4715.437,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.82,
        "bb_width_pct": 0.546
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T02-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T02:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4725.75,
      "stop": 4731.712,
      "target": 4713.825,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.82,
        "bb_width_pct": 0.546
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T02-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4726.06,
      "stop": 4728.605,
      "target": 4720.97,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 25.61,
        "bb_width_pct": 0.528
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T02-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T02:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4731.02,
      "stop": 4736.008,
      "target": 4721.044,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.19,
        "bb_width_pct": 0.506
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T02-45-00Z_short_vwap_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4726.22,
      "stop": 4730.797,
      "target": 4717.066,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.45,
        "bb_width_pct": 0.515
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T02-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4726.22,
      "stop": 4731.394,
      "target": 4715.873,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.45,
        "bb_width_pct": 0.515
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T02-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4726.22,
      "stop": 4727.708,
      "target": 4723.244,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.45,
        "bb_width_pct": 0.515
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T02-50-00Z_short_vwap_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T02:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4723.395,
      "stop": 4726.444,
      "target": 4717.297,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 1.91,
        "bb_width_pct": 0.514
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T02-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T02:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4723.395,
      "stop": 4727.151,
      "target": 4715.882,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.91,
        "bb_width_pct": 0.514
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T03-20-00Z_long_rsi_range_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T03:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4708.85,
      "stop": 4702.149,
      "target": 4722.253,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.19,
        "bb_width_pct": 0.537
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T03-20-00Z_long_vwap_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T03:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4708.85,
      "stop": 4704.815,
      "target": 4716.919,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.19,
        "bb_width_pct": 0.537
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T03-25-00Z_long_rsi_range_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4712.67,
      "stop": 4708.113,
      "target": 4721.783,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.76,
        "bb_width_pct": 0.566
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T03-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4712.67,
      "stop": 4709.855,
      "target": 4718.299,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.76,
        "bb_width_pct": 0.566
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T03-50-00Z_long_rsi_range_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T03:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4711.485,
      "stop": 4707.653,
      "target": 4719.15,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.07,
        "bb_width_pct": 0.628
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T03-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T03:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4711.485,
      "stop": 4709.116,
      "target": 4716.223,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.07,
        "bb_width_pct": 0.628
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T03-55-00Z_long_rsi_range_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T03:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4711.64,
      "stop": 4708.267,
      "target": 4718.387,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.99,
        "bb_width_pct": 0.623
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T04-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4721.065,
      "stop": 4723.91,
      "target": 4715.375,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.86,
        "bb_width_pct": 0.341
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T04-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T04:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4724.215,
      "stop": 4728.272,
      "target": 4716.101,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.26,
        "bb_width_pct": 0.386
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T04-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T04:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4724.215,
      "stop": 4727.045,
      "target": 4718.554,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.26,
        "bb_width_pct": 0.386
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T05-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4714.015,
      "stop": 4711.92,
      "target": 4718.204,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.95,
        "bb_width_pct": 0.316
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T05-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4726.24,
      "stop": 4729.933,
      "target": 4718.853,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.34,
        "bb_width_pct": 0.319
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T05-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4719.955,
      "stop": 4720.294,
      "target": 4719.277,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.15,
        "bb_width_pct": 0.285
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T05-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T05:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4713.27,
      "stop": 4710.508,
      "target": 4718.793,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.51,
        "bb_width_pct": 0.343
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T05-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T05:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4713.27,
      "stop": 4710.298,
      "target": 4719.215,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.51,
        "bb_width_pct": 0.343
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T05-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T05:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4713.27,
      "stop": 4710.958,
      "target": 4717.895,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.51,
        "bb_width_pct": 0.343
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T06-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4720.59,
      "stop": 4722.354,
      "target": 4717.062,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.87,
        "bb_width_pct": 0.346
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T06-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T06:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4719.305,
      "stop": 4720.966,
      "target": 4715.983,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.85,
        "bb_width_pct": 0.341
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T06-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T06:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4708.26,
      "stop": 4703.694,
      "target": 4717.392,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.1,
        "bb_width_pct": 0.395
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T06-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T06:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4708.26,
      "stop": 4704.326,
      "target": 4716.128,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.1,
        "bb_width_pct": 0.395
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T07-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T07:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4725.205,
      "stop": 4729.461,
      "target": 4716.693,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.27,
        "bb_width_pct": 0.383
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T07-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T07:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4725.205,
      "stop": 4729.458,
      "target": 4716.7,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.27,
        "bb_width_pct": 0.383
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T07-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T07:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4724.44,
      "stop": 4728.201,
      "target": 4716.917,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.82,
        "bb_width_pct": 0.405
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T07-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T07:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4724.44,
      "stop": 4728.597,
      "target": 4716.125,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.82,
        "bb_width_pct": 0.405
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T07-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T07:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4724.44,
      "stop": 4727.942,
      "target": 4717.437,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.82,
        "bb_width_pct": 0.405
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T07-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T07:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4708.81,
      "stop": 4705.256,
      "target": 4715.919,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.88,
        "bb_width_pct": 0.402
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T07-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T07:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4729.225,
      "stop": 4735.004,
      "target": 4717.668,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.2,
        "bb_width_pct": 0.442
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T07-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T07:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4722.68,
      "stop": 4725.381,
      "target": 4717.278,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.18,
        "bb_width_pct": 0.446
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T07-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T07:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4722.68,
      "stop": 4725.191,
      "target": 4717.657,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.18,
        "bb_width_pct": 0.446
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T08-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T08:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4729.725,
      "stop": 4733.476,
      "target": 4722.223,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.56,
        "bb_width_pct": 0.442
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T08-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T08:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4729.725,
      "stop": 4733.192,
      "target": 4722.79,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.56,
        "bb_width_pct": 0.442
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T08-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T08:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4731.065,
      "stop": 4734.808,
      "target": 4723.578,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.48,
        "bb_width_pct": 0.469
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T08-50-00Z_short_vwap_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T08:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4729.17,
      "stop": 4732.574,
      "target": 4722.362,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.27,
        "bb_width_pct": 0.483
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T08-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T08:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4729.17,
      "stop": 4734.562,
      "target": 4718.385,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.27,
        "bb_width_pct": 0.483
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T08-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T08:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4726.17,
      "stop": 4730.062,
      "target": 4718.385,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.4,
        "bb_width_pct": 0.468
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T09-10-00Z_short_vwap_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T09:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4730.97,
      "stop": 4734.829,
      "target": 4723.252,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.24,
        "bb_width_pct": 0.337
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T09-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T09:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4730.97,
      "stop": 4737.263,
      "target": 4718.385,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.24,
        "bb_width_pct": 0.337
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T09-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T09:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4730.97,
      "stop": 4733.603,
      "target": 4725.705,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.24,
        "bb_width_pct": 0.337
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T09-15-00Z_short_vwap_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T09:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4730.79,
      "stop": 4734.419,
      "target": 4723.531,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 9.63,
        "bb_width_pct": 0.345
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T09-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T09:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4730.79,
      "stop": 4736.993,
      "target": 4718.385,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.63,
        "bb_width_pct": 0.345
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T09-25-00Z_short_vwap_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T09:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4729.97,
      "stop": 4732.939,
      "target": 4724.033,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.08,
        "bb_width_pct": 0.326
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T09-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T09:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4729.97,
      "stop": 4735.763,
      "target": 4718.385,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.08,
        "bb_width_pct": 0.326
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T09-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T09:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4726.815,
      "stop": 4730.954,
      "target": 4718.538,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.96,
        "bb_width_pct": 0.268
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T09-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T09:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4728.545,
      "stop": 4733.549,
      "target": 4718.538,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.99,
        "bb_width_pct": 0.238
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T10-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T10:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4729.025,
      "stop": 4734.269,
      "target": 4718.538,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.49,
        "bb_width_pct": 0.212
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T10-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T10:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4727.425,
      "stop": 4731.381,
      "target": 4719.512,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.41,
        "bb_width_pct": 0.148
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T10-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T10:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4729.335,
      "stop": 4729.298,
      "target": 4729.409,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.65,
        "bb_width_pct": 0.147
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T10-25-00Z_short_vwap_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T10:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4738.205,
      "stop": 4741.663,
      "target": 4731.288,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 9.87,
        "bb_width_pct": 0.269
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T10-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T10:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4738.205,
      "stop": 4746.177,
      "target": 4722.26,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.87,
        "bb_width_pct": 0.269
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T10-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T10:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4740.69,
      "stop": 4744.992,
      "target": 4732.087,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.76,
        "bb_width_pct": 0.365
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T10-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T10:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4741.12,
      "stop": 4744.716,
      "target": 4733.928,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.49,
        "bb_width_pct": 0.497
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T10-55-00Z_short_rsi_range_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T10:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4741.12,
      "stop": 4744.716,
      "target": 4733.928,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 18.49,
        "bb_width_pct": 0.497
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T10-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T10:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4741.12,
      "stop": 4747.173,
      "target": 4729.015,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.49,
        "bb_width_pct": 0.497
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T10-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T10:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4741.12,
      "stop": 4743.996,
      "target": 4735.368,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.49,
        "bb_width_pct": 0.497
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T11-00-00Z_short_rsi_range_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4740.775,
      "stop": 4743.966,
      "target": 4734.393,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 16.48,
        "bb_width_pct": 0.51
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T11-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4740.775,
      "stop": 4746.547,
      "target": 4729.23,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 16.48,
        "bb_width_pct": 0.51
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T11-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4740.775,
      "stop": 4743.221,
      "target": 4735.883,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.48,
        "bb_width_pct": 0.51
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T11-05-00Z_short_rsi_range_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T11:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4740.3,
      "stop": 4742.995,
      "target": 4734.91,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 16.34,
        "bb_width_pct": 0.513
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T11-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T11:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4740.3,
      "stop": 4745.835,
      "target": 4729.23,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 16.34,
        "bb_width_pct": 0.513
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T11-10-00Z_short_rsi_range_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T11:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4739.34,
      "stop": 4741.319,
      "target": 4735.382,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 15.3,
        "bb_width_pct": 0.51
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T11-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T11:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4743.865,
      "stop": 4746.86,
      "target": 4737.875,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.87,
        "bb_width_pct": 0.516
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T11-30-00Z_short_vwap_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T11:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4745.145,
      "stop": 4748.4,
      "target": 4738.636,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.54,
        "bb_width_pct": 0.505
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T11-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T11:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4745.145,
      "stop": 4750.703,
      "target": 4734.03,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.54,
        "bb_width_pct": 0.505
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T11-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T11:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4745.145,
      "stop": 4748.087,
      "target": 4739.26,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.54,
        "bb_width_pct": 0.505
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T11-50-00Z_short_rsi_range_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T11:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4756.315,
      "stop": 4762.792,
      "target": 4743.361,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 19.49,
        "bb_width_pct": 0.525
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T11-50-00Z_short_vwap_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T11:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4756.315,
      "stop": 4763.974,
      "target": 4740.997,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 19.49,
        "bb_width_pct": 0.525
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T11-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T11:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4756.315,
      "stop": 4764.372,
      "target": 4740.2,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 19.49,
        "bb_width_pct": 0.525
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T12-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4750.965,
      "stop": 4753.765,
      "target": 4745.366,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.6,
        "bb_width_pct": 0.503
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T12-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4750.965,
      "stop": 4756.219,
      "target": 4740.458,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.6,
        "bb_width_pct": 0.503
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T12-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4750.965,
      "stop": 4753.564,
      "target": 4745.767,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.6,
        "bb_width_pct": 0.503
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T12-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T12:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4739.66,
      "stop": 4737.314,
      "target": 4744.353,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.27,
        "bb_width_pct": 0.474
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T12-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T12:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4737.94,
      "stop": 4735.039,
      "target": 4743.742,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.06,
        "bb_width_pct": 0.495
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T13-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T13:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4754.65,
      "stop": 4759.439,
      "target": 4745.072,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.32,
        "bb_width_pct": 0.501
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T13-15-00Z_short_vwap_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T13:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4753.43,
      "stop": 4757.7,
      "target": 4744.89,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.83,
        "bb_width_pct": 0.515
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T13-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T13:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4753.43,
      "stop": 4759.231,
      "target": 4741.827,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.83,
        "bb_width_pct": 0.515
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T13-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T13:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4753.43,
      "stop": 4757.211,
      "target": 4745.868,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.83,
        "bb_width_pct": 0.515
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T13-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T13:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4754.12,
      "stop": 4757.853,
      "target": 4746.654,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.74,
        "bb_width_pct": 0.526
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T13-25-00Z_short_rsi_range_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T13:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4752.725,
      "stop": 4755.708,
      "target": 4746.759,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 14.19,
        "bb_width_pct": 0.507
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T13-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T13:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4752.725,
      "stop": 4758.174,
      "target": 4741.827,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.19,
        "bb_width_pct": 0.507
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T13-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4771.795,
      "stop": 4782.666,
      "target": 4750.053,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 27.03,
        "bb_width_pct": 0.928
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T13-45-00Z_short_rsi_range_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4771.795,
      "stop": 4782.666,
      "target": 4750.053,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 27.03,
        "bb_width_pct": 0.928
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T13-45-00Z_short_vwap_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4771.795,
      "stop": 4782.8,
      "target": 4749.785,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 27.03,
        "bb_width_pct": 0.928
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T13-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4771.795,
      "stop": 4779.655,
      "target": 4756.075,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 27.03,
        "bb_width_pct": 0.928
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T13-50-00Z_short_vwap_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T13:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4763.8,
      "stop": 4770.473,
      "target": 4750.454,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 19.57,
        "bb_width_pct": 0.949
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T13-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T13:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4763.8,
      "stop": 4767.663,
      "target": 4756.075,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 19.57,
        "bb_width_pct": 0.949
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T13-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T13:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4763.8,
      "stop": 4767.993,
      "target": 4755.415,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.57,
        "bb_width_pct": 0.949
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T13-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T13:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4764.51,
      "stop": 4768.625,
      "target": 4756.281,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.37,
        "bb_width_pct": 0.951
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T14-05-00Z_short_vwap_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T14:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4767.27,
      "stop": 4774.653,
      "target": 4752.504,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 20.49,
        "bb_width_pct": 0.964
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T14-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T14:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4767.27,
      "stop": 4772.868,
      "target": 4756.075,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 20.49,
        "bb_width_pct": 0.964
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T14-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T14:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4767.27,
      "stop": 4771.532,
      "target": 4758.747,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.49,
        "bb_width_pct": 0.964
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T14-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T14:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4770.87,
      "stop": 4776.354,
      "target": 4759.901,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.63,
        "bb_width_pct": 0.968
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T14-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T14:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4761.67,
      "stop": 4764.468,
      "target": 4756.075,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.58,
        "bb_width_pct": 0.928
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T14-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T14:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4765.675,
      "stop": 4770.475,
      "target": 4756.075,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.79,
        "bb_width_pct": 0.863
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T15-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T15:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4779.0,
      "stop": 4784.869,
      "target": 4767.261,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.86,
        "bb_width_pct": 0.654
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T15-25-00Z_short_vwap_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T15:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4779.0,
      "stop": 4789.488,
      "target": 4758.024,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.86,
        "bb_width_pct": 0.654
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T15-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T15:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4779.0,
      "stop": 4788.181,
      "target": 4760.637,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.86,
        "bb_width_pct": 0.654
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T15-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T15:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4779.0,
      "stop": 4784.674,
      "target": 4767.653,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.86,
        "bb_width_pct": 0.654
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T15-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T15:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4790.48,
      "stop": 4800.25,
      "target": 4770.94,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 25.81,
        "bb_width_pct": 0.968
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T15-40-00Z_short_rsi_range_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T15:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4790.48,
      "stop": 4800.25,
      "target": 4770.94,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 25.81,
        "bb_width_pct": 0.968
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T15-40-00Z_short_vwap_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T15:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4790.48,
      "stop": 4805.61,
      "target": 4760.22,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 25.81,
        "bb_width_pct": 0.968
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T15-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T15:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4790.48,
      "stop": 4802.395,
      "target": 4766.65,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 25.81,
        "bb_width_pct": 0.968
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T15-45-00Z_short_rsi_range_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T15:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4784.82,
      "stop": 4791.321,
      "target": 4771.817,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 24.09,
        "bb_width_pct": 0.997
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T15-45-00Z_short_vwap_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T15:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4784.82,
      "stop": 4796.818,
      "target": 4760.825,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 24.09,
        "bb_width_pct": 0.997
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T15-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T15:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4784.82,
      "stop": 4793.882,
      "target": 4766.695,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 24.09,
        "bb_width_pct": 0.997
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T15-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T15:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4784.82,
      "stop": 4789.79,
      "target": 4774.88,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 24.09,
        "bb_width_pct": 0.997
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T15-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T15:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4788.02,
      "stop": 4793.964,
      "target": 4776.132,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.83,
        "bb_width_pct": 1.04
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T16-05-00Z_short_vwap_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T16:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4792.585,
      "stop": 4807.202,
      "target": 4763.35,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 23.59,
        "bb_width_pct": 1.177
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T16-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T16:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4792.585,
      "stop": 4803.894,
      "target": 4769.967,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 23.59,
        "bb_width_pct": 1.177
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T16-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T16:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4792.585,
      "stop": 4798.465,
      "target": 4780.824,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 23.59,
        "bb_width_pct": 1.177
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T16-10-00Z_short_vwap_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T16:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4788.12,
      "stop": 4800.242,
      "target": 4763.876,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 21.19,
        "bb_width_pct": 1.122
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T16-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T16:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4788.12,
      "stop": 4797.196,
      "target": 4769.967,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 21.19,
        "bb_width_pct": 1.122
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T16-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T16:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4788.12,
      "stop": 4791.421,
      "target": 4781.519,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.19,
        "bb_width_pct": 1.122
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T16-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T16:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4795.985,
      "stop": 4802.529,
      "target": 4782.897,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.33,
        "bb_width_pct": 1.099
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T16-20-00Z_short_vwap_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T16:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4795.04,
      "stop": 4810.045,
      "target": 4765.029,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 9.47,
        "bb_width_pct": 1.024
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T16-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T16:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4795.04,
      "stop": 4806.579,
      "target": 4771.962,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.47,
        "bb_width_pct": 1.024
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T16-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T16:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4795.04,
      "stop": 4800.533,
      "target": 4784.053,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.47,
        "bb_width_pct": 1.024
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T16-25-00Z_short_vwap_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T16:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4792.74,
      "stop": 4806.337,
      "target": 4765.545,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.07,
        "bb_width_pct": 0.959
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T16-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T16:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4792.74,
      "stop": 4801.965,
      "target": 4774.29,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.07,
        "bb_width_pct": 0.959
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T16-35-00Z_short_vwap_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4792.655,
      "stop": 4805.723,
      "target": 4766.518,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.36,
        "bb_width_pct": 0.843
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T16-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4792.655,
      "stop": 4801.837,
      "target": 4774.29,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.36,
        "bb_width_pct": 0.843
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T16-40-00Z_short_vwap_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T16:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4787.545,
      "stop": 4797.863,
      "target": 4766.909,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.27,
        "bb_width_pct": 0.721
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T16-45-00Z_short_vwap_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4784.79,
      "stop": 4793.563,
      "target": 4767.244,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.89,
        "bb_width_pct": 0.542
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T17-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T17:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4792.565,
      "stop": 4801.702,
      "target": 4774.29,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.45,
        "bb_width_pct": 0.308
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T17-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T17:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4792.565,
      "stop": 4794.146,
      "target": 4789.402,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.45,
        "bb_width_pct": 0.308
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T17-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T17:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4798.95,
      "stop": 4802.185,
      "target": 4792.48,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.6,
        "bb_width_pct": 0.298
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T17-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T17:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4798.95,
      "stop": 4802.966,
      "target": 4790.918,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.6,
        "bb_width_pct": 0.298
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T17-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T17:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4795.315,
      "stop": 4796.776,
      "target": 4792.393,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.32,
        "bb_width_pct": 0.29
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T17-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T17:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4795.315,
      "stop": 4805.827,
      "target": 4774.29,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.32,
        "bb_width_pct": 0.29
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T17-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T17:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4795.315,
      "stop": 4797.304,
      "target": 4791.337,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.32,
        "bb_width_pct": 0.29
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T17-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T17:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4800.54,
      "stop": 4804.414,
      "target": 4792.791,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.39,
        "bb_width_pct": 0.326
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T17-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T17:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4800.54,
      "stop": 4804.703,
      "target": 4792.213,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.39,
        "bb_width_pct": 0.326
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T17-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T17:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4798.07,
      "stop": 4809.932,
      "target": 4774.345,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.19,
        "bb_width_pct": 0.326
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T17-55-00Z_short_rsi_range_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T17:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4797.91,
      "stop": 4800.173,
      "target": 4793.385,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 12.23,
        "bb_width_pct": 0.333
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T17-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T17:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4797.91,
      "stop": 4808.7,
      "target": 4776.33,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.23,
        "bb_width_pct": 0.333
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T18-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T18:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4785.715,
      "stop": 4782.113,
      "target": 4792.918,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.01,
        "bb_width_pct": 0.359
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T18-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T18:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4785.715,
      "stop": 4789.421,
      "target": 4778.302,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.01,
        "bb_width_pct": 0.359
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T18-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T18:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4785.715,
      "stop": 4782.302,
      "target": 4792.542,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.01,
        "bb_width_pct": 0.359
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T18-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T18:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4785.785,
      "stop": 4782.392,
      "target": 4792.571,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.68,
        "bb_width_pct": 0.382
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T18-05-00Z_long_vwap_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T18:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4785.785,
      "stop": 4781.767,
      "target": 4793.82,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.68,
        "bb_width_pct": 0.382
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T18-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T18:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4785.785,
      "stop": 4782.728,
      "target": 4791.898,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.68,
        "bb_width_pct": 0.382
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T18-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T18:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4783.825,
      "stop": 4779.721,
      "target": 4792.033,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.59,
        "bb_width_pct": 0.412
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T18-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T18:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4783.825,
      "stop": 4780.173,
      "target": 4791.129,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.59,
        "bb_width_pct": 0.412
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T18-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T18:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4780.215,
      "stop": 4774.66,
      "target": 4791.325,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.36,
        "bb_width_pct": 0.47
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T18-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T18:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4780.215,
      "stop": 4775.506,
      "target": 4789.633,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.36,
        "bb_width_pct": 0.47
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T18-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T18:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4782.125,
      "stop": 4777.592,
      "target": 4791.192,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.47,
        "bb_width_pct": 0.485
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T18-25-00Z_long_vwap_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T18:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4782.125,
      "stop": 4777.456,
      "target": 4791.463,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.47,
        "bb_width_pct": 0.485
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T18-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4777.285,
      "stop": 4772.022,
      "target": 4787.81,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.01,
        "bb_width_pct": 0.546
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T18-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T18:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4776.505,
      "stop": 4769.763,
      "target": 4789.99,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.14,
        "bb_width_pct": 0.604
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T18-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T18:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4776.505,
      "stop": 4771.391,
      "target": 4786.734,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.14,
        "bb_width_pct": 0.604
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T18-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T18:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4772.64,
      "stop": 4764.935,
      "target": 4788.05,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.13,
        "bb_width_pct": 0.756
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T18-45-00Z_long_rsi_range_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T18:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4772.64,
      "stop": 4764.935,
      "target": 4788.05,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.13,
        "bb_width_pct": 0.756
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T18-45-00Z_long_vwap_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T18:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4772.64,
      "stop": 4764.788,
      "target": 4788.343,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.13,
        "bb_width_pct": 0.756
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T18-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T18:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4772.64,
      "stop": 4766.475,
      "target": 4784.97,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 22.13,
        "bb_width_pct": 0.756
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T18-55-00Z_long_rsi_range_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T18:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4772.115,
      "stop": 4765.371,
      "target": 4785.603,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.02,
        "bb_width_pct": 0.832
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T18-55-00Z_long_vwap_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T18:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4772.115,
      "stop": 4764.701,
      "target": 4786.943,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.02,
        "bb_width_pct": 0.832
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T18-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T18:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4772.115,
      "stop": 4765.827,
      "target": 4784.69,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 26.02,
        "bb_width_pct": 0.832
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T18-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T18:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4772.115,
      "stop": 4767.345,
      "target": 4781.655,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.02,
        "bb_width_pct": 0.832
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T19-00-00Z_long_rsi_range_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T19:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4776.38,
      "stop": 4772.173,
      "target": 4784.794,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.91,
        "bb_width_pct": 0.837
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T19-00-00Z_long_vwap_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T19:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4776.38,
      "stop": 4771.356,
      "target": 4786.427,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.91,
        "bb_width_pct": 0.837
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T19-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T19:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4776.38,
      "stop": 4772.225,
      "target": 4784.69,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 20.91,
        "bb_width_pct": 0.837
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T19-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T19:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4776.38,
      "stop": 4773.994,
      "target": 4781.153,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.91,
        "bb_width_pct": 0.837
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T19-20-00Z_long_vwap_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T19:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4775.985,
      "stop": 4771.367,
      "target": 4785.221,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.94,
        "bb_width_pct": 0.736
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T19-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T19:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4775.985,
      "stop": 4771.632,
      "target": 4784.69,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.94,
        "bb_width_pct": 0.736
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T19-40-00Z_long_vwap_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T19:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4772.285,
      "stop": 4766.542,
      "target": 4783.772,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.15,
        "bb_width_pct": 0.418
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T19-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T19:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4772.285,
      "stop": 4766.082,
      "target": 4784.69,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.15,
        "bb_width_pct": 0.418
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T19-50-00Z_long_vwap_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T19:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4772.115,
      "stop": 4766.643,
      "target": 4783.059,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.69,
        "bb_width_pct": 0.372
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T19-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T19:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4772.115,
      "stop": 4765.827,
      "target": 4784.69,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.69,
        "bb_width_pct": 0.372
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T19-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T19:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4768.865,
      "stop": 4765.499,
      "target": 4775.598,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.41,
        "bb_width_pct": 0.331
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T20-00-00Z_long_vwap_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T20:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4770.67,
      "stop": 4764.841,
      "target": 4782.328,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.88,
        "bb_width_pct": 0.318
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T20-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T20:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4770.67,
      "stop": 4763.924,
      "target": 4784.163,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.88,
        "bb_width_pct": 0.318
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T20-05-00Z_long_vwap_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T20:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4770.755,
      "stop": 4765.126,
      "target": 4782.012,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.73,
        "bb_width_pct": 0.282
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T20-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T20:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4770.755,
      "stop": 4764.051,
      "target": 4784.163,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.73,
        "bb_width_pct": 0.282
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T20-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T20:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4770.74,
      "stop": 4769.72,
      "target": 4772.78,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.91,
        "bb_width_pct": 0.275
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T20-15-00Z_long_rsi_range_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T20:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4770.74,
      "stop": 4769.72,
      "target": 4772.78,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.91,
        "bb_width_pct": 0.275
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T20-15-00Z_long_vwap_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T20:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4770.74,
      "stop": 4765.41,
      "target": 4781.399,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.91,
        "bb_width_pct": 0.275
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T20-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T20:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4770.74,
      "stop": 4764.029,
      "target": 4784.163,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 13.91,
        "bb_width_pct": 0.275
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T20-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T20:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4770.74,
      "stop": 4769.157,
      "target": 4773.905,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.91,
        "bb_width_pct": 0.275
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T20-20-00Z_long_vwap_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T20:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4772.16,
      "stop": 4767.655,
      "target": 4781.169,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.92,
        "bb_width_pct": 0.272
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T20-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T20:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4772.16,
      "stop": 4766.346,
      "target": 4783.788,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 2.92,
        "bb_width_pct": 0.272
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T20-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4764.48,
      "stop": 4760.867,
      "target": 4771.705,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.71,
        "bb_width_pct": 0.338
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T20-45-00Z_long_vwap_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T20:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4765.215,
      "stop": 4758.006,
      "target": 4779.632,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.8,
        "bb_width_pct": 0.299
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T20-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T20:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4765.215,
      "stop": 4757.266,
      "target": 4781.113,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.8,
        "bb_width_pct": 0.299
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T20-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T20:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4765.215,
      "stop": 4762.404,
      "target": 4770.837,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.8,
        "bb_width_pct": 0.299
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T20-50-00Z_long_vwap_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T20:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4767.9,
      "stop": 4762.166,
      "target": 4779.367,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.95,
        "bb_width_pct": 0.25
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T20-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T20:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4767.9,
      "stop": 4761.294,
      "target": 4781.113,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 3.95,
        "bb_width_pct": 0.25
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T20-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T20:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4767.9,
      "stop": 4766.571,
      "target": 4770.557,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.95,
        "bb_width_pct": 0.25
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T22-00-00Z_short_vwap_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T22:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4772.22,
      "stop": 4786.906,
      "target": 4742.849,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.9,
        "bb_width_pct": 0.231
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T22-05-00Z_short_vwap_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T22:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4770.74,
      "stop": 4784.162,
      "target": 4743.897,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.14,
        "bb_width_pct": 0.217
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T22-15-00Z_short_vwap_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T22:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4766.355,
      "stop": 4776.694,
      "target": 4745.677,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.54,
        "bb_width_pct": 0.216
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T22-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T22:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4767.375,
      "stop": 4763.224,
      "target": 4775.677,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.07,
        "bb_width_pct": 0.209
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T22-25-00Z_short_vwap_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T22:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4764.605,
      "stop": 4773.366,
      "target": 4747.083,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.47,
        "bb_width_pct": 0.222
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T22-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T22:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4765.2,
      "stop": 4763.646,
      "target": 4768.308,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.01,
        "bb_width_pct": 0.22
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T22-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T22:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4765.2,
      "stop": 4760.487,
      "target": 4774.625,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.01,
        "bb_width_pct": 0.22
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T22-35-00Z_short_vwap_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T22:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4759.835,
      "stop": 4765.699,
      "target": 4748.106,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.13,
        "bb_width_pct": 0.269
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T22-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T22:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4761.32,
      "stop": 4758.285,
      "target": 4767.389,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.13,
        "bb_width_pct": 0.288
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T22-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T22:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4761.32,
      "stop": 4756.269,
      "target": 4771.423,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.13,
        "bb_width_pct": 0.288
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T22-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T22:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4761.32,
      "stop": 4758.313,
      "target": 4767.334,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.13,
        "bb_width_pct": 0.288
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T22-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T22:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4760.66,
      "stop": 4757.548,
      "target": 4766.884,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.43,
        "bb_width_pct": 0.305
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T22-45-00Z_short_vwap_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T22:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4760.66,
      "stop": 4766.559,
      "target": 4748.862,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.43,
        "bb_width_pct": 0.305
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T22-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T22:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4760.66,
      "stop": 4757.641,
      "target": 4766.699,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.43,
        "bb_width_pct": 0.305
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T22-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T22:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4761.995,
      "stop": 4759.744,
      "target": 4766.497,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.42,
        "bb_width_pct": 0.313
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T22-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T22:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4761.995,
      "stop": 4757.567,
      "target": 4770.85,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.42,
        "bb_width_pct": 0.313
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T22-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T22:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4761.995,
      "stop": 4759.867,
      "target": 4766.251,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.42,
        "bb_width_pct": 0.313
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T22-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T22:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4764.315,
      "stop": 4761.096,
      "target": 4770.753,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.96,
        "bb_width_pct": 0.304
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T23-00-00Z_short_vwap_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4762.73,
      "stop": 4769.123,
      "target": 4749.944,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.38,
        "bb_width_pct": 0.287
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T23-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4762.115,
      "stop": 4760.514,
      "target": 4765.317,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.95,
        "bb_width_pct": 0.282
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T23-05-00Z_short_vwap_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4762.115,
      "stop": 4768.055,
      "target": 4750.235,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.95,
        "bb_width_pct": 0.282
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T23-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4762.115,
      "stop": 4760.471,
      "target": 4765.402,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.95,
        "bb_width_pct": 0.282
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T23-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4759.775,
      "stop": 4757.238,
      "target": 4764.849,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.21,
        "bb_width_pct": 0.29
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T23-10-00Z_short_vwap_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4759.775,
      "stop": 4764.422,
      "target": 4750.48,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 16.21,
        "bb_width_pct": 0.29
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T23-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4759.775,
      "stop": 4757.229,
      "target": 4764.867,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.21,
        "bb_width_pct": 0.29
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T23-15-00Z_long_rsi_range_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4760.545,
      "stop": 4758.492,
      "target": 4764.651,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.04,
        "bb_width_pct": 0.3
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T23-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4760.545,
      "stop": 4755.82,
      "target": 4769.995,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.04,
        "bb_width_pct": 0.3
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T23-20-00Z_short_vwap_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T23:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4758.08,
      "stop": 4761.655,
      "target": 4750.929,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.9,
        "bb_width_pct": 0.324
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T23-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T23:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4758.425,
      "stop": 4752.685,
      "target": 4769.905,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.94,
        "bb_width_pct": 0.34
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T23-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4761.75,
      "stop": 4758.156,
      "target": 4768.938,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.94,
        "bb_width_pct": 0.334
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T23-35-00Z_short_vwap_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4760.865,
      "stop": 4765.522,
      "target": 4751.552,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.89,
        "bb_width_pct": 0.336
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T23-40-00Z_short_vwap_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4760.09,
      "stop": 4764.267,
      "target": 4751.737,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.49,
        "bb_width_pct": 0.296
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T23-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4762.46,
      "stop": 4759.815,
      "target": 4767.75,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 2.2,
        "bb_width_pct": 0.254
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-09T23-50-00Z_short_vwap_mean_reversion",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T23:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4762.22,
      "stop": 4767.246,
      "target": 4752.167,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.04,
        "bb_width_pct": 0.204
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T00-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4757.54,
      "stop": 4755.6,
      "target": 4761.42,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.93,
        "bb_width_pct": 0.175
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T00-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4757.54,
      "stop": 4755.187,
      "target": 4762.246,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.93,
        "bb_width_pct": 0.175
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T00-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T00:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4755.26,
      "stop": 4752.822,
      "target": 4760.135,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.54,
        "bb_width_pct": 0.241
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T00-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T00:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4755.26,
      "stop": 4751.941,
      "target": 4761.898,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.54,
        "bb_width_pct": 0.241
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T00-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T00:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4755.26,
      "stop": 4752.748,
      "target": 4760.284,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.54,
        "bb_width_pct": 0.241
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T00-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T00:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4754.0,
      "stop": 4751.115,
      "target": 4759.769,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.8,
        "bb_width_pct": 0.265
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T00-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T00:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4754.0,
      "stop": 4751.157,
      "target": 4759.685,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.8,
        "bb_width_pct": 0.265
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T00-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T00:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4753.83,
      "stop": 4751.031,
      "target": 4759.428,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.77,
        "bb_width_pct": 0.286
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T00-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T00:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4753.83,
      "stop": 4751.181,
      "target": 4759.128,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.77,
        "bb_width_pct": 0.286
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T00-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4759.11,
      "stop": 4757.716,
      "target": 4761.898,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.06,
        "bb_width_pct": 0.281
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T01-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4761.1,
      "stop": 4762.4,
      "target": 4758.501,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.76,
        "bb_width_pct": 0.275
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T01-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4761.1,
      "stop": 4762.134,
      "target": 4759.032,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.76,
        "bb_width_pct": 0.275
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T01-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T01:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4759.495,
      "stop": 4759.966,
      "target": 4758.554,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.53,
        "bb_width_pct": 0.276
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T01-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T01:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4763.71,
      "stop": 4766.24,
      "target": 4758.65,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.13,
        "bb_width_pct": 0.286
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T01-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T01:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4771.735,
      "stop": 4777.475,
      "target": 4760.254,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.94,
        "bb_width_pct": 0.495
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T01-40-00Z_short_vwap_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T01:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4771.735,
      "stop": 4777.595,
      "target": 4760.015,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.94,
        "bb_width_pct": 0.495
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T01-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T01:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4771.735,
      "stop": 4775.614,
      "target": 4763.977,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.94,
        "bb_width_pct": 0.495
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T01-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T01:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4771.735,
      "stop": 4776.057,
      "target": 4763.091,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.94,
        "bb_width_pct": 0.495
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T01-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T01:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4766.635,
      "stop": 4769.519,
      "target": 4760.867,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.61,
        "bb_width_pct": 0.495
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T01-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T01:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4766.635,
      "stop": 4767.964,
      "target": 4763.977,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.61,
        "bb_width_pct": 0.495
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T01-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T01:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4766.635,
      "stop": 4768.238,
      "target": 4763.428,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.61,
        "bb_width_pct": 0.495
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T02-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T02:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4752.6,
      "stop": 4747.936,
      "target": 4761.929,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.81,
        "bb_width_pct": 0.473
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T02-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T02:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4752.6,
      "stop": 4748.071,
      "target": 4761.658,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.81,
        "bb_width_pct": 0.473
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T02-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T02:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4744.82,
      "stop": 4737.1,
      "target": 4760.26,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.49,
        "bb_width_pct": 0.669
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T02-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4744.04,
      "stop": 4736.234,
      "target": 4759.651,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.38,
        "bb_width_pct": 0.729
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T02-35-00Z_long_vwap_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T02:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4747.84,
      "stop": 4742.712,
      "target": 4758.095,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.97,
        "bb_width_pct": 0.757
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T02-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T02:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4747.84,
      "stop": 4742.879,
      "target": 4757.762,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 21.97,
        "bb_width_pct": 0.757
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T02-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T02:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4747.84,
      "stop": 4744.021,
      "target": 4755.478,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.97,
        "bb_width_pct": 0.757
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T02-40-00Z_long_rsi_range_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T02:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4749.815,
      "stop": 4745.563,
      "target": 4758.319,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.52,
        "bb_width_pct": 0.773
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T03-40-00Z_short_rsi_range_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T03:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4765.185,
      "stop": 4770.626,
      "target": 4754.303,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 27.38,
        "bb_width_pct": 0.561
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T03-40-00Z_short_vwap_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T03:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4765.185,
      "stop": 4768.914,
      "target": 4757.727,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 27.38,
        "bb_width_pct": 0.561
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T03-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T03:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4767.06,
      "stop": 4773.252,
      "target": 4754.676,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 27.81,
        "bb_width_pct": 0.601
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T03-50-00Z_short_rsi_range_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T03:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4764.75,
      "stop": 4769.483,
      "target": 4755.284,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 25.03,
        "bb_width_pct": 0.627
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T03-50-00Z_short_vwap_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T03:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4764.75,
      "stop": 4768.078,
      "target": 4758.094,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 25.03,
        "bb_width_pct": 0.627
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T03-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T03:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4764.75,
      "stop": 4767.388,
      "target": 4759.474,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 25.03,
        "bb_width_pct": 0.627
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T04-05-00Z_short_rsi_range_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4765.825,
      "stop": 4769.557,
      "target": 4758.361,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 19.7,
        "bb_width_pct": 0.605
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T04-05-00Z_short_vwap_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4765.825,
      "stop": 4769.441,
      "target": 4758.592,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 19.7,
        "bb_width_pct": 0.605
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T04-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4765.825,
      "stop": 4768.091,
      "target": 4761.293,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.7,
        "bb_width_pct": 0.605
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T04-20-00Z_short_vwap_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4766.81,
      "stop": 4770.655,
      "target": 4759.12,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 9.37,
        "bb_width_pct": 0.516
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T04-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4766.81,
      "stop": 4768.664,
      "target": 4763.101,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.37,
        "bb_width_pct": 0.516
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T04-25-00Z_short_vwap_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T04:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4765.61,
      "stop": 4768.789,
      "target": 4759.253,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.46,
        "bb_width_pct": 0.464
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T04-30-00Z_short_vwap_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T04:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4763.78,
      "stop": 4765.997,
      "target": 4759.347,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.27,
        "bb_width_pct": 0.392
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T04-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T04:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4758.52,
      "stop": 4756.367,
      "target": 4762.826,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.67,
        "bb_width_pct": 0.286
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T05-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4762.34,
      "stop": 4761.319,
      "target": 4764.382,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.57,
        "bb_width_pct": 0.266
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T05-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4762.34,
      "stop": 4762.12,
      "target": 4762.78,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.57,
        "bb_width_pct": 0.266
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T05-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4760.01,
      "stop": 4757.734,
      "target": 4764.562,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.64,
        "bb_width_pct": 0.23
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T05-35-00Z_short_vwap_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4765.155,
      "stop": 4767.796,
      "target": 4759.872,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.74,
        "bb_width_pct": 0.25
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T05-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4765.155,
      "stop": 4770.481,
      "target": 4754.502,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.74,
        "bb_width_pct": 0.25
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T05-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4765.155,
      "stop": 4766.475,
      "target": 4762.516,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.74,
        "bb_width_pct": 0.25
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T05-40-00Z_short_vwap_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4764.935,
      "stop": 4767.433,
      "target": 4759.94,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.9,
        "bb_width_pct": 0.242
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T05-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4764.935,
      "stop": 4770.151,
      "target": 4754.502,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.9,
        "bb_width_pct": 0.242
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T05-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4767.11,
      "stop": 4768.924,
      "target": 4763.483,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.53,
        "bb_width_pct": 0.244
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T05-55-00Z_short_vwap_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T05:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4765.945,
      "stop": 4768.807,
      "target": 4760.22,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.73,
        "bb_width_pct": 0.207
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T05-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T05:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4765.945,
      "stop": 4769.585,
      "target": 4758.665,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.73,
        "bb_width_pct": 0.207
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T06-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T06:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4756.53,
      "stop": 4753.531,
      "target": 4762.528,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.54,
        "bb_width_pct": 0.232
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T06-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T06:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4753.92,
      "stop": 4750.129,
      "target": 4761.502,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.41,
        "bb_width_pct": 0.324
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T06-20-00Z_long_vwap_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T06:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4753.92,
      "stop": 4750.845,
      "target": 4760.07,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.41,
        "bb_width_pct": 0.324
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T06-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T06:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4753.92,
      "stop": 4750.073,
      "target": 4761.615,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.41,
        "bb_width_pct": 0.324
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T06-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T06:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4755.52,
      "stop": 4752.73,
      "target": 4761.101,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.14,
        "bb_width_pct": 0.339
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T06-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T06:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4755.52,
      "stop": 4752.584,
      "target": 4761.392,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.14,
        "bb_width_pct": 0.339
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T06-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T06:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4755.52,
      "stop": 4753.097,
      "target": 4760.367,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.14,
        "bb_width_pct": 0.339
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T06-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4758.185,
      "stop": 4756.581,
      "target": 4761.392,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 2.99,
        "bb_width_pct": 0.342
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T06-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4752.45,
      "stop": 4748.391,
      "target": 4760.568,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.34,
        "bb_width_pct": 0.373
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T06-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4752.45,
      "stop": 4748.963,
      "target": 4759.425,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.34,
        "bb_width_pct": 0.373
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T06-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T06:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4750.94,
      "stop": 4746.411,
      "target": 4759.998,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.12,
        "bb_width_pct": 0.41
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T07-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T07:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4750.73,
      "stop": 4747.538,
      "target": 4757.115,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.97,
        "bb_width_pct": 0.616
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T07-00-00Z_long_rsi_range_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T07:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4750.73,
      "stop": 4747.538,
      "target": 4757.115,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.97,
        "bb_width_pct": 0.616
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T07-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T07:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4750.73,
      "stop": 4747.636,
      "target": 4756.917,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 19.97,
        "bb_width_pct": 0.616
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T07-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T07:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4750.73,
      "stop": 4748.757,
      "target": 4754.675,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.97,
        "bb_width_pct": 0.616
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T08-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T08:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4745.705,
      "stop": 4743.299,
      "target": 4750.516,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.19,
        "bb_width_pct": 0.299
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T08-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T08:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4745.705,
      "stop": 4742.699,
      "target": 4751.718,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.19,
        "bb_width_pct": 0.299
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T08-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T08:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4746.305,
      "stop": 4741.734,
      "target": 4755.448,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.69,
        "bb_width_pct": 0.308
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T08-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T08:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4746.305,
      "stop": 4743.856,
      "target": 4751.202,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.69,
        "bb_width_pct": 0.308
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T08-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T08:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4747.035,
      "stop": 4742.829,
      "target": 4755.448,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.93,
        "bb_width_pct": 0.291
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T08-50-00Z_long_rsi_range_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T08:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4736.545,
      "stop": 4730.242,
      "target": 4749.152,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.95,
        "bb_width_pct": 0.466
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T08-50-00Z_long_vwap_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T08:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4736.545,
      "stop": 4730.201,
      "target": 4749.234,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.95,
        "bb_width_pct": 0.466
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T08-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T08:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4736.545,
      "stop": 4729.16,
      "target": 4751.315,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 23.95,
        "bb_width_pct": 0.466
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T08-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T08:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4740.975,
      "stop": 4737.184,
      "target": 4748.556,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.63,
        "bb_width_pct": 0.483
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T08-55-00Z_long_vwap_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T08:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4740.975,
      "stop": 4737.05,
      "target": 4748.825,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.63,
        "bb_width_pct": 0.483
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T08-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T08:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4740.975,
      "stop": 4736.431,
      "target": 4750.062,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.63,
        "bb_width_pct": 0.483
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T08-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T08:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4740.975,
      "stop": 4738.073,
      "target": 4746.779,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.63,
        "bb_width_pct": 0.483
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T09-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T09:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4753.065,
      "stop": 4756.003,
      "target": 4747.188,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.8,
        "bb_width_pct": 0.47
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T09-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T09:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4753.065,
      "stop": 4755.874,
      "target": 4747.448,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.8,
        "bb_width_pct": 0.47
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T09-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T09:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4753.065,
      "stop": 4755.581,
      "target": 4748.034,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.8,
        "bb_width_pct": 0.47
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T10-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T10:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4758.365,
      "stop": 4762.948,
      "target": 4749.199,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.36,
        "bb_width_pct": 0.477
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T10-25-00Z_short_vwap_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T10:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4758.365,
      "stop": 4761.973,
      "target": 4751.148,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.36,
        "bb_width_pct": 0.477
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T10-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T10:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4758.365,
      "stop": 4764.632,
      "target": 4745.83,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.36,
        "bb_width_pct": 0.477
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T10-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T10:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4754.435,
      "stop": 4758.738,
      "target": 4745.83,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.85,
        "bb_width_pct": 0.415
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T10-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T10:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4754.435,
      "stop": 4755.746,
      "target": 4751.812,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.85,
        "bb_width_pct": 0.415
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T10-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T10:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4757.3,
      "stop": 4763.035,
      "target": 4745.83,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.47,
        "bb_width_pct": 0.372
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T10-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T10:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4757.3,
      "stop": 4759.374,
      "target": 4753.151,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.47,
        "bb_width_pct": 0.372
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T11-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T11:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4755.76,
      "stop": 4760.725,
      "target": 4745.83,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.61,
        "bb_width_pct": 0.377
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T11-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T11:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4755.72,
      "stop": 4760.665,
      "target": 4745.83,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 16.7,
        "bb_width_pct": 0.363
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T11-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T11:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4761.165,
      "stop": 4764.039,
      "target": 4755.418,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.21,
        "bb_width_pct": 0.373
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T11-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T11:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4761.935,
      "stop": 4764.883,
      "target": 4756.038,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.54,
        "bb_width_pct": 0.382
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T11-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T11:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4759.3,
      "stop": 4765.625,
      "target": 4746.65,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.77,
        "bb_width_pct": 0.38
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T11-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T11:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4759.3,
      "stop": 4760.775,
      "target": 4756.349,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.77,
        "bb_width_pct": 0.38
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T11-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T11:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4761.725,
      "stop": 4764.157,
      "target": 4756.861,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.7,
        "bb_width_pct": 0.386
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T11-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T11:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4763.685,
      "stop": 4766.424,
      "target": 4758.207,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.58,
        "bb_width_pct": 0.349
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T11-45-00Z_short_vwap_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T11:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4763.685,
      "stop": 4767.11,
      "target": 4756.835,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.58,
        "bb_width_pct": 0.349
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T11-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T11:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4763.685,
      "stop": 4770.973,
      "target": 4749.11,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.58,
        "bb_width_pct": 0.349
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T11-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T11:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4763.685,
      "stop": 4766.315,
      "target": 4758.425,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.58,
        "bb_width_pct": 0.349
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T11-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T11:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4764.77,
      "stop": 4767.614,
      "target": 4759.082,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.93,
        "bb_width_pct": 0.299
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T11-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T11:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4764.77,
      "stop": 4767.64,
      "target": 4759.029,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.93,
        "bb_width_pct": 0.299
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T12-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4766.9,
      "stop": 4770.211,
      "target": 4760.278,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.72,
        "bb_width_pct": 0.34
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T12-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4766.9,
      "stop": 4775.425,
      "target": 4749.85,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.72,
        "bb_width_pct": 0.34
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T12-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4766.9,
      "stop": 4770.059,
      "target": 4760.581,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.72,
        "bb_width_pct": 0.34
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T12-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T12:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4764.91,
      "stop": 4772.148,
      "target": 4750.435,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.21,
        "bb_width_pct": 0.348
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T12-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T12:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4764.91,
      "stop": 4766.868,
      "target": 4760.994,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.21,
        "bb_width_pct": 0.348
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T12-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T12:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4768.41,
      "stop": 4771.785,
      "target": 4761.66,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.66,
        "bb_width_pct": 0.367
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T12-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T12:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4768.41,
      "stop": 4771.513,
      "target": 4762.205,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.66,
        "bb_width_pct": 0.367
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T12-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T12:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4760.32,
      "stop": 4762.226,
      "target": 4756.507,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.6,
        "bb_width_pct": 0.349
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T12-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T12:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4776.29,
      "stop": 4782.3,
      "target": 4764.271,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.47,
        "bb_width_pct": 0.509
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T12-35-00Z_short_vwap_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T12:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4776.29,
      "stop": 4780.428,
      "target": 4768.014,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 18.47,
        "bb_width_pct": 0.509
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T12-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T12:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4776.29,
      "stop": 4783.227,
      "target": 4762.415,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.47,
        "bb_width_pct": 0.509
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T12-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T12:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4772.795,
      "stop": 4776.73,
      "target": 4764.924,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.4,
        "bb_width_pct": 0.524
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T12-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T12:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4772.795,
      "stop": 4777.959,
      "target": 4762.467,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.4,
        "bb_width_pct": 0.524
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T12-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T12:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4772.795,
      "stop": 4776.293,
      "target": 4765.8,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.4,
        "bb_width_pct": 0.524
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T13-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T13:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4775.92,
      "stop": 4779.176,
      "target": 4769.408,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.31,
        "bb_width_pct": 0.427
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T13-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4770.16,
      "stop": 4772.967,
      "target": 4764.545,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.01,
        "bb_width_pct": 0.416
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T14-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T14:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4775.86,
      "stop": 4779.794,
      "target": 4767.993,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.36,
        "bb_width_pct": 0.299
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T14-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4788.12,
      "stop": 4793.519,
      "target": 4777.323,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.62,
        "bb_width_pct": 0.551
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T14-30-00Z_short_vwap_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4788.12,
      "stop": 4795.31,
      "target": 4773.74,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.62,
        "bb_width_pct": 0.551
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T14-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4788.12,
      "stop": 4795.341,
      "target": 4773.677,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.62,
        "bb_width_pct": 0.551
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T14-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4788.12,
      "stop": 4792.892,
      "target": 4778.577,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.62,
        "bb_width_pct": 0.551
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T14-35-00Z_short_vwap_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T14:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4787.06,
      "stop": 4793.491,
      "target": 4774.199,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.96,
        "bb_width_pct": 0.568
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T14-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T14:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4787.06,
      "stop": 4792.389,
      "target": 4776.403,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.96,
        "bb_width_pct": 0.568
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T15-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T15:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4766.15,
      "stop": 4759.561,
      "target": 4779.327,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.77,
        "bb_width_pct": 0.655
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T15-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T15:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4766.15,
      "stop": 4761.627,
      "target": 4775.195,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 16.77,
        "bb_width_pct": 0.655
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T15-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T15:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4766.15,
      "stop": 4761.242,
      "target": 4775.966,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.77,
        "bb_width_pct": 0.655
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T15-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T15:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4762.34,
      "stop": 4755.077,
      "target": 4776.865,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.77,
        "bb_width_pct": 0.754
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T15-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T15:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4762.34,
      "stop": 4756.951,
      "target": 4773.118,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.77,
        "bb_width_pct": 0.754
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T16-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T16:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4756.44,
      "stop": 4747.989,
      "target": 4773.342,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.96,
        "bb_width_pct": 0.822
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T16-05-00Z_long_vwap_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T16:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4756.44,
      "stop": 4747.902,
      "target": 4773.516,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.96,
        "bb_width_pct": 0.822
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T16-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T16:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4756.44,
      "stop": 4747.552,
      "target": 4774.215,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.96,
        "bb_width_pct": 0.822
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T16-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T16:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4763.435,
      "stop": 4760.509,
      "target": 4769.286,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.27,
        "bb_width_pct": 0.79
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T16-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T16:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4761.005,
      "stop": 4757.575,
      "target": 4767.865,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.97,
        "bb_width_pct": 0.75
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T16-30-00Z_long_rsi_range_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T16:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4761.21,
      "stop": 4757.569,
      "target": 4768.492,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.23,
        "bb_width_pct": 0.781
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T16-30-00Z_long_vwap_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T16:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4761.21,
      "stop": 4755.644,
      "target": 4772.341,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.23,
        "bb_width_pct": 0.781
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T16-35-00Z_long_vwap_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4762.435,
      "stop": 4757.567,
      "target": 4772.172,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.42,
        "bb_width_pct": 0.779
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T16-45-00Z_long_vwap_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4761.485,
      "stop": 4756.361,
      "target": 4771.732,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.9,
        "bb_width_pct": 0.757
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T17-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T17:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4762.96,
      "stop": 4763.495,
      "target": 4761.89,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.38,
        "bb_width_pct": 0.273
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T18-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T18:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4756.475,
      "stop": 4753.951,
      "target": 4761.523,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.63,
        "bb_width_pct": 0.266
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T18-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T18:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4756.475,
      "stop": 4751.004,
      "target": 4767.417,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.63,
        "bb_width_pct": 0.266
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T18-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T18:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4756.475,
      "stop": 4753.965,
      "target": 4761.496,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.63,
        "bb_width_pct": 0.266
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T18-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T18:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4764.785,
      "stop": 4766.022,
      "target": 4762.311,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.77,
        "bb_width_pct": 0.281
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T18-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T18:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4771.87,
      "stop": 4776.188,
      "target": 4763.235,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.49,
        "bb_width_pct": 0.367
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T18-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T18:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4771.87,
      "stop": 4775.568,
      "target": 4764.474,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.49,
        "bb_width_pct": 0.367
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T18-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T18:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4768.275,
      "stop": 4770.592,
      "target": 4763.641,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.87,
        "bb_width_pct": 0.373
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T18-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T18:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4768.275,
      "stop": 4769.994,
      "target": 4764.836,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.87,
        "bb_width_pct": 0.373
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T19-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T19:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4767.75,
      "stop": 4771.444,
      "target": 4760.363,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.32,
        "bb_width_pct": 0.375
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T19-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T19:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4759.895,
      "stop": 4757.073,
      "target": 4765.539,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.64,
        "bb_width_pct": 0.287
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T20-05-00Z_long_rsi_range_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T20:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4754.04,
      "stop": 4748.89,
      "target": 4764.34,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.01,
        "bb_width_pct": 0.417
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T20-05-00Z_long_vwap_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T20:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4754.04,
      "stop": 4749.329,
      "target": 4763.461,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.01,
        "bb_width_pct": 0.417
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T20-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T20:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4754.04,
      "stop": 4749.929,
      "target": 4762.263,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 24.01,
        "bb_width_pct": 0.417
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T20-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T20:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4753.57,
      "stop": 4748.63,
      "target": 4763.451,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.15,
        "bb_width_pct": 0.438
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T20-30-00Z_long_rsi_range_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T20:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4747.14,
      "stop": 4740.963,
      "target": 4759.494,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 27.84,
        "bb_width_pct": 0.613
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T20-30-00Z_long_vwap_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T20:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4747.14,
      "stop": 4739.786,
      "target": 4761.848,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 27.84,
        "bb_width_pct": 0.613
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T20-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T20:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4747.14,
      "stop": 4742.12,
      "target": 4757.18,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 27.84,
        "bb_width_pct": 0.613
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T20-35-00Z_long_rsi_range_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T20:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4750.01,
      "stop": 4745.653,
      "target": 4758.723,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.57,
        "bb_width_pct": 0.625
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T20-35-00Z_long_vwap_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T20:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4750.01,
      "stop": 4744.239,
      "target": 4761.553,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.57,
        "bb_width_pct": 0.625
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T20-40-00Z_long_rsi_range_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4751.23,
      "stop": 4747.881,
      "target": 4757.927,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.66,
        "bb_width_pct": 0.617
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T20-40-00Z_long_vwap_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4751.23,
      "stop": 4746.184,
      "target": 4761.322,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.66,
        "bb_width_pct": 0.617
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T20-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T20:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4749.26,
      "stop": 4746.561,
      "target": 4754.658,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.23,
        "bb_width_pct": 0.599
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T20-55-00Z_long_rsi_range_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T20:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4749.685,
      "stop": 4746.873,
      "target": 4755.308,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.54,
        "bb_width_pct": 0.553
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T20-55-00Z_long_vwap_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T20:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4749.685,
      "stop": 4744.223,
      "target": 4760.61,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.54,
        "bb_width_pct": 0.553
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-10T20-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T20:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4749.685,
      "stop": 4747.435,
      "target": 4754.185,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.54,
        "bb_width_pct": 0.553
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-12T23-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-12",
      "timestamp": "2026-04-12T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4657.78,
      "stop": 4632.876,
      "target": 4707.587,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 3.15,
        "bb_width_pct": 0.607
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-12T23-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-12",
      "timestamp": "2026-04-12T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4660.195,
      "stop": 4637.78,
      "target": 4705.025,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 2.31,
        "bb_width_pct": 0.541
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-12T23-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-12",
      "timestamp": "2026-04-12T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4660.195,
      "stop": 4656.435,
      "target": 4667.716,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.31,
        "bb_width_pct": 0.541
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-12T23-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-12",
      "timestamp": "2026-04-12T23:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4666.825,
      "stop": 4671.662,
      "target": 4657.152,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.48,
        "bb_width_pct": 0.435
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-12T23-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-12",
      "timestamp": "2026-04-12T23:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4666.825,
      "stop": 4647.844,
      "target": 4704.788,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.48,
        "bb_width_pct": 0.435
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T00-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4668.49,
      "stop": 4673.834,
      "target": 4657.801,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.37,
        "bb_width_pct": 0.506
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T00-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T00:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4672.465,
      "stop": 4678.744,
      "target": 4659.907,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.07,
        "bb_width_pct": 0.572
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T00-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T00:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4673.56,
      "stop": 4679.978,
      "target": 4660.724,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.02,
        "bb_width_pct": 0.623
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T00-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T00:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4677.85,
      "stop": 4684.609,
      "target": 4664.332,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 25.07,
        "bb_width_pct": 0.799
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T00-35-00Z_short_rsi_range_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T00:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4677.85,
      "stop": 4684.609,
      "target": 4664.332,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 25.07,
        "bb_width_pct": 0.799
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T00-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T00:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4677.85,
      "stop": 4680.992,
      "target": 4671.566,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 25.07,
        "bb_width_pct": 0.799
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T00-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T00:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4678.575,
      "stop": 4681.746,
      "target": 4672.234,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 23.4,
        "bb_width_pct": 0.835
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T02-15-00Z_short_rsi_range_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T02:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4722.21,
      "stop": 4727.483,
      "target": 4711.664,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 6.16,
        "bb_width_pct": 1.111
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T02-15-00Z_short_vwap_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T02:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4722.21,
      "stop": 4733.228,
      "target": 4700.174,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.16,
        "bb_width_pct": 1.111
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T02-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T02:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4722.21,
      "stop": 4740.142,
      "target": 4686.345,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.16,
        "bb_width_pct": 1.111
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T02-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T02:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4722.21,
      "stop": 4727.87,
      "target": 4710.89,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.16,
        "bb_width_pct": 1.111
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T02-20-00Z_short_vwap_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T02:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4720.93,
      "stop": 4730.951,
      "target": 4700.888,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.08,
        "bb_width_pct": 0.916
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T02-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T02:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4720.93,
      "stop": 4738.222,
      "target": 4686.345,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.08,
        "bb_width_pct": 0.916
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T02-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T02:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4720.93,
      "stop": 4725.472,
      "target": 4711.846,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.08,
        "bb_width_pct": 0.916
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T02-25-00Z_short_vwap_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T02:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4720.025,
      "stop": 4729.252,
      "target": 4701.572,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.27,
        "bb_width_pct": 0.761
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T02-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T02:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4720.025,
      "stop": 4736.865,
      "target": 4686.345,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.27,
        "bb_width_pct": 0.761
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T02-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T02:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4720.025,
      "stop": 4723.725,
      "target": 4712.625,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.27,
        "bb_width_pct": 0.761
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T02-35-00Z_short_vwap_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T02:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4715.93,
      "stop": 4722.48,
      "target": 4702.831,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.62,
        "bb_width_pct": 0.432
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T02-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T02:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4715.93,
      "stop": 4730.722,
      "target": 4686.345,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.62,
        "bb_width_pct": 0.432
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T02-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T02:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4715.93,
      "stop": 4716.868,
      "target": 4714.054,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.62,
        "bb_width_pct": 0.432
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T02-40-00Z_short_vwap_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T02:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4715.49,
      "stop": 4721.608,
      "target": 4703.254,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 1.73,
        "bb_width_pct": 0.346
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T02-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T02:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4715.49,
      "stop": 4729.375,
      "target": 4687.72,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.73,
        "bb_width_pct": 0.346
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T02-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4712.605,
      "stop": 4709.416,
      "target": 4718.984,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.92,
        "bb_width_pct": 0.304
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T02-45-00Z_short_vwap_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4712.605,
      "stop": 4717.121,
      "target": 4703.573,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 1.92,
        "bb_width_pct": 0.304
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T02-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4712.605,
      "stop": 4724.319,
      "target": 4689.177,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.92,
        "bb_width_pct": 0.304
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T02-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T02:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4718.995,
      "stop": 4718.917,
      "target": 4719.151,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.17,
        "bb_width_pct": 0.297
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T03-00-00Z_short_vwap_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4715.635,
      "stop": 4721.076,
      "target": 4704.754,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.71,
        "bb_width_pct": 0.297
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T03-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4715.635,
      "stop": 4727.509,
      "target": 4691.888,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.71,
        "bb_width_pct": 0.297
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T03-05-00Z_short_vwap_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T03:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4714.92,
      "stop": 4719.876,
      "target": 4705.008,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.11,
        "bb_width_pct": 0.306
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T03-10-00Z_short_vwap_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T03:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4713.895,
      "stop": 4718.225,
      "target": 4705.234,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.27,
        "bb_width_pct": 0.318
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T03-35-00Z_short_vwap_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T03:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4718.935,
      "stop": 4725.053,
      "target": 4706.7,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.98,
        "bb_width_pct": 0.297
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T03-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T03:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4718.935,
      "stop": 4729.083,
      "target": 4698.64,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.98,
        "bb_width_pct": 0.297
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T03-45-00Z_short_vwap_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T03:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4720.885,
      "stop": 4727.663,
      "target": 4707.33,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.29,
        "bb_width_pct": 0.285
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T03-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T03:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4720.885,
      "stop": 4731.507,
      "target": 4699.64,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.29,
        "bb_width_pct": 0.285
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T03-50-00Z_short_vwap_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T03:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4718.6,
      "stop": 4724.109,
      "target": 4707.582,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 9.43,
        "bb_width_pct": 0.273
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T03-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T03:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4718.6,
      "stop": 4726.924,
      "target": 4701.953,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.43,
        "bb_width_pct": 0.273
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T03-55-00Z_short_vwap_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T03:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4718.17,
      "stop": 4723.349,
      "target": 4707.812,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 1.38,
        "bb_width_pct": 0.264
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T04-00-00Z_short_vwap_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T04:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4714.975,
      "stop": 4718.478,
      "target": 4707.969,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 9.68,
        "bb_width_pct": 0.265
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T04-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4712.735,
      "stop": 4710.275,
      "target": 4717.656,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.67,
        "bb_width_pct": 0.279
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T04-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4712.735,
      "stop": 4710.675,
      "target": 4716.854,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.67,
        "bb_width_pct": 0.279
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T04-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T04:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4714.755,
      "stop": 4713.575,
      "target": 4717.116,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.28,
        "bb_width_pct": 0.238
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T04-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T04:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4712.355,
      "stop": 4710.064,
      "target": 4716.937,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.5,
        "bb_width_pct": 0.253
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T04-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4712.55,
      "stop": 4710.43,
      "target": 4716.79,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.78,
        "bb_width_pct": 0.265
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T04-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T04:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4713.325,
      "stop": 4711.724,
      "target": 4716.527,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.28,
        "bb_width_pct": 0.266
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T04-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T04:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4713.325,
      "stop": 4710.771,
      "target": 4718.433,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.28,
        "bb_width_pct": 0.266
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T04-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T04:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4723.23,
      "stop": 4726.38,
      "target": 4716.929,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.75,
        "bb_width_pct": 0.296
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T04-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T04:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4723.16,
      "stop": 4726.084,
      "target": 4717.313,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.37,
        "bb_width_pct": 0.315
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T04-55-00Z_short_vwap_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T04:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4723.16,
      "stop": 4730.082,
      "target": 4709.316,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.37,
        "bb_width_pct": 0.315
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T04-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T04:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4723.16,
      "stop": 4726.181,
      "target": 4717.119,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.37,
        "bb_width_pct": 0.315
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T05-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4721.62,
      "stop": 4723.663,
      "target": 4717.534,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.36,
        "bb_width_pct": 0.325
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T05-00-00Z_short_vwap_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4721.62,
      "stop": 4727.659,
      "target": 4709.541,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.36,
        "bb_width_pct": 0.325
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T05-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4721.62,
      "stop": 4723.214,
      "target": 4718.433,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.36,
        "bb_width_pct": 0.325
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T05-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4721.62,
      "stop": 4723.656,
      "target": 4717.547,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.36,
        "bb_width_pct": 0.325
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T05-05-00Z_short_vwap_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4721.285,
      "stop": 4727.059,
      "target": 4709.737,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 9.73,
        "bb_width_pct": 0.332
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T05-10-00Z_short_vwap_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4719.585,
      "stop": 4724.424,
      "target": 4709.907,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.77,
        "bb_width_pct": 0.326
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T05-15-00Z_short_vwap_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4717.15,
      "stop": 4720.704,
      "target": 4710.042,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.93,
        "bb_width_pct": 0.325
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T05-20-00Z_short_vwap_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4716.535,
      "stop": 4719.725,
      "target": 4710.155,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.0,
        "bb_width_pct": 0.312
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T05-40-00Z_short_vwap_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4721.305,
      "stop": 4726.559,
      "target": 4710.798,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.01,
        "bb_width_pct": 0.343
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T05-50-00Z_short_vwap_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4720.835,
      "stop": 4725.687,
      "target": 4711.131,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.21,
        "bb_width_pct": 0.334
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T05-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4720.835,
      "stop": 4722.48,
      "target": 4717.545,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.21,
        "bb_width_pct": 0.334
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T06-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4726.26,
      "stop": 4729.254,
      "target": 4720.273,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.6,
        "bb_width_pct": 0.358
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T06-00-00Z_short_vwap_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4726.26,
      "stop": 4733.61,
      "target": 4711.559,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.6,
        "bb_width_pct": 0.358
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T06-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4726.26,
      "stop": 4729.503,
      "target": 4719.775,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.6,
        "bb_width_pct": 0.358
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T06-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4726.26,
      "stop": 4728.83,
      "target": 4721.119,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.6,
        "bb_width_pct": 0.358
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T06-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4728.14,
      "stop": 4731.695,
      "target": 4721.029,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.45,
        "bb_width_pct": 0.357
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T06-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4728.14,
      "stop": 4731.316,
      "target": 4721.788,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.45,
        "bb_width_pct": 0.357
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T06-10-00Z_short_vwap_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T06:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4726.13,
      "stop": 4733.209,
      "target": 4711.972,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.07,
        "bb_width_pct": 0.335
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T06-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T06:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4726.13,
      "stop": 4729.308,
      "target": 4719.775,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.07,
        "bb_width_pct": 0.335
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T06-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T06:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4728.795,
      "stop": 4731.94,
      "target": 4722.504,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.03,
        "bb_width_pct": 0.304
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T06-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T06:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4728.795,
      "stop": 4731.778,
      "target": 4722.829,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.03,
        "bb_width_pct": 0.304
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T06-20-00Z_short_vwap_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T06:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4727.26,
      "stop": 4734.695,
      "target": 4712.389,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.47,
        "bb_width_pct": 0.307
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T06-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T06:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4727.26,
      "stop": 4730.806,
      "target": 4720.167,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.47,
        "bb_width_pct": 0.307
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T06-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T06:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4731.705,
      "stop": 4735.529,
      "target": 4724.056,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.09,
        "bb_width_pct": 0.337
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T06-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4729.47,
      "stop": 4732.266,
      "target": 4723.877,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.05,
        "bb_width_pct": 0.354
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T06-30-00Z_short_vwap_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4729.47,
      "stop": 4737.787,
      "target": 4712.836,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.05,
        "bb_width_pct": 0.354
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T06-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4729.47,
      "stop": 4734.015,
      "target": 4720.38,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.05,
        "bb_width_pct": 0.354
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T06-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4729.47,
      "stop": 4731.919,
      "target": 4724.572,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.05,
        "bb_width_pct": 0.354
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T06-35-00Z_short_vwap_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4726.975,
      "stop": 4733.95,
      "target": 4713.024,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.24,
        "bb_width_pct": 0.358
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T06-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4726.975,
      "stop": 4730.105,
      "target": 4720.715,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.24,
        "bb_width_pct": 0.358
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T06-40-00Z_short_vwap_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T06:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4726.435,
      "stop": 4733.056,
      "target": 4713.194,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.85,
        "bb_width_pct": 0.357
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T06-45-00Z_short_vwap_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T06:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4721.605,
      "stop": 4725.751,
      "target": 4713.313,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.41,
        "bb_width_pct": 0.356
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T07-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T07:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4726.67,
      "stop": 4726.824,
      "target": 4726.362,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.5,
        "bb_width_pct": 0.326
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T07-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T07:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4726.67,
      "stop": 4728.166,
      "target": 4723.677,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.5,
        "bb_width_pct": 0.326
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T07-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T07:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4726.67,
      "stop": 4726.992,
      "target": 4726.027,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.5,
        "bb_width_pct": 0.326
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T07-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T07:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4734.625,
      "stop": 4737.063,
      "target": 4729.75,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.95,
        "bb_width_pct": 0.34
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T07-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T07:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4734.625,
      "stop": 4739.641,
      "target": 4724.593,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.95,
        "bb_width_pct": 0.34
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T07-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T07:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4734.625,
      "stop": 4736.974,
      "target": 4729.927,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.95,
        "bb_width_pct": 0.34
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T07-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T07:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4733.92,
      "stop": 4737.847,
      "target": 4726.065,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.46,
        "bb_width_pct": 0.348
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T08-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T08:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4734.34,
      "stop": 4737.405,
      "target": 4728.21,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.29,
        "bb_width_pct": 0.369
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T08-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T08:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4728.755,
      "stop": 4727.197,
      "target": 4731.872,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.67,
        "bb_width_pct": 0.289
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T08-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T08:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4728.755,
      "stop": 4728.581,
      "target": 4729.102,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.67,
        "bb_width_pct": 0.289
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T08-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T08:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4728.755,
      "stop": 4727.867,
      "target": 4730.531,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.67,
        "bb_width_pct": 0.289
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T08-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T08:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4725.34,
      "stop": 4722.147,
      "target": 4731.727,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.31,
        "bb_width_pct": 0.307
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T09-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4727.21,
      "stop": 4725.7,
      "target": 4730.23,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.94,
        "bb_width_pct": 0.349
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T09-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T09:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4719.335,
      "stop": 4714.04,
      "target": 4729.924,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.33,
        "bb_width_pct": 0.474
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T09-10-00Z_long_rsi_range_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T09:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4719.335,
      "stop": 4714.04,
      "target": 4729.924,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.33,
        "bb_width_pct": 0.474
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T09-10-00Z_long_vwap_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T09:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4719.335,
      "stop": 4713.868,
      "target": 4730.269,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.33,
        "bb_width_pct": 0.474
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T09-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T09:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4719.335,
      "stop": 4714.611,
      "target": 4728.782,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 19.33,
        "bb_width_pct": 0.474
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T09-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T09:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4719.335,
      "stop": 4715.357,
      "target": 4727.292,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.33,
        "bb_width_pct": 0.474
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T09-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T09:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4720.235,
      "stop": 4715.632,
      "target": 4729.442,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.64,
        "bb_width_pct": 0.507
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T09-15-00Z_long_vwap_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T09:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4720.235,
      "stop": 4715.414,
      "target": 4729.877,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.64,
        "bb_width_pct": 0.507
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T09-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T09:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4720.235,
      "stop": 4716.341,
      "target": 4728.023,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 16.64,
        "bb_width_pct": 0.507
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T09-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T09:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4720.235,
      "stop": 4717.043,
      "target": 4726.62,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.64,
        "bb_width_pct": 0.507
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T09-20-00Z_long_vwap_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T09:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4721.0,
      "stop": 4716.734,
      "target": 4729.531,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.5,
        "bb_width_pct": 0.526
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T09-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T09:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4721.0,
      "stop": 4717.489,
      "target": 4728.023,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.5,
        "bb_width_pct": 0.526
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T09-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T09:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4721.0,
      "stop": 4718.458,
      "target": 4726.085,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.5,
        "bb_width_pct": 0.526
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T09-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T09:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4715.24,
      "stop": 4709.016,
      "target": 4727.688,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.13,
        "bb_width_pct": 0.545
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T09-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4716.135,
      "stop": 4711.308,
      "target": 4725.789,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.23,
        "bb_width_pct": 0.593
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T09-35-00Z_long_vwap_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4716.135,
      "stop": 4710.08,
      "target": 4728.246,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.23,
        "bb_width_pct": 0.593
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T09-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4716.135,
      "stop": 4710.694,
      "target": 4727.017,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 19.23,
        "bb_width_pct": 0.593
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T09-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4716.135,
      "stop": 4712.559,
      "target": 4723.286,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.23,
        "bb_width_pct": 0.593
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T09-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T09:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4714.48,
      "stop": 4709.371,
      "target": 4724.698,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.78,
        "bb_width_pct": 0.591
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T09-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T09:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4714.48,
      "stop": 4710.496,
      "target": 4722.448,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.78,
        "bb_width_pct": 0.591
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T09-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T09:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4713.94,
      "stop": 4710.091,
      "target": 4721.637,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.81,
        "bb_width_pct": 0.592
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T09-50-00Z_long_vwap_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T09:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4715.51,
      "stop": 4709.747,
      "target": 4727.037,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.15,
        "bb_width_pct": 0.581
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T09-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T09:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4715.51,
      "stop": 4710.606,
      "target": 4725.317,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 16.15,
        "bb_width_pct": 0.581
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T10-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T10:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4715.73,
      "stop": 4710.936,
      "target": 4725.317,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.89,
        "bb_width_pct": 0.526
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T10-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T10:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4718.48,
      "stop": 4715.061,
      "target": 4725.317,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 11.75,
        "bb_width_pct": 0.48
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T10-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T10:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4712.555,
      "stop": 4710.103,
      "target": 4717.459,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.86,
        "bb_width_pct": 0.351
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T10-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T10:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4712.555,
      "stop": 4706.174,
      "target": 4725.317,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.86,
        "bb_width_pct": 0.351
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T10-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T10:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4712.555,
      "stop": 4709.91,
      "target": 4717.845,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.86,
        "bb_width_pct": 0.351
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T10-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T10:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4716.02,
      "stop": 4711.931,
      "target": 4724.198,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.19,
        "bb_width_pct": 0.317
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T10-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T10:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4721.805,
      "stop": 4724.492,
      "target": 4716.431,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.47,
        "bb_width_pct": 0.231
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T10-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T10:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4720.175,
      "stop": 4722.026,
      "target": 4716.473,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.91,
        "bb_width_pct": 0.235
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T11-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4725.27,
      "stop": 4728.262,
      "target": 4719.286,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.47,
        "bb_width_pct": 0.286
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T11-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T11:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4723.03,
      "stop": 4725.959,
      "target": 4717.172,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.2,
        "bb_width_pct": 0.306
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T11-05-00Z_short_vwap_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T11:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4723.03,
      "stop": 4725.615,
      "target": 4717.86,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.2,
        "bb_width_pct": 0.306
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T11-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T11:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4723.03,
      "stop": 4724.724,
      "target": 4719.643,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.2,
        "bb_width_pct": 0.306
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T11-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T11:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4712.085,
      "stop": 4708.897,
      "target": 4718.46,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.4,
        "bb_width_pct": 0.317
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T11-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T11:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4708.66,
      "stop": 4704.207,
      "target": 4717.566,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.34,
        "bb_width_pct": 0.411
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T11-45-00Z_long_vwap_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T11:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4708.66,
      "stop": 4704.233,
      "target": 4717.514,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.34,
        "bb_width_pct": 0.411
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T11-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T11:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4708.66,
      "stop": 4702.836,
      "target": 4720.308,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 13.34,
        "bb_width_pct": 0.411
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T11-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T11:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4707.95,
      "stop": 4703.395,
      "target": 4717.061,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.73,
        "bb_width_pct": 0.447
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T11-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T11:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4707.135,
      "stop": 4702.326,
      "target": 4716.753,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.24,
        "bb_width_pct": 0.479
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T12-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4709.465,
      "stop": 4705.882,
      "target": 4716.632,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.76,
        "bb_width_pct": 0.49
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T12-00-00Z_long_rsi_range_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4709.465,
      "stop": 4705.882,
      "target": 4716.632,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.76,
        "bb_width_pct": 0.49
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T12-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4709.465,
      "stop": 4705.849,
      "target": 4716.698,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.76,
        "bb_width_pct": 0.49
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T12-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4709.465,
      "stop": 4706.743,
      "target": 4714.91,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.76,
        "bb_width_pct": 0.49
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T12-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T12:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4710.625,
      "stop": 4707.786,
      "target": 4716.302,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.5,
        "bb_width_pct": 0.511
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T12-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T12:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4710.625,
      "stop": 4708.963,
      "target": 4713.95,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.5,
        "bb_width_pct": 0.511
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T12-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T12:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4723.86,
      "stop": 4728.67,
      "target": 4714.239,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.17,
        "bb_width_pct": 0.449
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T12-55-00Z_short_vwap_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T12:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4723.48,
      "stop": 4727.812,
      "target": 4714.815,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 17.13,
        "bb_width_pct": 0.468
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T13-20-00Z_short_vwap_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T13:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4731.03,
      "stop": 4736.783,
      "target": 4719.524,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 18.86,
        "bb_width_pct": 0.767
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T13-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T13:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4731.03,
      "stop": 4736.361,
      "target": 4720.368,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.86,
        "bb_width_pct": 0.767
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T13-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T13:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4731.03,
      "stop": 4735.413,
      "target": 4722.263,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.86,
        "bb_width_pct": 0.767
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T13-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4733.735,
      "stop": 4738.446,
      "target": 4724.313,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 26.12,
        "bb_width_pct": 0.801
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T13-35-00Z_short_rsi_range_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4727.315,
      "stop": 4730.124,
      "target": 4721.697,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 15.09,
        "bb_width_pct": 0.764
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T13-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4727.315,
      "stop": 4730.714,
      "target": 4720.517,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.09,
        "bb_width_pct": 0.764
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T13-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4727.315,
      "stop": 4728.673,
      "target": 4724.599,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.09,
        "bb_width_pct": 0.764
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T13-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T13:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4726.85,
      "stop": 4728.106,
      "target": 4724.339,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.82,
        "bb_width_pct": 0.771
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T13-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T13:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4726.85,
      "stop": 4729.258,
      "target": 4722.035,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.82,
        "bb_width_pct": 0.771
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T13-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T13:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4726.85,
      "stop": 4727.102,
      "target": 4726.345,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.82,
        "bb_width_pct": 0.771
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T14-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T14:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4717.325,
      "stop": 4712.071,
      "target": 4727.834,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.48,
        "bb_width_pct": 0.476
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T14-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T14:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4717.325,
      "stop": 4713.525,
      "target": 4724.924,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.48,
        "bb_width_pct": 0.476
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T14-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T14:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4715.58,
      "stop": 4709.593,
      "target": 4727.554,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.58,
        "bb_width_pct": 0.514
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T14-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4719.945,
      "stop": 4716.238,
      "target": 4727.358,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.73,
        "bb_width_pct": 0.529
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T14-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4719.945,
      "stop": 4717.914,
      "target": 4724.007,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.73,
        "bb_width_pct": 0.529
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T14-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T14:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4714.285,
      "stop": 4708.815,
      "target": 4725.225,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.65,
        "bb_width_pct": 0.61
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T15-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T15:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4707.875,
      "stop": 4701.767,
      "target": 4720.091,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.16,
        "bb_width_pct": 0.645
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T15-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T15:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4705.675,
      "stop": 4697.572,
      "target": 4721.882,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.75,
        "bb_width_pct": 0.69
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T15-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T15:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4707.765,
      "stop": 4701.356,
      "target": 4720.583,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.26,
        "bb_width_pct": 0.697
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T15-10-00Z_long_vwap_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T15:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4707.765,
      "stop": 4701.301,
      "target": 4720.692,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.26,
        "bb_width_pct": 0.697
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T15-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T15:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4707.765,
      "stop": 4700.346,
      "target": 4722.602,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.26,
        "bb_width_pct": 0.697
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T15-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T15:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4707.765,
      "stop": 4702.81,
      "target": 4717.675,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.26,
        "bb_width_pct": 0.697
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T15-30-00Z_long_vwap_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T15:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4709.435,
      "stop": 4704.461,
      "target": 4719.383,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.07,
        "bb_width_pct": 0.663
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T15-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T15:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4709.435,
      "stop": 4702.851,
      "target": 4722.602,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.07,
        "bb_width_pct": 0.663
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T15-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T15:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4709.435,
      "stop": 4707.184,
      "target": 4713.937,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.07,
        "bb_width_pct": 0.663
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T16-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4737.755,
      "stop": 4747.03,
      "target": 4719.205,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 25.42,
        "bb_width_pct": 0.954
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T16-45-00Z_short_rsi_range_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4737.755,
      "stop": 4747.03,
      "target": 4719.205,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 25.42,
        "bb_width_pct": 0.954
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T16-45-00Z_short_vwap_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4737.755,
      "stop": 4746.475,
      "target": 4720.314,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 25.42,
        "bb_width_pct": 0.954
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T16-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4737.755,
      "stop": 4745.331,
      "target": 4722.602,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 25.42,
        "bb_width_pct": 0.954
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T16-50-00Z_short_rsi_range_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T16:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4737.47,
      "stop": 4745.86,
      "target": 4720.691,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 21.64,
        "bb_width_pct": 0.983
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T16-50-00Z_short_vwap_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T16:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4737.47,
      "stop": 4745.891,
      "target": 4720.627,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 21.64,
        "bb_width_pct": 0.983
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T16-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T16:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4737.47,
      "stop": 4744.496,
      "target": 4723.417,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 21.64,
        "bb_width_pct": 0.983
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T16-55-00Z_short_rsi_range_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4733.215,
      "stop": 4738.819,
      "target": 4722.008,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 20.04,
        "bb_width_pct": 0.97
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T16-55-00Z_short_vwap_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4733.215,
      "stop": 4739.392,
      "target": 4720.861,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 20.04,
        "bb_width_pct": 0.97
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T16-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4733.215,
      "stop": 4736.637,
      "target": 4726.372,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.04,
        "bb_width_pct": 0.97
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T17-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T17:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4743.21,
      "stop": 4752.661,
      "target": 4724.307,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.51,
        "bb_width_pct": 0.873
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T17-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T17:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4743.21,
      "stop": 4748.735,
      "target": 4732.16,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.51,
        "bb_width_pct": 0.873
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T17-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T17:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4743.38,
      "stop": 4748.456,
      "target": 4733.229,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.73,
        "bb_width_pct": 0.832
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T17-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T17:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4744.085,
      "stop": 4753.435,
      "target": 4725.385,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.9,
        "bb_width_pct": 0.7
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T17-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T17:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4744.085,
      "stop": 4748.433,
      "target": 4735.39,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.9,
        "bb_width_pct": 0.7
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T17-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T17:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4738.835,
      "stop": 4745.56,
      "target": 4725.385,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.57,
        "bb_width_pct": 0.607
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T18-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T18:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4727.585,
      "stop": 4725.377,
      "target": 4732.002,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.91,
        "bb_width_pct": 0.57
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T19-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T19:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4743.67,
      "stop": 4748.309,
      "target": 4734.392,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 26.94,
        "bb_width_pct": 0.427
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T19-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T19:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4741.595,
      "stop": 4744.91,
      "target": 4734.966,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.98,
        "bb_width_pct": 0.438
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T19-35-00Z_short_rsi_range_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T19:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4741.595,
      "stop": 4744.91,
      "target": 4734.966,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 13.98,
        "bb_width_pct": 0.438
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T19-35-00Z_short_vwap_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T19:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4741.595,
      "stop": 4744.218,
      "target": 4736.349,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.98,
        "bb_width_pct": 0.438
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T19-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T19:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4741.595,
      "stop": 4743.841,
      "target": 4737.103,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.98,
        "bb_width_pct": 0.438
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T19-45-00Z_short_rsi_range_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T19:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4741.27,
      "stop": 4743.887,
      "target": 4736.037,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 14.35,
        "bb_width_pct": 0.449
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T19-45-00Z_short_vwap_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T19:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4741.27,
      "stop": 4743.591,
      "target": 4736.628,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.35,
        "bb_width_pct": 0.449
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T19-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T19:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4741.28,
      "stop": 4742.516,
      "target": 4738.807,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.07,
        "bb_width_pct": 0.405
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T20-10-00Z_short_vwap_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T20:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4742.635,
      "stop": 4745.241,
      "target": 4737.422,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.34,
        "bb_width_pct": 0.314
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T20-15-00Z_short_vwap_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T20:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4742.03,
      "stop": 4744.274,
      "target": 4737.541,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.85,
        "bb_width_pct": 0.28
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T22-00-00Z_short_vwap_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T22:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4746.895,
      "stop": 4761.371,
      "target": 4717.943,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 16.71,
        "bb_width_pct": 0.163
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T22-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T22:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4746.895,
      "stop": 4752.563,
      "target": 4735.56,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 16.71,
        "bb_width_pct": 0.163
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T22-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T22:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4748.31,
      "stop": 4751.205,
      "target": 4742.519,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.53,
        "bb_width_pct": 0.259
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T22-15-00Z_short_vwap_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T22:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4748.31,
      "stop": 4761.842,
      "target": 4721.246,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 16.53,
        "bb_width_pct": 0.259
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T22-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T22:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4748.31,
      "stop": 4753.553,
      "target": 4737.825,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 16.53,
        "bb_width_pct": 0.259
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T22-20-00Z_short_vwap_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T22:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4747.285,
      "stop": 4759.855,
      "target": 4722.145,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.09,
        "bb_width_pct": 0.273
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T22-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T22:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4747.285,
      "stop": 4752.015,
      "target": 4737.825,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.09,
        "bb_width_pct": 0.273
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T22-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T22:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4747.285,
      "stop": 4749.382,
      "target": 4743.09,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.09,
        "bb_width_pct": 0.273
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T22-30-00Z_short_vwap_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T22:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4747.67,
      "stop": 4759.595,
      "target": 4723.819,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 22.25,
        "bb_width_pct": 0.304
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T22-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T22:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4747.67,
      "stop": 4752.593,
      "target": 4737.825,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 22.25,
        "bb_width_pct": 0.304
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T22-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T22:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4747.67,
      "stop": 4749.492,
      "target": 4744.026,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.25,
        "bb_width_pct": 0.304
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T22-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T22:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4748.065,
      "stop": 4749.892,
      "target": 4744.411,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.75,
        "bb_width_pct": 0.313
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T22-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T22:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4751.11,
      "stop": 4754.425,
      "target": 4744.48,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 27.62,
        "bb_width_pct": 0.359
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T23-15-00Z_short_rsi_range_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4760.575,
      "stop": 4765.53,
      "target": 4750.665,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 22.91,
        "bb_width_pct": 0.662
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T23-15-00Z_short_vwap_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4760.575,
      "stop": 4775.216,
      "target": 4731.293,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 22.91,
        "bb_width_pct": 0.662
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T23-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4760.575,
      "stop": 4766.699,
      "target": 4748.328,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 22.91,
        "bb_width_pct": 0.662
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T23-20-00Z_short_vwap_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T23:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4758.555,
      "stop": 4771.849,
      "target": 4731.967,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 20.24,
        "bb_width_pct": 0.644
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T23-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T23:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4758.555,
      "stop": 4763.669,
      "target": 4748.328,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 20.24,
        "bb_width_pct": 0.644
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T23-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T23:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4758.555,
      "stop": 4761.178,
      "target": 4753.308,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.24,
        "bb_width_pct": 0.644
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T23-25-00Z_short_vwap_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T23:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4755.45,
      "stop": 4766.902,
      "target": 4732.546,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.81,
        "bb_width_pct": 0.601
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T23-30-00Z_short_vwap_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4755.31,
      "stop": 4766.42,
      "target": 4733.09,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.22,
        "bb_width_pct": 0.56
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T23-40-00Z_short_rsi_range_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4759.58,
      "stop": 4762.007,
      "target": 4754.726,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 21.29,
        "bb_width_pct": 0.505
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T23-40-00Z_short_vwap_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4759.58,
      "stop": 4772.245,
      "target": 4734.249,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 21.29,
        "bb_width_pct": 0.505
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T23-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4759.58,
      "stop": 4761.982,
      "target": 4754.776,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.29,
        "bb_width_pct": 0.505
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T23-45-00Z_short_vwap_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4758.375,
      "stop": 4770.163,
      "target": 4734.799,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.39,
        "bb_width_pct": 0.493
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T23-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4758.375,
      "stop": 4761.511,
      "target": 4752.102,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.39,
        "bb_width_pct": 0.493
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T23-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4758.375,
      "stop": 4760.003,
      "target": 4755.119,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.39,
        "bb_width_pct": 0.493
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-13T23-55-00Z_short_vwap_mean_reversion",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T23:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4757.9,
      "stop": 4768.961,
      "target": 4735.779,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.07,
        "bb_width_pct": 0.459
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T00-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T00:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4763.115,
      "stop": 4768.621,
      "target": 4752.102,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.51,
        "bb_width_pct": 0.299
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T00-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T00:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4763.115,
      "stop": 4765.956,
      "target": 4757.433,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.51,
        "bb_width_pct": 0.299
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T00-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T00:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4762.535,
      "stop": 4764.011,
      "target": 4759.583,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.6,
        "bb_width_pct": 0.263
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T00-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T00:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4762.535,
      "stop": 4767.751,
      "target": 4752.102,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.6,
        "bb_width_pct": 0.263
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T00-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T00:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4762.535,
      "stop": 4764.843,
      "target": 4757.919,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.6,
        "bb_width_pct": 0.263
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T00-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4766.245,
      "stop": 4769.312,
      "target": 4760.111,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.78,
        "bb_width_pct": 0.278
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T00-40-00Z_short_rsi_range_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T00:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4770.505,
      "stop": 4775.214,
      "target": 4761.087,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 15.42,
        "bb_width_pct": 0.385
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T00-40-00Z_short_vwap_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T00:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4770.505,
      "stop": 4774.296,
      "target": 4762.922,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.42,
        "bb_width_pct": 0.385
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T00-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T00:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4770.505,
      "stop": 4778.198,
      "target": 4755.12,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.42,
        "bb_width_pct": 0.385
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T00-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T00:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4770.815,
      "stop": 4775.534,
      "target": 4761.377,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.8,
        "bb_width_pct": 0.419
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T00-50-00Z_short_rsi_range_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T00:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4769.885,
      "stop": 4773.97,
      "target": 4761.715,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 17.07,
        "bb_width_pct": 0.446
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T00-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T00:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4769.885,
      "stop": 4776.209,
      "target": 4757.237,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.07,
        "bb_width_pct": 0.446
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T00-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T00:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4769.98,
      "stop": 4773.293,
      "target": 4763.354,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.59,
        "bb_width_pct": 0.47
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T01-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4767.86,
      "stop": 4773.171,
      "target": 4757.237,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.91,
        "bb_width_pct": 0.476
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T01-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T01:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4775.45,
      "stop": 4781.35,
      "target": 4763.651,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 25.77,
        "bb_width_pct": 0.509
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T01-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T01:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4776.23,
      "stop": 4781.997,
      "target": 4764.697,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 25.16,
        "bb_width_pct": 0.531
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T01-15-00Z_short_rsi_range_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T01:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4771.76,
      "stop": 4774.994,
      "target": 4765.292,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 14.97,
        "bb_width_pct": 0.537
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T01-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T01:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4771.76,
      "stop": 4776.834,
      "target": 4761.613,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.97,
        "bb_width_pct": 0.537
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T01-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T01:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4771.76,
      "stop": 4774.378,
      "target": 4766.525,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.97,
        "bb_width_pct": 0.537
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T01-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T01:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4770.645,
      "stop": 4775.161,
      "target": 4761.613,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.59,
        "bb_width_pct": 0.534
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T01-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T01:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4770.515,
      "stop": 4774.966,
      "target": 4761.613,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.31,
        "bb_width_pct": 0.52
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T01-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T01:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4768.185,
      "stop": 4771.343,
      "target": 4761.87,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.96,
        "bb_width_pct": 0.349
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T01-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T01:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4765.065,
      "stop": 4763.014,
      "target": 4769.167,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.07,
        "bb_width_pct": 0.304
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T02-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4767.445,
      "stop": 4766.43,
      "target": 4769.476,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.5,
        "bb_width_pct": 0.252
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T02-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4775.935,
      "stop": 4779.298,
      "target": 4769.208,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.28,
        "bb_width_pct": 0.261
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T02-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T02:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4774.72,
      "stop": 4777.298,
      "target": 4769.564,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.3,
        "bb_width_pct": 0.249
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T02-50-00Z_short_vwap_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T02:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4774.72,
      "stop": 4777.997,
      "target": 4768.166,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.3,
        "bb_width_pct": 0.249
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T02-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T02:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4774.72,
      "stop": 4779.791,
      "target": 4764.578,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.3,
        "bb_width_pct": 0.249
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T02-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T02:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4774.72,
      "stop": 4777.213,
      "target": 4769.733,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.3,
        "bb_width_pct": 0.249
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T02-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T02:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4775.225,
      "stop": 4777.969,
      "target": 4769.737,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.59,
        "bb_width_pct": 0.267
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T03-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4772.51,
      "stop": 4776.476,
      "target": 4764.578,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.56,
        "bb_width_pct": 0.272
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T04-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T04:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4776.045,
      "stop": 4778.792,
      "target": 4770.55,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.66,
        "bb_width_pct": 0.239
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T04-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T04:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4774.23,
      "stop": 4776.082,
      "target": 4770.526,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.49,
        "bb_width_pct": 0.236
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T04-30-00Z_short_vwap_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T04:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4774.23,
      "stop": 4776.833,
      "target": 4769.024,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.49,
        "bb_width_pct": 0.236
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T04-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T04:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4774.23,
      "stop": 4776.571,
      "target": 4769.548,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.49,
        "bb_width_pct": 0.236
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T04-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T04:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4774.23,
      "stop": 4775.821,
      "target": 4771.047,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.49,
        "bb_width_pct": 0.236
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T04-35-00Z_short_vwap_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4773.145,
      "stop": 4775.167,
      "target": 4769.102,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.56,
        "bb_width_pct": 0.224
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T04-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4773.145,
      "stop": 4774.944,
      "target": 4769.548,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.56,
        "bb_width_pct": 0.224
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T04-50-00Z_short_vwap_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T04:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4774.655,
      "stop": 4777.301,
      "target": 4769.362,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.92,
        "bb_width_pct": 0.252
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T04-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T04:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4774.655,
      "stop": 4777.209,
      "target": 4769.548,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.92,
        "bb_width_pct": 0.252
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T04-55-00Z_short_vwap_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T04:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4774.24,
      "stop": 4776.638,
      "target": 4769.444,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.25,
        "bb_width_pct": 0.257
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T05-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4765.505,
      "stop": 4762.587,
      "target": 4771.341,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.39,
        "bb_width_pct": 0.272
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T05-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4766.695,
      "stop": 4764.618,
      "target": 4770.848,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.13,
        "bb_width_pct": 0.273
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T05-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4764.86,
      "stop": 4761.867,
      "target": 4770.846,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.44,
        "bb_width_pct": 0.313
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T05-25-00Z_long_rsi_range_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4764.86,
      "stop": 4761.867,
      "target": 4770.846,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.44,
        "bb_width_pct": 0.313
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T05-25-00Z_long_vwap_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4764.86,
      "stop": 4762.667,
      "target": 4769.245,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.44,
        "bb_width_pct": 0.313
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T05-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4764.86,
      "stop": 4762.426,
      "target": 4769.727,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 22.44,
        "bb_width_pct": 0.313
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T05-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4761.12,
      "stop": 4756.903,
      "target": 4769.553,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.89,
        "bb_width_pct": 0.436
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T05-40-00Z_long_rsi_range_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4761.12,
      "stop": 4756.903,
      "target": 4769.553,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.89,
        "bb_width_pct": 0.436
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T05-40-00Z_long_vwap_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4761.12,
      "stop": 4757.227,
      "target": 4768.906,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.89,
        "bb_width_pct": 0.436
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T05-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4761.12,
      "stop": 4757.75,
      "target": 4767.86,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 22.89,
        "bb_width_pct": 0.436
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T05-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T05:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4764.12,
      "stop": 4762.39,
      "target": 4767.58,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 16.77,
        "bb_width_pct": 0.446
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T05-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T05:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4764.12,
      "stop": 4762.626,
      "target": 4767.108,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.77,
        "bb_width_pct": 0.446
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T06-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4764.65,
      "stop": 4763.185,
      "target": 4767.58,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.75,
        "bb_width_pct": 0.475
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T06-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T06:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4769.64,
      "stop": 4772.042,
      "target": 4764.835,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.25,
        "bb_width_pct": 0.237
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T06-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T06:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4772.885,
      "stop": 4775.795,
      "target": 4767.066,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.35,
        "bb_width_pct": 0.276
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T07-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T07:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4790.3,
      "stop": 4800.2,
      "target": 4770.501,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 27.07,
        "bb_width_pct": 0.844
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T07-10-00Z_short_rsi_range_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T07:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4790.3,
      "stop": 4800.2,
      "target": 4770.501,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 27.07,
        "bb_width_pct": 0.844
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T07-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T07:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4790.3,
      "stop": 4796.829,
      "target": 4777.243,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 27.07,
        "bb_width_pct": 0.844
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T07-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T07:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4784.965,
      "stop": 4788.826,
      "target": 4777.243,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 24.06,
        "bb_width_pct": 0.854
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T07-25-00Z_long_vwap_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T07:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4772.805,
      "stop": 4767.16,
      "target": 4784.095,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.28,
        "bb_width_pct": 0.813
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T08-35-00Z_short_rsi_range_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4787.905,
      "stop": 4791.381,
      "target": 4780.953,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 22.08,
        "bb_width_pct": 0.507
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T08-35-00Z_short_vwap_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4787.905,
      "stop": 4791.421,
      "target": 4780.873,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 22.08,
        "bb_width_pct": 0.507
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T08-40-00Z_short_rsi_range_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T08:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4784.855,
      "stop": 4786.853,
      "target": 4780.858,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 9.71,
        "bb_width_pct": 0.5
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T08-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T08:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4784.855,
      "stop": 4787.1,
      "target": 4780.364,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.71,
        "bb_width_pct": 0.5
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T09-00-00Z_short_rsi_range_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4785.87,
      "stop": 4788.374,
      "target": 4780.862,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 13.24,
        "bb_width_pct": 0.404
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T09-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4779.28,
      "stop": 4777.376,
      "target": 4783.088,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.04,
        "bb_width_pct": 0.332
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T09-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4779.28,
      "stop": 4777.992,
      "target": 4781.855,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.04,
        "bb_width_pct": 0.332
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T09-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T09:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4776.085,
      "stop": 4772.671,
      "target": 4782.914,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.84,
        "bb_width_pct": 0.349
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T09-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T09:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4776.085,
      "stop": 4773.617,
      "target": 4781.022,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.84,
        "bb_width_pct": 0.349
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T10-40-00Z_long_vwap_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T10:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4767.53,
      "stop": 4761.608,
      "target": 4779.375,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.74,
        "bb_width_pct": 0.518
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T10-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T10:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4767.53,
      "stop": 4765.99,
      "target": 4770.61,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 11.74,
        "bb_width_pct": 0.518
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T10-45-00Z_long_vwap_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T10:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4769.79,
      "stop": 4765.517,
      "target": 4778.337,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.99,
        "bb_width_pct": 0.541
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T10-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T10:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4769.79,
      "stop": 4765.526,
      "target": 4778.318,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.99,
        "bb_width_pct": 0.541
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T12-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T12:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4770.92,
      "stop": 4769.389,
      "target": 4773.982,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.44,
        "bb_width_pct": 0.282
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T12-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T12:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4770.92,
      "stop": 4768.887,
      "target": 4774.986,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.44,
        "bb_width_pct": 0.282
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T12-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T12:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4766.395,
      "stop": 4762.509,
      "target": 4774.168,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.37,
        "bb_width_pct": 0.292
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T12-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T12:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4769.055,
      "stop": 4766.638,
      "target": 4773.888,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.29,
        "bb_width_pct": 0.296
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T12-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T12:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4769.055,
      "stop": 4766.742,
      "target": 4773.681,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.29,
        "bb_width_pct": 0.296
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T12-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T12:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4772.78,
      "stop": 4772.129,
      "target": 4774.082,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.13,
        "bb_width_pct": 0.281
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T12-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T12:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4771.48,
      "stop": 4770.616,
      "target": 4773.208,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.15,
        "bb_width_pct": 0.319
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T13-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T13:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4783.05,
      "stop": 4787.061,
      "target": 4775.028,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.38,
        "bb_width_pct": 0.553
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T13-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T13:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4783.05,
      "stop": 4788.632,
      "target": 4771.885,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 16.38,
        "bb_width_pct": 0.553
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T13-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T13:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4783.05,
      "stop": 4785.818,
      "target": 4777.514,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.38,
        "bb_width_pct": 0.553
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T13-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4789.51,
      "stop": 4795.873,
      "target": 4776.783,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.98,
        "bb_width_pct": 0.696
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T13-35-00Z_short_vwap_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4789.51,
      "stop": 4796.037,
      "target": 4776.455,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.98,
        "bb_width_pct": 0.696
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T13-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4789.51,
      "stop": 4797.879,
      "target": 4772.773,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.98,
        "bb_width_pct": 0.696
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T13-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4789.51,
      "stop": 4794.219,
      "target": 4780.091,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.98,
        "bb_width_pct": 0.696
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T13-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4794.18,
      "stop": 4799.988,
      "target": 4782.564,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.03,
        "bb_width_pct": 0.811
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T13-50-00Z_short_vwap_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T13:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4793.11,
      "stop": 4800.399,
      "target": 4778.532,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 18.03,
        "bb_width_pct": 0.834
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T13-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T13:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4793.11,
      "stop": 4800.912,
      "target": 4777.505,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.03,
        "bb_width_pct": 0.834
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T13-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T13:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4793.11,
      "stop": 4797.881,
      "target": 4783.568,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.03,
        "bb_width_pct": 0.834
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T13-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T13:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4794.805,
      "stop": 4799.888,
      "target": 4784.638,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 27.07,
        "bb_width_pct": 0.858
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T14-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4795.47,
      "stop": 4801.975,
      "target": 4782.46,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.99,
        "bb_width_pct": 0.849
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T14-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4795.47,
      "stop": 4800.37,
      "target": 4785.67,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.99,
        "bb_width_pct": 0.849
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T14-10-00Z_short_vwap_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T14:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4794.975,
      "stop": 4801.82,
      "target": 4781.285,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.99,
        "bb_width_pct": 0.884
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T14-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T14:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4794.975,
      "stop": 4800.925,
      "target": 4783.075,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.99,
        "bb_width_pct": 0.884
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T14-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T14:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4794.975,
      "stop": 4798.472,
      "target": 4787.981,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.99,
        "bb_width_pct": 0.884
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T14-20-00Z_short_vwap_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T14:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4801.295,
      "stop": 4810.586,
      "target": 4782.712,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.3,
        "bb_width_pct": 0.894
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T14-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T14:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4801.295,
      "stop": 4809.602,
      "target": 4784.68,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.3,
        "bb_width_pct": 0.894
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T14-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T14:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4801.295,
      "stop": 4806.599,
      "target": 4790.687,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.3,
        "bb_width_pct": 0.894
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T14-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T14:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4804.38,
      "stop": 4809.473,
      "target": 4794.195,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.5,
        "bb_width_pct": 0.805
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T14-35-00Z_short_vwap_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T14:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4804.38,
      "stop": 4813.978,
      "target": 4785.184,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.5,
        "bb_width_pct": 0.805
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T14-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T14:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4804.38,
      "stop": 4811.889,
      "target": 4789.362,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.5,
        "bb_width_pct": 0.805
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T14-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T14:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4804.38,
      "stop": 4808.853,
      "target": 4795.433,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.5,
        "bb_width_pct": 0.805
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T14-40-00Z_short_vwap_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T14:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4798.83,
      "stop": 4805.417,
      "target": 4785.657,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.25,
        "bb_width_pct": 0.743
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T15-25-00Z_short_vwap_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T15:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4802.615,
      "stop": 4809.616,
      "target": 4788.612,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 1.24,
        "bb_width_pct": 0.446
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T15-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T15:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4811.86,
      "stop": 4816.765,
      "target": 4802.05,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.71,
        "bb_width_pct": 0.462
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T15-40-00Z_short_vwap_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T15:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4809.435,
      "stop": 4819.162,
      "target": 4789.98,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.13,
        "bb_width_pct": 0.463
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T15-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T15:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4809.435,
      "stop": 4818.98,
      "target": 4790.345,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.13,
        "bb_width_pct": 0.463
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T15-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T15:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4809.435,
      "stop": 4813.581,
      "target": 4801.142,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.13,
        "bb_width_pct": 0.463
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T15-45-00Z_short_vwap_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T15:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4808.8,
      "stop": 4818.0,
      "target": 4790.4,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.57,
        "bb_width_pct": 0.475
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T15-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T15:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4808.8,
      "stop": 4818.028,
      "target": 4790.345,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.57,
        "bb_width_pct": 0.475
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T15-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T15:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4808.8,
      "stop": 4812.264,
      "target": 4801.872,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.57,
        "bb_width_pct": 0.475
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T15-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T15:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4810.415,
      "stop": 4813.697,
      "target": 4803.85,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.04,
        "bb_width_pct": 0.466
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T15-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T15:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4810.415,
      "stop": 4814.28,
      "target": 4802.685,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.04,
        "bb_width_pct": 0.466
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T15-55-00Z_short_vwap_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T15:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4808.41,
      "stop": 4817.002,
      "target": 4791.225,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.4,
        "bb_width_pct": 0.474
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T15-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T15:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4808.41,
      "stop": 4817.443,
      "target": 4790.345,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.4,
        "bb_width_pct": 0.474
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T16-05-00Z_short_vwap_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T16:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4811.03,
      "stop": 4820.541,
      "target": 4792.007,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 16.66,
        "bb_width_pct": 0.497
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T16-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T16:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4811.03,
      "stop": 4821.372,
      "target": 4790.345,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 16.66,
        "bb_width_pct": 0.497
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T16-10-00Z_short_rsi_range_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T16:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4809.585,
      "stop": 4812.157,
      "target": 4804.441,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 19.68,
        "bb_width_pct": 0.477
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T16-10-00Z_short_vwap_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T16:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4809.585,
      "stop": 4818.202,
      "target": 4792.35,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 19.68,
        "bb_width_pct": 0.477
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T16-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T16:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4809.585,
      "stop": 4818.733,
      "target": 4791.29,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 19.68,
        "bb_width_pct": 0.477
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T16-25-00Z_short_rsi_range_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T16:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4816.41,
      "stop": 4821.233,
      "target": 4806.764,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 14.87,
        "bb_width_pct": 0.568
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T16-25-00Z_short_vwap_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T16:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4816.41,
      "stop": 4827.807,
      "target": 4793.615,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.87,
        "bb_width_pct": 0.568
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T16-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T16:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4816.41,
      "stop": 4825.788,
      "target": 4797.655,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.87,
        "bb_width_pct": 0.568
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T16-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T16:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4816.41,
      "stop": 4820.557,
      "target": 4808.116,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.87,
        "bb_width_pct": 0.568
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T16-30-00Z_short_rsi_range_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T16:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4815.85,
      "stop": 4820.047,
      "target": 4807.457,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 15.76,
        "bb_width_pct": 0.583
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T16-30-00Z_short_vwap_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T16:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4815.85,
      "stop": 4826.754,
      "target": 4794.041,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.76,
        "bb_width_pct": 0.583
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T16-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T16:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4815.85,
      "stop": 4823.861,
      "target": 4799.827,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.76,
        "bb_width_pct": 0.583
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T16-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T16:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4815.85,
      "stop": 4819.349,
      "target": 4808.853,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.76,
        "bb_width_pct": 0.583
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T16-40-00Z_short_vwap_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T16:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4815.305,
      "stop": 4825.556,
      "target": 4794.803,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.38,
        "bb_width_pct": 0.568
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T16-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T16:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4815.305,
      "stop": 4822.793,
      "target": 4800.33,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.38,
        "bb_width_pct": 0.568
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T16-45-00Z_short_vwap_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4814.845,
      "stop": 4824.702,
      "target": 4795.13,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.04,
        "bb_width_pct": 0.485
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T16-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4814.845,
      "stop": 4822.103,
      "target": 4800.33,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.04,
        "bb_width_pct": 0.485
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T16-50-00Z_short_vwap_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T16:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4813.765,
      "stop": 4822.912,
      "target": 4795.471,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.38,
        "bb_width_pct": 0.39
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T16-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T16:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4813.765,
      "stop": 4818.88,
      "target": 4803.535,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.38,
        "bb_width_pct": 0.39
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T16-55-00Z_short_vwap_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4810.075,
      "stop": 4817.247,
      "target": 4795.731,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.43,
        "bb_width_pct": 0.338
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T17-10-00Z_short_rsi_range_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T17:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4827.21,
      "stop": 4833.584,
      "target": 4814.462,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 17.86,
        "bb_width_pct": 0.451
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T17-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T17:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4827.21,
      "stop": 4834.931,
      "target": 4811.767,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.86,
        "bb_width_pct": 0.451
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T17-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T17:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4825.815,
      "stop": 4830.127,
      "target": 4817.191,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.27,
        "bb_width_pct": 0.575
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T17-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T17:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4825.815,
      "stop": 4832.456,
      "target": 4812.532,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.27,
        "bb_width_pct": 0.575
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T17-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T17:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4825.815,
      "stop": 4829.762,
      "target": 4817.921,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.27,
        "bb_width_pct": 0.575
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T17-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T17:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4831.86,
      "stop": 4838.658,
      "target": 4818.264,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.51,
        "bb_width_pct": 0.617
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T17-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T17:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4837.405,
      "stop": 4845.595,
      "target": 4821.025,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.69,
        "bb_width_pct": 0.736
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T17-40-00Z_short_rsi_range_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T17:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4837.405,
      "stop": 4845.595,
      "target": 4821.025,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 22.69,
        "bb_width_pct": 0.736
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T17-40-00Z_short_vwap_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T17:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4837.405,
      "stop": 4841.699,
      "target": 4828.817,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 22.69,
        "bb_width_pct": 0.736
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T17-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T17:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4837.405,
      "stop": 4848.316,
      "target": 4815.583,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 22.69,
        "bb_width_pct": 0.736
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T17-50-00Z_short_rsi_range_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T17:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4836.705,
      "stop": 4843.188,
      "target": 4823.74,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 23.61,
        "bb_width_pct": 0.773
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T17-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T17:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4836.705,
      "stop": 4846.852,
      "target": 4816.41,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 23.61,
        "bb_width_pct": 0.773
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T17-55-00Z_short_rsi_range_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T17:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4835.235,
      "stop": 4840.505,
      "target": 4824.695,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 23.5,
        "bb_width_pct": 0.785
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T17-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T17:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4835.235,
      "stop": 4844.647,
      "target": 4816.41,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 23.5,
        "bb_width_pct": 0.785
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T17-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T17:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4835.235,
      "stop": 4839.734,
      "target": 4826.237,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 23.5,
        "bb_width_pct": 0.785
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T18-10-00Z_short_rsi_range_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T18:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4838.965,
      "stop": 4844.347,
      "target": 4828.2,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 10.42,
        "bb_width_pct": 0.837
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T18-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T18:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4838.965,
      "stop": 4849.855,
      "target": 4817.185,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.42,
        "bb_width_pct": 0.837
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T18-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T18:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4838.965,
      "stop": 4843.568,
      "target": 4829.758,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.42,
        "bb_width_pct": 0.837
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T18-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T18:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4835.82,
      "stop": 4845.041,
      "target": 4817.378,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.15,
        "bb_width_pct": 0.815
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T18-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T18:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4835.82,
      "stop": 4838.562,
      "target": 4830.335,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.15,
        "bb_width_pct": 0.815
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T18-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T18:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4835.43,
      "stop": 4844.456,
      "target": 4817.378,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.43,
        "bb_width_pct": 0.778
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T18-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T18:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4837.905,
      "stop": 4841.11,
      "target": 4831.495,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.74,
        "bb_width_pct": 0.732
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T18-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4836.925,
      "stop": 4846.229,
      "target": 4818.318,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.95,
        "bb_width_pct": 0.657
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T18-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T18:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4834.75,
      "stop": 4841.047,
      "target": 4822.155,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.15,
        "bb_width_pct": 0.364
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T19-10-00Z_short_vwap_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T19:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4841.15,
      "stop": 4844.437,
      "target": 4834.577,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.33,
        "bb_width_pct": 0.212
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T19-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T19:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4841.15,
      "stop": 4849.501,
      "target": 4824.448,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.33,
        "bb_width_pct": 0.212
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T19-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T19:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4841.15,
      "stop": 4844.042,
      "target": 4835.367,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.33,
        "bb_width_pct": 0.212
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T19-15-00Z_short_vwap_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T19:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4839.545,
      "stop": 4841.927,
      "target": 4834.78,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 1.08,
        "bb_width_pct": 0.215
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T19-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T19:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4839.545,
      "stop": 4847.094,
      "target": 4824.448,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.08,
        "bb_width_pct": 0.215
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T19-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T19:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4839.545,
      "stop": 4841.435,
      "target": 4835.765,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.08,
        "bb_width_pct": 0.215
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T19-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T19:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4839.945,
      "stop": 4841.836,
      "target": 4836.163,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.51,
        "bb_width_pct": 0.219
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T19-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T19:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4839.93,
      "stop": 4840.863,
      "target": 4838.064,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.35,
        "bb_width_pct": 0.227
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T19-30-00Z_short_vwap_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T19:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4839.93,
      "stop": 4842.225,
      "target": 4835.341,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.35,
        "bb_width_pct": 0.227
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T19-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T19:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4839.93,
      "stop": 4847.224,
      "target": 4825.343,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.35,
        "bb_width_pct": 0.227
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T19-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T19:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4839.93,
      "stop": 4841.432,
      "target": 4836.925,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.35,
        "bb_width_pct": 0.227
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T19-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T19:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4842.085,
      "stop": 4844.419,
      "target": 4837.417,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.48,
        "bb_width_pct": 0.232
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T19-40-00Z_short_vwap_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T19:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4841.115,
      "stop": 4843.823,
      "target": 4835.698,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.35,
        "bb_width_pct": 0.235
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T19-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T19:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4841.115,
      "stop": 4848.44,
      "target": 4826.465,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.35,
        "bb_width_pct": 0.235
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T19-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T19:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4841.115,
      "stop": 4842.788,
      "target": 4837.769,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.35,
        "bb_width_pct": 0.235
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T19-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T19:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4843.085,
      "stop": 4845.49,
      "target": 4838.275,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.14,
        "bb_width_pct": 0.236
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T19-50-00Z_short_vwap_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T19:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4841.165,
      "stop": 4843.715,
      "target": 4836.065,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 17.08,
        "bb_width_pct": 0.24
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T19-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T19:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4841.165,
      "stop": 4848.515,
      "target": 4826.465,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.08,
        "bb_width_pct": 0.24
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T19-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T19:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4841.165,
      "stop": 4842.472,
      "target": 4838.55,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.08,
        "bb_width_pct": 0.24
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T19-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T19:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4844.99,
      "stop": 4847.901,
      "target": 4839.169,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.77,
        "bb_width_pct": 0.258
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T20-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T20:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4843.385,
      "stop": 4845.294,
      "target": 4839.566,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.19,
        "bb_width_pct": 0.259
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T20-00-00Z_short_rsi_range_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T20:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4843.385,
      "stop": 4845.294,
      "target": 4839.566,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 16.19,
        "bb_width_pct": 0.259
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T20-00-00Z_short_vwap_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T20:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4843.385,
      "stop": 4846.827,
      "target": 4836.502,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 16.19,
        "bb_width_pct": 0.259
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T20-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T20:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4843.385,
      "stop": 4851.191,
      "target": 4827.773,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 16.19,
        "bb_width_pct": 0.259
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T20-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T20:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4843.385,
      "stop": 4845.295,
      "target": 4839.566,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.19,
        "bb_width_pct": 0.259
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T20-10-00Z_short_vwap_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T20:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4843.12,
      "stop": 4846.253,
      "target": 4836.853,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.13,
        "bb_width_pct": 0.268
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T20-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T20:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4843.12,
      "stop": 4850.788,
      "target": 4827.785,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.13,
        "bb_width_pct": 0.268
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T20-15-00Z_short_vwap_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T20:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4841.23,
      "stop": 4843.36,
      "target": 4836.969,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.18,
        "bb_width_pct": 0.264
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T20-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T20:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4841.23,
      "stop": 4847.867,
      "target": 4827.955,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.18,
        "bb_width_pct": 0.264
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T20-45-00Z_short_vwap_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T20:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4841.71,
      "stop": 4843.807,
      "target": 4837.517,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 1.58,
        "bb_width_pct": 0.117
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T20-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T20:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4841.71,
      "stop": 4844.636,
      "target": 4835.858,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.58,
        "bb_width_pct": 0.117
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T20-55-00Z_short_vwap_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T20:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4841.76,
      "stop": 4843.799,
      "target": 4837.683,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 1.69,
        "bb_width_pct": 0.11
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T22-00-00Z_short_rsi_range_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T22:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4849.07,
      "stop": 4852.493,
      "target": 4842.224,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 12.41,
        "bb_width_pct": 0.167
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T22-00-00Z_short_vwap_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T22:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4849.07,
      "stop": 4883.905,
      "target": 4779.401,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.41,
        "bb_width_pct": 0.167
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T22-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T22:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4849.07,
      "stop": 4854.289,
      "target": 4838.632,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.41,
        "bb_width_pct": 0.167
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T22-05-00Z_short_vwap_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T22:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4847.975,
      "stop": 4880.938,
      "target": 4782.05,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.13,
        "bb_width_pct": 0.194
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T22-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T22:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4847.975,
      "stop": 4851.779,
      "target": 4840.368,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.13,
        "bb_width_pct": 0.194
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T22-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T22:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4844.73,
      "stop": 4845.685,
      "target": 4842.821,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.68,
        "bb_width_pct": 0.191
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T22-10-00Z_short_vwap_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T22:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4844.73,
      "stop": 4874.898,
      "target": 4784.394,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.68,
        "bb_width_pct": 0.191
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T22-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T22:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4844.73,
      "stop": 4846.651,
      "target": 4840.888,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.68,
        "bb_width_pct": 0.191
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T22-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T22:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4844.73,
      "stop": 4845.823,
      "target": 4842.545,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.68,
        "bb_width_pct": 0.191
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T22-15-00Z_short_vwap_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T22:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4837.14,
      "stop": 4862.512,
      "target": 4786.396,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.55,
        "bb_width_pct": 0.216
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T22-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T22:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4842.525,
      "stop": 4842.466,
      "target": 4842.644,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.82,
        "bb_width_pct": 0.214
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T22-25-00Z_short_vwap_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T22:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4840.145,
      "stop": 4865.208,
      "target": 4790.02,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.31,
        "bb_width_pct": 0.219
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T22-30-00Z_short_vwap_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T22:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4838.94,
      "stop": 4862.594,
      "target": 4791.632,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.32,
        "bb_width_pct": 0.227
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T22-45-00Z_short_vwap_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T22:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4837.92,
      "stop": 4858.943,
      "target": 4795.873,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.39,
        "bb_width_pct": 0.235
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T22-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T22:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4836.05,
      "stop": 4833.408,
      "target": 4841.333,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.65,
        "bb_width_pct": 0.254
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T22-50-00Z_short_vwap_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T22:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4836.05,
      "stop": 4855.557,
      "target": 4797.037,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.65,
        "bb_width_pct": 0.254
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T22-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T22:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4835.26,
      "stop": 4832.373,
      "target": 4841.034,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.34,
        "bb_width_pct": 0.276
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T22-55-00Z_short_vwap_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T22:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4835.26,
      "stop": 4853.843,
      "target": 4798.093,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.34,
        "bb_width_pct": 0.276
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T22-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T22:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4835.26,
      "stop": 4832.868,
      "target": 4840.044,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.34,
        "bb_width_pct": 0.276
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T23-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4837.4,
      "stop": 4835.689,
      "target": 4840.823,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.57,
        "bb_width_pct": 0.284
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T23-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4837.4,
      "stop": 4835.656,
      "target": 4840.888,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.57,
        "bb_width_pct": 0.284
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T23-10-00Z_short_vwap_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4837.125,
      "stop": 4855.099,
      "target": 4801.178,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 16.35,
        "bb_width_pct": 0.292
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T23-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4838.15,
      "stop": 4836.206,
      "target": 4842.038,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.99,
        "bb_width_pct": 0.295
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T23-25-00Z_short_vwap_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T23:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4836.19,
      "stop": 4852.402,
      "target": 4803.766,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.06,
        "bb_width_pct": 0.303
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T23-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4841.195,
      "stop": 4840.774,
      "target": 4842.038,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.84,
        "bb_width_pct": 0.302
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T23-40-00Z_short_vwap_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4842.365,
      "stop": 4860.436,
      "target": 4806.222,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.0,
        "bb_width_pct": 0.256
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T23-45-00Z_short_vwap_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4841.785,
      "stop": 4859.173,
      "target": 4807.01,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.68,
        "bb_width_pct": 0.207
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T23-50-00Z_short_vwap_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T23:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4838.86,
      "stop": 4854.437,
      "target": 4807.706,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 1.58,
        "bb_width_pct": 0.181
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-14T23-55-00Z_short_vwap_mean_reversion",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T23:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4837.285,
      "stop": 4851.761,
      "target": 4808.334,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.05,
        "bb_width_pct": 0.18
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T00-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4838.405,
      "stop": 4838.159,
      "target": 4838.898,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.06,
        "bb_width_pct": 0.168
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T00-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4838.405,
      "stop": 4836.589,
      "target": 4842.038,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.06,
        "bb_width_pct": 0.168
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T00-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T00:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4834.86,
      "stop": 4832.973,
      "target": 4838.634,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.93,
        "bb_width_pct": 0.181
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T00-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T00:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4833.935,
      "stop": 4831.711,
      "target": 4838.383,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.79,
        "bb_width_pct": 0.2
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T00-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T00:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4833.935,
      "stop": 4831.61,
      "target": 4838.585,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.79,
        "bb_width_pct": 0.2
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T00-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T00:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4833.045,
      "stop": 4830.551,
      "target": 4838.032,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.6,
        "bb_width_pct": 0.219
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T00-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T00:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4833.045,
      "stop": 4830.539,
      "target": 4838.058,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.6,
        "bb_width_pct": 0.219
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T00-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T00:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4833.78,
      "stop": 4831.865,
      "target": 4837.611,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.22,
        "bb_width_pct": 0.23
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T00-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T00:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4833.78,
      "stop": 4831.936,
      "target": 4837.468,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.22,
        "bb_width_pct": 0.23
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T00-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4830.81,
      "stop": 4827.798,
      "target": 4836.834,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.99,
        "bb_width_pct": 0.259
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T00-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T00:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4829.175,
      "stop": 4825.71,
      "target": 4836.105,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.69,
        "bb_width_pct": 0.297
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T00-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T00:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4830.005,
      "stop": 4826.67,
      "target": 4836.675,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.77,
        "bb_width_pct": 0.322
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T00-40-00Z_long_rsi_range_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T00:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4830.005,
      "stop": 4826.67,
      "target": 4836.675,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.77,
        "bb_width_pct": 0.322
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T00-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T00:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4830.005,
      "stop": 4825.466,
      "target": 4839.083,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 19.77,
        "bb_width_pct": 0.322
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T00-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T00:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4830.005,
      "stop": 4827.246,
      "target": 4835.524,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.77,
        "bb_width_pct": 0.322
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T00-45-00Z_long_rsi_range_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T00:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4830.075,
      "stop": 4827.012,
      "target": 4836.201,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.82,
        "bb_width_pct": 0.338
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T00-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T00:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4830.075,
      "stop": 4825.571,
      "target": 4839.083,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 19.82,
        "bb_width_pct": 0.338
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T00-50-00Z_long_rsi_range_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T00:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4831.045,
      "stop": 4828.619,
      "target": 4835.897,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.86,
        "bb_width_pct": 0.35
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T00-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T00:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4831.045,
      "stop": 4827.026,
      "target": 4839.083,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 17.86,
        "bb_width_pct": 0.35
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T01-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T01:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4843.565,
      "stop": 4846.65,
      "target": 4837.394,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.83,
        "bb_width_pct": 0.663
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T01-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T01:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4843.565,
      "stop": 4845.484,
      "target": 4839.727,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.83,
        "bb_width_pct": 0.663
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T01-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T01:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4851.24,
      "stop": 4856.448,
      "target": 4840.824,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.22,
        "bb_width_pct": 0.705
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T02-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T02:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4829.465,
      "stop": 4822.312,
      "target": 4843.771,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.52,
        "bb_width_pct": 0.67
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T02-35-00Z_long_rsi_range_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T02:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4829.465,
      "stop": 4822.312,
      "target": 4843.771,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.52,
        "bb_width_pct": 0.67
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T02-35-00Z_long_vwap_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T02:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4829.465,
      "stop": 4824.38,
      "target": 4839.636,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.52,
        "bb_width_pct": 0.67
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T02-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T02:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4829.465,
      "stop": 4820.219,
      "target": 4847.958,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 20.52,
        "bb_width_pct": 0.67
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T02-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T02:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4828.42,
      "stop": 4820.895,
      "target": 4843.471,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.11,
        "bb_width_pct": 0.706
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T02-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T02:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4824.005,
      "stop": 4816.263,
      "target": 4839.489,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.76,
        "bb_width_pct": 0.755
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T02-55-00Z_long_rsi_range_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T02:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4824.005,
      "stop": 4816.263,
      "target": 4839.489,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.76,
        "bb_width_pct": 0.755
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T02-55-00Z_long_vwap_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T02:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4824.005,
      "stop": 4816.928,
      "target": 4838.159,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.76,
        "bb_width_pct": 0.755
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T02-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T02:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4824.005,
      "stop": 4812.756,
      "target": 4846.503,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 23.76,
        "bb_width_pct": 0.755
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T03-15-00Z_long_rsi_range_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4826.025,
      "stop": 4821.921,
      "target": 4834.232,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.45,
        "bb_width_pct": 0.882
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T03-15-00Z_long_vwap_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4826.025,
      "stop": 4820.813,
      "target": 4836.449,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.45,
        "bb_width_pct": 0.882
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T03-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4826.025,
      "stop": 4816.964,
      "target": 4844.148,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 21.45,
        "bb_width_pct": 0.882
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T03-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4826.025,
      "stop": 4823.664,
      "target": 4830.746,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.45,
        "bb_width_pct": 0.882
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T03-25-00Z_long_vwap_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4826.625,
      "stop": 4821.992,
      "target": 4835.891,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.11,
        "bb_width_pct": 0.868
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T03-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4826.625,
      "stop": 4817.864,
      "target": 4844.148,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.11,
        "bb_width_pct": 0.868
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T03-35-00Z_long_vwap_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T03:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4827.93,
      "stop": 4824.145,
      "target": 4835.501,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.44,
        "bb_width_pct": 0.786
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T03-40-00Z_long_vwap_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T03:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4828.59,
      "stop": 4825.221,
      "target": 4835.328,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.19,
        "bb_width_pct": 0.709
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T04-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T04:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4821.315,
      "stop": 4818.162,
      "target": 4827.622,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.4,
        "bb_width_pct": 0.323
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T04-05-00Z_long_vwap_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4823.49,
      "stop": 4818.09,
      "target": 4834.29,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.38,
        "bb_width_pct": 0.27
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T04-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4823.49,
      "stop": 4813.161,
      "target": 4844.148,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.38,
        "bb_width_pct": 0.27
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T04-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4823.49,
      "stop": 4821.621,
      "target": 4827.228,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.38,
        "bb_width_pct": 0.27
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T04-10-00Z_long_vwap_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T04:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4825.665,
      "stop": 4821.441,
      "target": 4834.112,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.02,
        "bb_width_pct": 0.266
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T04-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T04:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4825.665,
      "stop": 4816.424,
      "target": 4844.148,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.02,
        "bb_width_pct": 0.266
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T04-20-00Z_long_vwap_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4824.255,
      "stop": 4819.521,
      "target": 4833.724,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.4,
        "bb_width_pct": 0.242
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T04-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4824.255,
      "stop": 4814.309,
      "target": 4844.148,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 3.4,
        "bb_width_pct": 0.242
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T04-25-00Z_long_vwap_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T04:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4824.665,
      "stop": 4820.222,
      "target": 4833.551,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.82,
        "bb_width_pct": 0.233
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T04-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T04:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4824.665,
      "stop": 4814.924,
      "target": 4844.148,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 3.82,
        "bb_width_pct": 0.233
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T04-30-00Z_long_vwap_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T04:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4827.01,
      "stop": 4823.806,
      "target": 4833.418,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.81,
        "bb_width_pct": 0.238
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T04-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T04:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4827.01,
      "stop": 4818.441,
      "target": 4844.148,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.81,
        "bb_width_pct": 0.238
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T04-45-00Z_long_vwap_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4825.895,
      "stop": 4822.353,
      "target": 4832.978,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.72,
        "bb_width_pct": 0.17
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T04-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4825.895,
      "stop": 4821.253,
      "target": 4835.18,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.72,
        "bb_width_pct": 0.17
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T05-05-00Z_long_vwap_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4825.705,
      "stop": 4822.314,
      "target": 4832.487,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.41,
        "bb_width_pct": 0.142
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T05-10-00Z_long_vwap_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4827.035,
      "stop": 4824.356,
      "target": 4832.394,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.67,
        "bb_width_pct": 0.144
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T05-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4825.35,
      "stop": 4825.375,
      "target": 4825.301,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.52,
        "bb_width_pct": 0.151
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T05-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4826.36,
      "stop": 4826.905,
      "target": 4825.269,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.22,
        "bb_width_pct": 0.149
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T05-25-00Z_long_vwap_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4826.36,
      "stop": 4823.455,
      "target": 4832.169,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.22,
        "bb_width_pct": 0.149
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T05-30-00Z_long_vwap_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4827.19,
      "stop": 4824.747,
      "target": 4832.075,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.83,
        "bb_width_pct": 0.15
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T05-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4820.13,
      "stop": 4817.329,
      "target": 4825.732,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.95,
        "bb_width_pct": 0.176
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T05-45-00Z_long_vwap_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T05:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4817.465,
      "stop": 4810.457,
      "target": 4831.481,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.5,
        "bb_width_pct": 0.258
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T05-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T05:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4817.465,
      "stop": 4814.049,
      "target": 4824.297,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.5,
        "bb_width_pct": 0.258
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T05-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T05:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4817.465,
      "stop": 4814.106,
      "target": 4824.183,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.5,
        "bb_width_pct": 0.258
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T05-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4821.505,
      "stop": 4820.074,
      "target": 4824.367,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.83,
        "bb_width_pct": 0.263
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T05-50-00Z_long_vwap_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4821.505,
      "stop": 4816.6,
      "target": 4831.315,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.83,
        "bb_width_pct": 0.263
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T05-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4821.505,
      "stop": 4821.273,
      "target": 4821.97,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.83,
        "bb_width_pct": 0.263
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T05-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4821.505,
      "stop": 4820.294,
      "target": 4823.928,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.83,
        "bb_width_pct": 0.263
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T06-00-00Z_long_vwap_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4821.26,
      "stop": 4816.365,
      "target": 4831.049,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.86,
        "bb_width_pct": 0.279
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T06-10-00Z_long_vwap_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T06:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4819.215,
      "stop": 4813.461,
      "target": 4830.723,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.08,
        "bb_width_pct": 0.305
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T06-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T06:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4814.96,
      "stop": 4811.218,
      "target": 4822.444,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.06,
        "bb_width_pct": 0.353
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T06-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4814.145,
      "stop": 4810.55,
      "target": 4821.335,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.39,
        "bb_width_pct": 0.392
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T06-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4814.145,
      "stop": 4811.211,
      "target": 4820.013,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.39,
        "bb_width_pct": 0.392
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T06-35-00Z_long_vwap_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4815.94,
      "stop": 4809.022,
      "target": 4829.775,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.9,
        "bb_width_pct": 0.397
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T06-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4815.94,
      "stop": 4813.416,
      "target": 4820.987,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 13.9,
        "bb_width_pct": 0.397
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T06-45-00Z_long_vwap_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T06:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4820.49,
      "stop": 4815.999,
      "target": 4829.472,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.01,
        "bb_width_pct": 0.385
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T07-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T07:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4809.37,
      "stop": 4805.578,
      "target": 4816.954,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.44,
        "bb_width_pct": 0.349
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T07-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T07:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4809.37,
      "stop": 4805.41,
      "target": 4817.29,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 16.44,
        "bb_width_pct": 0.349
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T07-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T07:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4809.37,
      "stop": 4805.75,
      "target": 4816.61,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.44,
        "bb_width_pct": 0.349
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T07-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T07:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4815.71,
      "stop": 4815.375,
      "target": 4816.38,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.62,
        "bb_width_pct": 0.29
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T07-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T07:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4812.84,
      "stop": 4811.549,
      "target": 4815.422,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.61,
        "bb_width_pct": 0.31
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T07-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T07:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4812.84,
      "stop": 4810.615,
      "target": 4817.29,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 2.61,
        "bb_width_pct": 0.31
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T07-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T07:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4812.84,
      "stop": 4811.611,
      "target": 4815.298,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.61,
        "bb_width_pct": 0.31
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T07-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T07:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4807.765,
      "stop": 4804.869,
      "target": 4813.557,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.06,
        "bb_width_pct": 0.272
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T07-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T07:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4810.225,
      "stop": 4806.693,
      "target": 4817.29,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.42,
        "bb_width_pct": 0.256
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T08-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4811.53,
      "stop": 4810.963,
      "target": 4812.665,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.12,
        "bb_width_pct": 0.246
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T08-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4811.53,
      "stop": 4808.65,
      "target": 4817.29,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.12,
        "bb_width_pct": 0.246
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T08-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T08:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4811.57,
      "stop": 4811.244,
      "target": 4812.222,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.88,
        "bb_width_pct": 0.251
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T08-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T08:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4811.57,
      "stop": 4808.71,
      "target": 4817.29,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 2.88,
        "bb_width_pct": 0.251
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T08-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T08:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4809.93,
      "stop": 4809.295,
      "target": 4811.2,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.22,
        "bb_width_pct": 0.161
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T08-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4809.565,
      "stop": 4808.877,
      "target": 4810.94,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.46,
        "bb_width_pct": 0.148
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T08-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4809.97,
      "stop": 4806.413,
      "target": 4817.085,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 2.47,
        "bb_width_pct": 0.149
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T08-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T08:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4818.63,
      "stop": 4821.718,
      "target": 4812.455,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.15,
        "bb_width_pct": 0.189
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T09-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4815.095,
      "stop": 4816.869,
      "target": 4811.548,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.28,
        "bb_width_pct": 0.2
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T09-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T09:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4806.2,
      "stop": 4803.692,
      "target": 4811.216,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.8,
        "bb_width_pct": 0.22
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T09-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T09:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4805.015,
      "stop": 4802.082,
      "target": 4810.882,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.91,
        "bb_width_pct": 0.247
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T09-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T09:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4805.015,
      "stop": 4801.816,
      "target": 4811.413,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.91,
        "bb_width_pct": 0.247
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T09-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T09:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4806.255,
      "stop": 4804.117,
      "target": 4810.531,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.93,
        "bb_width_pct": 0.256
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T09-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T09:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4804.355,
      "stop": 4801.418,
      "target": 4810.229,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.53,
        "bb_width_pct": 0.279
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T09-30-00Z_long_vwap_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4798.465,
      "stop": 4792.837,
      "target": 4809.722,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.17,
        "bb_width_pct": 0.414
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T09-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4798.465,
      "stop": 4793.93,
      "target": 4807.535,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.17,
        "bb_width_pct": 0.414
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T09-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4798.465,
      "stop": 4793.664,
      "target": 4808.066,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.17,
        "bb_width_pct": 0.414
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T09-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T09:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4795.27,
      "stop": 4789.421,
      "target": 4806.969,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.89,
        "bb_width_pct": 0.56
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T09-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T09:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4795.27,
      "stop": 4790.436,
      "target": 4804.938,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.89,
        "bb_width_pct": 0.56
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T09-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T09:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4798.63,
      "stop": 4794.784,
      "target": 4806.322,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.24,
        "bb_width_pct": 0.572
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T09-50-00Z_long_vwap_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T09:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4798.63,
      "stop": 4793.858,
      "target": 4808.174,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.24,
        "bb_width_pct": 0.572
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T09-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T09:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4798.63,
      "stop": 4795.777,
      "target": 4804.337,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.24,
        "bb_width_pct": 0.572
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T10-05-00Z_long_rsi_range_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T10:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4801.745,
      "stop": 4800.365,
      "target": 4804.506,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.38,
        "bb_width_pct": 0.595
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T10-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T10:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4794.295,
      "stop": 4790.821,
      "target": 4801.244,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.32,
        "bb_width_pct": 0.606
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T10-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T10:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4795.095,
      "stop": 4790.654,
      "target": 4803.977,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 11.05,
        "bb_width_pct": 0.595
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T10-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T10:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4795.095,
      "stop": 4792.313,
      "target": 4800.658,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.05,
        "bb_width_pct": 0.595
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T10-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T10:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4800.16,
      "stop": 4801.146,
      "target": 4798.189,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.08,
        "bb_width_pct": 0.25
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T11-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T11:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4802.49,
      "stop": 4804.655,
      "target": 4798.16,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.05,
        "bb_width_pct": 0.236
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T11-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T11:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4805.14,
      "stop": 4807.933,
      "target": 4799.553,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.92,
        "bb_width_pct": 0.303
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T11-25-00Z_short_rsi_range_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T11:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4805.14,
      "stop": 4807.933,
      "target": 4799.553,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 16.92,
        "bb_width_pct": 0.303
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T11-25-00Z_short_vwap_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T11:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4805.14,
      "stop": 4807.888,
      "target": 4799.643,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 16.92,
        "bb_width_pct": 0.303
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T11-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T11:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4803.3,
      "stop": 4805.057,
      "target": 4799.787,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.84,
        "bb_width_pct": 0.31
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T11-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T11:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4803.3,
      "stop": 4804.109,
      "target": 4801.682,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.84,
        "bb_width_pct": 0.31
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T11-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T11:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4809.375,
      "stop": 4813.568,
      "target": 4800.99,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.14,
        "bb_width_pct": 0.361
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T11-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T11:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4809.375,
      "stop": 4812.566,
      "target": 4802.994,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.14,
        "bb_width_pct": 0.361
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T11-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T11:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4812.635,
      "stop": 4817.69,
      "target": 4802.525,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.36,
        "bb_width_pct": 0.458
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T11-55-00Z_short_rsi_range_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T11:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4812.635,
      "stop": 4817.69,
      "target": 4802.525,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 14.36,
        "bb_width_pct": 0.458
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T11-55-00Z_short_vwap_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T11:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4812.635,
      "stop": 4818.063,
      "target": 4801.778,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.36,
        "bb_width_pct": 0.458
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T12-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4809.445,
      "stop": 4812.526,
      "target": 4803.283,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.01,
        "bb_width_pct": 0.446
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T12-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4809.445,
      "stop": 4811.507,
      "target": 4805.32,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.01,
        "bb_width_pct": 0.446
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T12-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T12:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4814.26,
      "stop": 4817.623,
      "target": 4807.535,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.38,
        "bb_width_pct": 0.439
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T12-20-00Z_short_rsi_range_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T12:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4813.28,
      "stop": 4816.559,
      "target": 4806.722,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 13.5,
        "bb_width_pct": 0.442
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T12-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T12:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4813.28,
      "stop": 4819.307,
      "target": 4801.225,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.5,
        "bb_width_pct": 0.442
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T12-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T12:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4813.045,
      "stop": 4818.955,
      "target": 4801.225,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.97,
        "bb_width_pct": 0.442
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T12-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T12:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4813.37,
      "stop": 4819.442,
      "target": 4801.225,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.59,
        "bb_width_pct": 0.436
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T12-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T12:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4811.8,
      "stop": 4817.087,
      "target": 4801.225,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.32,
        "bb_width_pct": 0.392
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T12-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T12:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4811.1,
      "stop": 4816.038,
      "target": 4801.225,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.39,
        "bb_width_pct": 0.342
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T12-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T12:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4811.76,
      "stop": 4817.028,
      "target": 4801.225,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.95,
        "bb_width_pct": 0.295
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T13-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T13:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4813.715,
      "stop": 4818.923,
      "target": 4803.3,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.61,
        "bb_width_pct": 0.169
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T13-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T13:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4816.905,
      "stop": 4819.425,
      "target": 4811.865,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.92,
        "bb_width_pct": 0.141
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T13-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4819.035,
      "stop": 4821.65,
      "target": 4813.805,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.44,
        "bb_width_pct": 0.223
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T13-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4819.035,
      "stop": 4825.496,
      "target": 4806.113,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.44,
        "bb_width_pct": 0.223
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T13-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4819.035,
      "stop": 4821.847,
      "target": 4813.41,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.44,
        "bb_width_pct": 0.223
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T13-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T13:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4820.54,
      "stop": 4823.352,
      "target": 4814.916,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.15,
        "bb_width_pct": 0.29
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T13-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T13:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4820.54,
      "stop": 4826.899,
      "target": 4807.823,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.15,
        "bb_width_pct": 0.29
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T13-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T13:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4820.54,
      "stop": 4823.32,
      "target": 4814.98,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.15,
        "bb_width_pct": 0.29
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T14-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4826.13,
      "stop": 4830.451,
      "target": 4817.488,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.05,
        "bb_width_pct": 0.475
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T14-00-00Z_short_rsi_range_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4826.13,
      "stop": 4830.451,
      "target": 4817.488,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 16.05,
        "bb_width_pct": 0.475
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T14-00-00Z_short_vwap_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4826.13,
      "stop": 4831.133,
      "target": 4816.123,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 16.05,
        "bb_width_pct": 0.475
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T14-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4826.13,
      "stop": 4832.725,
      "target": 4812.94,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 16.05,
        "bb_width_pct": 0.475
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T14-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4826.13,
      "stop": 4829.786,
      "target": 4818.817,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.05,
        "bb_width_pct": 0.475
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T14-05-00Z_short_rsi_range_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T14:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4824.78,
      "stop": 4828.132,
      "target": 4818.075,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 14.65,
        "bb_width_pct": 0.484
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T14-05-00Z_short_vwap_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T14:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4824.78,
      "stop": 4828.927,
      "target": 4816.486,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.65,
        "bb_width_pct": 0.484
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T14-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T14:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4824.78,
      "stop": 4830.7,
      "target": 4812.94,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.65,
        "bb_width_pct": 0.484
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T14-15-00Z_short_vwap_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T14:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4824.76,
      "stop": 4828.522,
      "target": 4817.236,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.61,
        "bb_width_pct": 0.512
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T14-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T14:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4824.76,
      "stop": 4830.67,
      "target": 4812.94,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.61,
        "bb_width_pct": 0.512
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T14-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T14:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4824.76,
      "stop": 4826.793,
      "target": 4820.694,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.61,
        "bb_width_pct": 0.512
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T14-25-00Z_short_vwap_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T14:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4825.28,
      "stop": 4829.037,
      "target": 4817.767,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 9.82,
        "bb_width_pct": 0.481
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T14-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T14:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4825.28,
      "stop": 4830.557,
      "target": 4814.725,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.82,
        "bb_width_pct": 0.481
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T15-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T15:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4810.375,
      "stop": 4806.303,
      "target": 4818.519,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.67,
        "bb_width_pct": 0.412
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T15-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T15:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4810.16,
      "stop": 4805.015,
      "target": 4820.45,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.98,
        "bb_width_pct": 0.525
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T15-10-00Z_long_rsi_range_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T15:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4810.16,
      "stop": 4805.015,
      "target": 4820.45,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.98,
        "bb_width_pct": 0.525
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T15-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T15:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4810.16,
      "stop": 4806.867,
      "target": 4816.746,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.98,
        "bb_width_pct": 0.525
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T15-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T15:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4809.07,
      "stop": 4803.747,
      "target": 4819.716,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.94,
        "bb_width_pct": 0.559
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T15-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T15:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4809.07,
      "stop": 4805.598,
      "target": 4816.015,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.94,
        "bb_width_pct": 0.559
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T15-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T15:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4805.345,
      "stop": 4798.539,
      "target": 4818.957,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.25,
        "bb_width_pct": 0.616
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T15-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T15:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4801.03,
      "stop": 4794.196,
      "target": 4814.697,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.58,
        "bb_width_pct": 0.799
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T15-35-00Z_long_rsi_range_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T15:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4801.03,
      "stop": 4794.196,
      "target": 4814.697,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.58,
        "bb_width_pct": 0.799
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T15-35-00Z_long_vwap_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T15:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4801.03,
      "stop": 4793.857,
      "target": 4815.376,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.58,
        "bb_width_pct": 0.799
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T15-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T15:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4801.03,
      "stop": 4796.2,
      "target": 4810.691,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.58,
        "bb_width_pct": 0.799
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T15-40-00Z_long_vwap_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T15:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4803.635,
      "stop": 4797.894,
      "target": 4815.117,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.82,
        "bb_width_pct": 0.792
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T15-50-00Z_long_vwap_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T15:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4805.27,
      "stop": 4800.572,
      "target": 4814.666,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.29,
        "bb_width_pct": 0.732
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T16-00-00Z_long_vwap_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4804.485,
      "stop": 4799.627,
      "target": 4814.201,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.84,
        "bb_width_pct": 0.643
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T16-45-00Z_long_vwap_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4805.815,
      "stop": 4802.111,
      "target": 4813.224,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.02,
        "bb_width_pct": 0.327
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T16-55-00Z_long_vwap_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4803.985,
      "stop": 4799.527,
      "target": 4812.901,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.76,
        "bb_width_pct": 0.308
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T17-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T17:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4801.375,
      "stop": 4799.649,
      "target": 4804.827,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.36,
        "bb_width_pct": 0.267
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T17-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T17:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4800.515,
      "stop": 4798.422,
      "target": 4804.702,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.51,
        "bb_width_pct": 0.281
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T17-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T17:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4795.0,
      "stop": 4790.839,
      "target": 4803.323,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.23,
        "bb_width_pct": 0.393
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T17-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T17:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4795.0,
      "stop": 4791.52,
      "target": 4801.96,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.23,
        "bb_width_pct": 0.393
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T17-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T17:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4793.455,
      "stop": 4788.896,
      "target": 4802.573,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.42,
        "bb_width_pct": 0.419
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T18-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T18:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4796.2,
      "stop": 4793.67,
      "target": 4801.26,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.5,
        "bb_width_pct": 0.441
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T18-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T18:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4796.2,
      "stop": 4792.63,
      "target": 4803.34,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.5,
        "bb_width_pct": 0.441
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T18-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T18:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4796.2,
      "stop": 4794.327,
      "target": 4799.945,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.5,
        "bb_width_pct": 0.441
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T19-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T19:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4798.805,
      "stop": 4799.861,
      "target": 4796.692,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.03,
        "bb_width_pct": 0.213
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T20-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T20:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4794.315,
      "stop": 4792.081,
      "target": 4798.784,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.73,
        "bb_width_pct": 0.201
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T20-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T20:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4794.29,
      "stop": 4792.053,
      "target": 4798.763,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.17,
        "bb_width_pct": 0.204
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T20-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T20:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4794.29,
      "stop": 4791.635,
      "target": 4799.6,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.17,
        "bb_width_pct": 0.204
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T20-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T20:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4794.29,
      "stop": 4792.361,
      "target": 4798.149,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.17,
        "bb_width_pct": 0.204
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T20-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T20:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4793.925,
      "stop": 4791.602,
      "target": 4798.571,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.97,
        "bb_width_pct": 0.222
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T20-15-00Z_long_rsi_range_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T20:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4794.375,
      "stop": 4792.337,
      "target": 4798.452,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.17,
        "bb_width_pct": 0.233
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T20-15-00Z_long_vwap_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T20:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4794.375,
      "stop": 4792.504,
      "target": 4798.117,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.17,
        "bb_width_pct": 0.233
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T20-20-00Z_long_vwap_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T20:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4794.44,
      "stop": 4792.64,
      "target": 4798.04,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.0,
        "bb_width_pct": 0.243
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T20-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T20:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4792.14,
      "stop": 4789.297,
      "target": 4797.827,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 27.91,
        "bb_width_pct": 0.277
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T20-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T20:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4791.35,
      "stop": 4788.321,
      "target": 4797.407,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.66,
        "bb_width_pct": 0.298
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T20-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T20:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4789.775,
      "stop": 4786.539,
      "target": 4796.246,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.42,
        "bb_width_pct": 0.319
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T20-55-00Z_long_rsi_range_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T20:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4790.94,
      "stop": 4788.813,
      "target": 4795.195,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.03,
        "bb_width_pct": 0.338
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T20-55-00Z_long_vwap_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T20:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4790.94,
      "stop": 4787.893,
      "target": 4797.035,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.03,
        "bb_width_pct": 0.338
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T20-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T20:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4790.94,
      "stop": 4788.542,
      "target": 4795.735,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 21.03,
        "bb_width_pct": 0.338
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T20-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T20:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4790.94,
      "stop": 4789.443,
      "target": 4793.935,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.03,
        "bb_width_pct": 0.338
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T22-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T22:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4795.705,
      "stop": 4796.313,
      "target": 4794.488,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.08,
        "bb_width_pct": 0.284
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T22-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T22:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4800.94,
      "stop": 4804.233,
      "target": 4794.353,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.22,
        "bb_width_pct": 0.277
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T22-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T22:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4801.365,
      "stop": 4804.749,
      "target": 4794.596,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.07,
        "bb_width_pct": 0.31
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T22-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T22:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4801.365,
      "stop": 4804.18,
      "target": 4795.735,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 16.07,
        "bb_width_pct": 0.31
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T22-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T22:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4801.365,
      "stop": 4803.898,
      "target": 4796.299,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.07,
        "bb_width_pct": 0.31
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T22-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T22:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4801.5,
      "stop": 4804.382,
      "target": 4795.735,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 22.16,
        "bb_width_pct": 0.359
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T23-55-00Z_short_rsi_range_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T23:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4823.455,
      "stop": 4829.097,
      "target": 4812.172,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 26.19,
        "bb_width_pct": 0.692
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T23-55-00Z_short_vwap_mean_reversion",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T23:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4823.455,
      "stop": 4832.448,
      "target": 4805.47,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 26.19,
        "bb_width_pct": 0.692
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-15T23-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T23:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4823.455,
      "stop": 4831.51,
      "target": 4807.345,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 26.19,
        "bb_width_pct": 0.692
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T00-25-00Z_short_rsi_range_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T00:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4824.9,
      "stop": 4827.267,
      "target": 4820.166,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 17.5,
        "bb_width_pct": 0.62
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T00-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T00:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4824.9,
      "stop": 4832.572,
      "target": 4809.555,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.5,
        "bb_width_pct": 0.62
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T00-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T00:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4824.9,
      "stop": 4827.214,
      "target": 4820.272,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.5,
        "bb_width_pct": 0.62
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T00-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4822.425,
      "stop": 4828.86,
      "target": 4809.555,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.72,
        "bb_width_pct": 0.593
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T00-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4822.425,
      "stop": 4823.399,
      "target": 4820.477,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.72,
        "bb_width_pct": 0.593
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T00-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T00:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4827.86,
      "stop": 4831.2,
      "target": 4821.18,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.89,
        "bb_width_pct": 0.551
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T00-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T00:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4832.715,
      "stop": 4837.61,
      "target": 4822.925,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.65,
        "bb_width_pct": 0.533
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T00-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T00:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4833.535,
      "stop": 4837.682,
      "target": 4825.242,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.12,
        "bb_width_pct": 0.505
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T00-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T00:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4833.535,
      "stop": 4843.876,
      "target": 4812.853,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.12,
        "bb_width_pct": 0.505
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T00-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T00:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4833.145,
      "stop": 4843.291,
      "target": 4812.853,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.67,
        "bb_width_pct": 0.465
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T01-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4829.485,
      "stop": 4837.801,
      "target": 4812.853,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.22,
        "bb_width_pct": 0.421
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T01-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4829.485,
      "stop": 4831.356,
      "target": 4825.743,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.22,
        "bb_width_pct": 0.421
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T01-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T01:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4830.11,
      "stop": 4838.712,
      "target": 4812.905,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.86,
        "bb_width_pct": 0.333
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T01-40-00Z_long_vwap_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T01:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4815.945,
      "stop": 4810.079,
      "target": 4827.676,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.38,
        "bb_width_pct": 0.467
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T01-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T01:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4815.945,
      "stop": 4812.049,
      "target": 4823.737,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.38,
        "bb_width_pct": 0.467
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T01-45-00Z_long_vwap_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T01:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4820.155,
      "stop": 4816.592,
      "target": 4827.281,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.62,
        "bb_width_pct": 0.478
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T01-50-00Z_long_vwap_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T01:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4820.615,
      "stop": 4817.429,
      "target": 4826.987,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.22,
        "bb_width_pct": 0.486
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T02-35-00Z_long_vwap_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T02:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4817.2,
      "stop": 4813.286,
      "target": 4825.029,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.13,
        "bb_width_pct": 0.397
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T02-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T02:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4817.2,
      "stop": 4813.515,
      "target": 4824.57,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.13,
        "bb_width_pct": 0.397
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T02-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T02:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4817.2,
      "stop": 4815.323,
      "target": 4820.953,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.13,
        "bb_width_pct": 0.397
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T02-40-00Z_long_vwap_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T02:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4817.365,
      "stop": 4813.64,
      "target": 4824.814,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.72,
        "bb_width_pct": 0.376
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T02-50-00Z_long_vwap_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T02:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4818.49,
      "stop": 4815.511,
      "target": 4824.448,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.87,
        "bb_width_pct": 0.284
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T03-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T03:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4826.69,
      "stop": 4829.335,
      "target": 4821.401,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.69,
        "bb_width_pct": 0.284
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T03-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4823.955,
      "stop": 4825.752,
      "target": 4820.362,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.62,
        "bb_width_pct": 0.261
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T04-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T04:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4827.28,
      "stop": 4829.356,
      "target": 4823.129,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.42,
        "bb_width_pct": 0.261
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T04-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T04:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4827.28,
      "stop": 4829.03,
      "target": 4823.78,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.42,
        "bb_width_pct": 0.261
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T04-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4829.62,
      "stop": 4831.922,
      "target": 4825.016,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.51,
        "bb_width_pct": 0.199
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T04-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4829.62,
      "stop": 4831.877,
      "target": 4825.106,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.51,
        "bb_width_pct": 0.199
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T04-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4830.63,
      "stop": 4833.228,
      "target": 4825.435,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 27.19,
        "bb_width_pct": 0.216
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T04-45-00Z_short_rsi_range_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4830.655,
      "stop": 4833.149,
      "target": 4825.667,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 26.8,
        "bb_width_pct": 0.236
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T04-45-00Z_short_vwap_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4830.655,
      "stop": 4833.616,
      "target": 4824.733,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 26.8,
        "bb_width_pct": 0.236
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T04-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4830.655,
      "stop": 4835.274,
      "target": 4821.417,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 26.8,
        "bb_width_pct": 0.236
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T05-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4835.555,
      "stop": 4839.583,
      "target": 4827.499,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 26.93,
        "bb_width_pct": 0.361
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T05-05-00Z_short_rsi_range_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4835.555,
      "stop": 4839.583,
      "target": 4827.499,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 26.93,
        "bb_width_pct": 0.361
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T05-05-00Z_short_vwap_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4835.555,
      "stop": 4840.68,
      "target": 4825.304,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 26.93,
        "bb_width_pct": 0.361
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T05-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4835.555,
      "stop": 4841.097,
      "target": 4824.47,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 26.93,
        "bb_width_pct": 0.361
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T05-10-00Z_short_rsi_range_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4834.255,
      "stop": 4837.352,
      "target": 4828.061,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 24.94,
        "bb_width_pct": 0.37
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T05-10-00Z_short_vwap_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4834.255,
      "stop": 4838.654,
      "target": 4825.457,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 24.94,
        "bb_width_pct": 0.37
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T05-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4834.255,
      "stop": 4838.626,
      "target": 4825.513,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 24.94,
        "bb_width_pct": 0.37
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T05-20-00Z_short_vwap_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4832.65,
      "stop": 4836.107,
      "target": 4825.737,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.29,
        "bb_width_pct": 0.323
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T05-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4832.65,
      "stop": 4836.219,
      "target": 4825.513,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.29,
        "bb_width_pct": 0.323
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T05-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4832.65,
      "stop": 4833.899,
      "target": 4830.152,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.29,
        "bb_width_pct": 0.323
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T06-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4824.17,
      "stop": 4821.352,
      "target": 4829.806,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.47,
        "bb_width_pct": 0.337
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T06-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4824.17,
      "stop": 4822.317,
      "target": 4827.876,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.47,
        "bb_width_pct": 0.337
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T06-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T06:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4824.505,
      "stop": 4822.339,
      "target": 4828.837,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 16.36,
        "bb_width_pct": 0.377
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T06-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T06:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4820.065,
      "stop": 4815.767,
      "target": 4828.662,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.2,
        "bb_width_pct": 0.41
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T06-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T06:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4820.065,
      "stop": 4817.0,
      "target": 4826.194,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.2,
        "bb_width_pct": 0.41
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T06-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4817.105,
      "stop": 4812.029,
      "target": 4827.256,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.11,
        "bb_width_pct": 0.501
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T06-30-00Z_long_rsi_range_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4817.105,
      "stop": 4812.029,
      "target": 4827.256,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.11,
        "bb_width_pct": 0.501
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T06-30-00Z_long_vwap_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4817.105,
      "stop": 4812.884,
      "target": 4825.546,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.11,
        "bb_width_pct": 0.501
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T06-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4817.105,
      "stop": 4812.402,
      "target": 4826.51,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 22.11,
        "bb_width_pct": 0.501
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T06-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4817.105,
      "stop": 4813.421,
      "target": 4824.474,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.11,
        "bb_width_pct": 0.501
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T06-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4820.01,
      "stop": 4816.76,
      "target": 4826.51,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.73,
        "bb_width_pct": 0.504
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T07-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T07:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4824.4,
      "stop": 4823.345,
      "target": 4826.51,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.12,
        "bb_width_pct": 0.315
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T08-10-00Z_long_rsi_range_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T08:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4812.015,
      "stop": 4806.092,
      "target": 4823.86,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.56,
        "bb_width_pct": 0.462
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T08-10-00Z_long_vwap_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T08:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4812.015,
      "stop": 4806.353,
      "target": 4823.338,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.56,
        "bb_width_pct": 0.462
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T08-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T08:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4812.015,
      "stop": 4806.568,
      "target": 4822.91,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 22.56,
        "bb_width_pct": 0.462
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T08-25-00Z_long_vwap_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T08:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4811.55,
      "stop": 4806.602,
      "target": 4821.445,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.61,
        "bb_width_pct": 0.578
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T08-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T08:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4811.55,
      "stop": 4806.353,
      "target": 4821.945,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 18.61,
        "bb_width_pct": 0.578
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T08-35-00Z_long_rsi_range_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4810.28,
      "stop": 4805.358,
      "target": 4820.124,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.22,
        "bb_width_pct": 0.634
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T08-35-00Z_long_vwap_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4810.28,
      "stop": 4805.305,
      "target": 4820.231,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.22,
        "bb_width_pct": 0.634
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T08-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4810.28,
      "stop": 4804.809,
      "target": 4821.222,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 26.22,
        "bb_width_pct": 0.634
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T08-40-00Z_long_rsi_range_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T08:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4812.1,
      "stop": 4808.512,
      "target": 4819.275,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.75,
        "bb_width_pct": 0.626
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T08-40-00Z_long_vwap_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T08:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4812.1,
      "stop": 4808.249,
      "target": 4819.802,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.75,
        "bb_width_pct": 0.626
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T08-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T08:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4812.1,
      "stop": 4807.999,
      "target": 4820.302,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 25.75,
        "bb_width_pct": 0.626
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T08-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T08:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4812.1,
      "stop": 4809.67,
      "target": 4816.961,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.75,
        "bb_width_pct": 0.626
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T08-50-00Z_long_rsi_range_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T08:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4811.445,
      "stop": 4808.354,
      "target": 4817.626,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.34,
        "bb_width_pct": 0.604
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T08-50-00Z_long_vwap_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T08:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4811.445,
      "stop": 4807.648,
      "target": 4819.04,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.34,
        "bb_width_pct": 0.604
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T08-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T08:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4811.445,
      "stop": 4807.764,
      "target": 4818.807,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 19.34,
        "bb_width_pct": 0.604
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T08-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T08:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4811.445,
      "stop": 4809.207,
      "target": 4815.922,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.34,
        "bb_width_pct": 0.604
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T08-55-00Z_long_rsi_range_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T08:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4813.85,
      "stop": 4812.149,
      "target": 4817.252,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.75,
        "bb_width_pct": 0.603
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T08-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T08:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4813.85,
      "stop": 4811.371,
      "target": 4818.807,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.75,
        "bb_width_pct": 0.603
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T09-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4811.28,
      "stop": 4810.287,
      "target": 4813.266,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.48,
        "bb_width_pct": 0.246
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T09-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4811.28,
      "stop": 4809.303,
      "target": 4815.234,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.48,
        "bb_width_pct": 0.246
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T09-35-00Z_long_vwap_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4812.37,
      "stop": 4809.718,
      "target": 4817.675,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.17,
        "bb_width_pct": 0.195
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T09-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4812.37,
      "stop": 4809.151,
      "target": 4818.807,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.17,
        "bb_width_pct": 0.195
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T09-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T09:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4812.82,
      "stop": 4809.826,
      "target": 4818.807,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 2.59,
        "bb_width_pct": 0.191
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T10-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T10:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4808.025,
      "stop": 4805.551,
      "target": 4812.973,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.15,
        "bb_width_pct": 0.215
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T10-15-00Z_long_rsi_range_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T10:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4808.025,
      "stop": 4805.551,
      "target": 4812.973,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.15,
        "bb_width_pct": 0.215
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T10-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T10:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4808.025,
      "stop": 4802.634,
      "target": 4818.807,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.15,
        "bb_width_pct": 0.215
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T10-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T10:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4808.025,
      "stop": 4805.616,
      "target": 4812.844,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.15,
        "bb_width_pct": 0.215
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T10-20-00Z_long_rsi_range_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T10:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4808.57,
      "stop": 4806.457,
      "target": 4812.796,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.91,
        "bb_width_pct": 0.229
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T10-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T10:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4808.57,
      "stop": 4803.781,
      "target": 4818.148,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 13.91,
        "bb_width_pct": 0.229
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T10-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T10:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4808.05,
      "stop": 4805.862,
      "target": 4812.427,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.64,
        "bb_width_pct": 0.263
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T10-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T10:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4808.05,
      "stop": 4803.155,
      "target": 4817.84,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.64,
        "bb_width_pct": 0.263
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T10-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T10:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4808.05,
      "stop": 4806.3,
      "target": 4811.55,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.64,
        "bb_width_pct": 0.263
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T10-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T10:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4810.01,
      "stop": 4806.121,
      "target": 4817.788,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 2.4,
        "bb_width_pct": 0.265
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T10-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T10:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4809.55,
      "stop": 4805.431,
      "target": 4817.788,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.34,
        "bb_width_pct": 0.243
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T10-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T10:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4811.445,
      "stop": 4808.274,
      "target": 4817.788,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.93,
        "bb_width_pct": 0.225
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T11-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T11:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4818.255,
      "stop": 4821.493,
      "target": 4811.779,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.75,
        "bb_width_pct": 0.3
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T11-05-00Z_short_vwap_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T11:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4818.255,
      "stop": 4821.795,
      "target": 4811.176,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.75,
        "bb_width_pct": 0.3
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T11-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T11:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4818.255,
      "stop": 4820.891,
      "target": 4812.982,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.75,
        "bb_width_pct": 0.3
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T11-10-00Z_short_vwap_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T11:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4817.54,
      "stop": 4820.492,
      "target": 4811.637,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.65,
        "bb_width_pct": 0.317
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T11-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T11:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4817.54,
      "stop": 4819.602,
      "target": 4813.417,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.65,
        "bb_width_pct": 0.317
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T11-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T11:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4818.06,
      "stop": 4820.161,
      "target": 4813.859,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.49,
        "bb_width_pct": 0.335
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T11-20-00Z_short_rsi_range_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T11:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4817.485,
      "stop": 4819.971,
      "target": 4812.514,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 20.22,
        "bb_width_pct": 0.345
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T11-20-00Z_short_vwap_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T11:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4817.485,
      "stop": 4820.029,
      "target": 4812.398,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 20.22,
        "bb_width_pct": 0.345
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T11-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T11:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4817.485,
      "stop": 4819.784,
      "target": 4812.887,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 20.22,
        "bb_width_pct": 0.345
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T11-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T11:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4817.485,
      "stop": 4819.125,
      "target": 4814.204,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.22,
        "bb_width_pct": 0.345
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T11-35-00Z_short_rsi_range_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T11:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4818.4,
      "stop": 4820.981,
      "target": 4813.238,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 22.17,
        "bb_width_pct": 0.381
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T11-35-00Z_short_vwap_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T11:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4818.4,
      "stop": 4820.998,
      "target": 4813.204,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 22.17,
        "bb_width_pct": 0.381
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T11-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T11:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4818.4,
      "stop": 4821.156,
      "target": 4812.887,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 22.17,
        "bb_width_pct": 0.381
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T11-40-00Z_short_rsi_range_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T11:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4817.99,
      "stop": 4820.233,
      "target": 4813.504,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 17.34,
        "bb_width_pct": 0.391
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T11-40-00Z_short_vwap_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T11:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4817.99,
      "stop": 4820.282,
      "target": 4813.406,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 17.34,
        "bb_width_pct": 0.391
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T11-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T11:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4817.99,
      "stop": 4820.541,
      "target": 4812.887,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.34,
        "bb_width_pct": 0.391
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T11-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T11:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4816.66,
      "stop": 4818.546,
      "target": 4812.887,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.69,
        "bb_width_pct": 0.393
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T12-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4819.62,
      "stop": 4822.499,
      "target": 4813.863,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.36,
        "bb_width_pct": 0.373
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T12-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4819.62,
      "stop": 4821.069,
      "target": 4816.723,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.36,
        "bb_width_pct": 0.373
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T12-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T12:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4816.345,
      "stop": 4817.441,
      "target": 4814.153,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.46,
        "bb_width_pct": 0.335
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T12-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T12:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4815.185,
      "stop": 4813.825,
      "target": 4817.905,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.86,
        "bb_width_pct": 0.132
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T12-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T12:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4815.185,
      "stop": 4815.701,
      "target": 4814.153,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.86,
        "bb_width_pct": 0.132
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T12-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T12:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4817.17,
      "stop": 4816.872,
      "target": 4817.766,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.95,
        "bb_width_pct": 0.127
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T12-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T12:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4814.75,
      "stop": 4813.329,
      "target": 4817.591,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.01,
        "bb_width_pct": 0.137
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T13-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4819.645,
      "stop": 4820.689,
      "target": 4817.557,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.7,
        "bb_width_pct": 0.146
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T13-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T13:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4815.84,
      "stop": 4816.684,
      "target": 4814.153,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.38,
        "bb_width_pct": 0.147
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T13-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T13:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4816.72,
      "stop": 4818.004,
      "target": 4814.153,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.01,
        "bb_width_pct": 0.145
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T13-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4821.565,
      "stop": 4825.271,
      "target": 4814.153,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.01,
        "bb_width_pct": 0.163
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T13-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T13:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4816.37,
      "stop": 4815.881,
      "target": 4817.348,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.5,
        "bb_width_pct": 0.159
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T13-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T13:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4816.37,
      "stop": 4817.254,
      "target": 4814.602,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.5,
        "bb_width_pct": 0.159
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T13-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4813.97,
      "stop": 4812.341,
      "target": 4817.229,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.9,
        "bb_width_pct": 0.17
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T13-55-00Z_long_rsi_range_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T13:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4795.065,
      "stop": 4785.132,
      "target": 4814.931,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.82,
        "bb_width_pct": 0.583
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T13-55-00Z_long_vwap_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T13:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4795.065,
      "stop": 4784.788,
      "target": 4815.618,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.82,
        "bb_width_pct": 0.583
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T13-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T13:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4795.065,
      "stop": 4789.014,
      "target": 4807.167,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 18.82,
        "bb_width_pct": 0.583
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T14-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T14:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4799.935,
      "stop": 4793.438,
      "target": 4812.93,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.7,
        "bb_width_pct": 0.752
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T14-05-00Z_long_vwap_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T14:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4799.935,
      "stop": 4792.922,
      "target": 4813.961,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.7,
        "bb_width_pct": 0.752
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T14-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T14:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4799.935,
      "stop": 4797.71,
      "target": 4804.385,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.7,
        "bb_width_pct": 0.752
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T14-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T14:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4799.935,
      "stop": 4794.837,
      "target": 4810.131,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.7,
        "bb_width_pct": 0.752
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T14-10-00Z_long_vwap_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T14:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4801.04,
      "stop": 4794.803,
      "target": 4813.513,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.05,
        "bb_width_pct": 0.771
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T14-20-00Z_long_rsi_range_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T14:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4795.91,
      "stop": 4788.898,
      "target": 4809.933,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.33,
        "bb_width_pct": 0.864
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T14-20-00Z_long_vwap_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T14:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4795.91,
      "stop": 4787.711,
      "target": 4812.308,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.33,
        "bb_width_pct": 0.864
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T14-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T14:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4795.91,
      "stop": 4790.495,
      "target": 4806.739,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.33,
        "bb_width_pct": 0.864
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T14-25-00Z_long_vwap_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T14:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4799.345,
      "stop": 4793.109,
      "target": 4811.817,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.41,
        "bb_width_pct": 0.879
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T14-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T14:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4787.61,
      "stop": 4778.79,
      "target": 4805.251,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.08,
        "bb_width_pct": 0.968
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T14-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T14:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4787.61,
      "stop": 4780.335,
      "target": 4802.16,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.08,
        "bb_width_pct": 0.968
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T14-45-00Z_long_rsi_range_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T14:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4790.955,
      "stop": 4784.429,
      "target": 4804.006,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.5,
        "bb_width_pct": 0.979
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T14-45-00Z_long_vwap_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T14:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4790.955,
      "stop": 4781.77,
      "target": 4809.325,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.5,
        "bb_width_pct": 0.979
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T14-50-00Z_long_rsi_range_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T14:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4791.55,
      "stop": 4785.972,
      "target": 4802.707,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.95,
        "bb_width_pct": 0.968
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T14-50-00Z_long_vwap_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T14:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4791.55,
      "stop": 4782.929,
      "target": 4808.792,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.95,
        "bb_width_pct": 0.968
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T15-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T15:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4806.505,
      "stop": 4810.693,
      "target": 4798.128,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.4,
        "bb_width_pct": 0.518
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T16-05-00Z_short_rsi_range_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T16:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4806.18,
      "stop": 4808.949,
      "target": 4800.641,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 5.28,
        "bb_width_pct": 0.571
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T16-25-00Z_long_vwap_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T16:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4799.41,
      "stop": 4795.655,
      "target": 4806.92,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.65,
        "bb_width_pct": 0.416
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T16-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4796.27,
      "stop": 4792.821,
      "target": 4803.168,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.83,
        "bb_width_pct": 0.337
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T16-35-00Z_long_vwap_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4796.27,
      "stop": 4791.175,
      "target": 4806.461,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.83,
        "bb_width_pct": 0.337
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T16-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4796.27,
      "stop": 4793.691,
      "target": 4801.428,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.83,
        "bb_width_pct": 0.337
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T16-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T16:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4789.995,
      "stop": 4784.616,
      "target": 4800.753,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.11,
        "bb_width_pct": 0.508
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T16-50-00Z_long_vwap_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T16:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4789.995,
      "stop": 4782.182,
      "target": 4805.62,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.11,
        "bb_width_pct": 0.508
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T16-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T16:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4789.995,
      "stop": 4785.848,
      "target": 4798.289,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.11,
        "bb_width_pct": 0.508
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T16-55-00Z_long_vwap_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4792.095,
      "stop": 4785.447,
      "target": 4805.392,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.92,
        "bb_width_pct": 0.528
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T17-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T17:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4787.22,
      "stop": 4784.802,
      "target": 4792.056,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.52,
        "bb_width_pct": 0.549
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T17-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T17:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4789.395,
      "stop": 4788.53,
      "target": 4791.125,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.81,
        "bb_width_pct": 0.361
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T18-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T18:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4790.68,
      "stop": 4787.396,
      "target": 4797.247,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.85,
        "bb_width_pct": 0.328
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T18-45-00Z_short_rsi_range_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T18:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4790.225,
      "stop": 4790.898,
      "target": 4788.879,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 5.13,
        "bb_width_pct": 0.21
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T19-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T19:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4792.72,
      "stop": 4794.698,
      "target": 4788.764,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.71,
        "bb_width_pct": 0.202
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T19-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T19:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4793.53,
      "stop": 4795.706,
      "target": 4789.178,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.42,
        "bb_width_pct": 0.208
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T19-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T19:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4793.205,
      "stop": 4794.806,
      "target": 4790.003,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.3,
        "bb_width_pct": 0.143
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T19-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T19:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4792.745,
      "stop": 4793.978,
      "target": 4790.279,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.37,
        "bb_width_pct": 0.141
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T19-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T19:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4791.925,
      "stop": 4792.577,
      "target": 4790.621,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.33,
        "bb_width_pct": 0.126
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T19-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T19:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4794.095,
      "stop": 4795.445,
      "target": 4791.396,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.48,
        "bb_width_pct": 0.189
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T19-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T19:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4794.095,
      "stop": 4795.774,
      "target": 4790.737,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.48,
        "bb_width_pct": 0.189
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T19-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T19:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4794.095,
      "stop": 4795.044,
      "target": 4792.198,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.48,
        "bb_width_pct": 0.189
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T20-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T20:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4789.77,
      "stop": 4788.674,
      "target": 4791.962,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.32,
        "bb_width_pct": 0.198
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T22-00-00Z_long_vwap_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T22:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4795.495,
      "stop": 4786.586,
      "target": 4813.312,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.19,
        "bb_width_pct": 0.216
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T22-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T22:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4796.38,
      "stop": 4798.637,
      "target": 4791.867,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.96,
        "bb_width_pct": 0.232
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T22-05-00Z_long_vwap_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T22:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4796.38,
      "stop": 4788.243,
      "target": 4812.654,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.96,
        "bb_width_pct": 0.232
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T22-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T22:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4795.365,
      "stop": 4797.741,
      "target": 4790.613,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.58,
        "bb_width_pct": 0.241
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T22-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T22:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4795.365,
      "stop": 4797.063,
      "target": 4791.968,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.58,
        "bb_width_pct": 0.241
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T22-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T22:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4792.66,
      "stop": 4792.973,
      "target": 4792.034,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.07,
        "bb_width_pct": 0.239
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T22-20-00Z_long_vwap_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T22:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4793.83,
      "stop": 4785.366,
      "target": 4810.757,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.42,
        "bb_width_pct": 0.216
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T22-25-00Z_long_vwap_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T22:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4794.06,
      "stop": 4785.984,
      "target": 4810.213,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.47,
        "bb_width_pct": 0.216
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T22-30-00Z_long_vwap_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T22:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4794.965,
      "stop": 4787.607,
      "target": 4809.681,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.32,
        "bb_width_pct": 0.217
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T22-40-00Z_long_vwap_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T22:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4795.38,
      "stop": 4788.677,
      "target": 4808.786,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.8,
        "bb_width_pct": 0.227
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T22-45-00Z_long_vwap_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T22:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4795.61,
      "stop": 4789.213,
      "target": 4808.404,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.99,
        "bb_width_pct": 0.236
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T22-50-00Z_long_vwap_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T22:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4796.215,
      "stop": 4790.297,
      "target": 4808.05,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.89,
        "bb_width_pct": 0.244
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T22-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T22:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4795.4,
      "stop": 4796.82,
      "target": 4792.56,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.55,
        "bb_width_pct": 0.249
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T23-15-00Z_long_vwap_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4796.75,
      "stop": 4791.941,
      "target": 4806.369,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.98,
        "bb_width_pct": 0.189
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T23-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T23:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4796.655,
      "stop": 4798.702,
      "target": 4792.56,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.46,
        "bb_width_pct": 0.169
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T23-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T23:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4794.5,
      "stop": 4795.47,
      "target": 4792.56,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.97,
        "bb_width_pct": 0.153
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T23-30-00Z_long_vwap_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4795.005,
      "stop": 4789.703,
      "target": 4805.609,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.62,
        "bb_width_pct": 0.12
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T23-35-00Z_long_vwap_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4795.12,
      "stop": 4789.992,
      "target": 4805.376,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.44,
        "bb_width_pct": 0.091
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-16T23-40-00Z_long_vwap_mean_reversion",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4795.89,
      "stop": 4791.255,
      "target": 4805.161,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.65,
        "bb_width_pct": 0.092
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T00-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T00:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4790.61,
      "stop": 4788.77,
      "target": 4794.289,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.43,
        "bb_width_pct": 0.167
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T00-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T00:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4790.61,
      "stop": 4789.804,
      "target": 4792.222,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.43,
        "bb_width_pct": 0.167
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T00-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T00:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4790.61,
      "stop": 4789.227,
      "target": 4793.375,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.43,
        "bb_width_pct": 0.167
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T00-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T00:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4790.5,
      "stop": 4788.717,
      "target": 4794.066,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.17,
        "bb_width_pct": 0.18
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T00-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T00:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4790.5,
      "stop": 4789.199,
      "target": 4793.101,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.17,
        "bb_width_pct": 0.18
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T00-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T00:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4791.19,
      "stop": 4789.823,
      "target": 4793.923,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.9,
        "bb_width_pct": 0.187
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T00-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T00:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4791.19,
      "stop": 4790.325,
      "target": 4792.919,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.9,
        "bb_width_pct": 0.187
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T00-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4796.475,
      "stop": 4797.949,
      "target": 4793.528,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.18,
        "bb_width_pct": 0.197
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T00-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4796.475,
      "stop": 4798.2,
      "target": 4793.024,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.18,
        "bb_width_pct": 0.197
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T00-35-00Z_short_vwap_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T00:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4796.4,
      "stop": 4798.752,
      "target": 4791.697,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.99,
        "bb_width_pct": 0.201
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T00-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T00:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4796.4,
      "stop": 4798.512,
      "target": 4792.175,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.99,
        "bb_width_pct": 0.201
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T00-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T00:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4799.265,
      "stop": 4801.858,
      "target": 4794.078,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.88,
        "bb_width_pct": 0.243
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T00-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T00:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4799.265,
      "stop": 4801.713,
      "target": 4794.369,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.88,
        "bb_width_pct": 0.243
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T00-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T00:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4795.28,
      "stop": 4796.104,
      "target": 4793.632,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.21,
        "bb_width_pct": 0.243
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T01-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4789.825,
      "stop": 4787.869,
      "target": 4793.737,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.44,
        "bb_width_pct": 0.245
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T01-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4789.825,
      "stop": 4787.713,
      "target": 4794.049,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.44,
        "bb_width_pct": 0.245
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T01-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T01:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4782.88,
      "stop": 4778.425,
      "target": 4791.79,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.19,
        "bb_width_pct": 0.428
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T01-15-00Z_long_vwap_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T01:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4782.88,
      "stop": 4778.723,
      "target": 4791.194,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.19,
        "bb_width_pct": 0.428
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T01-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T01:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4782.88,
      "stop": 4778.875,
      "target": 4790.89,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.19,
        "bb_width_pct": 0.428
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T01-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4774.475,
      "stop": 4767.463,
      "target": 4788.498,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.72,
        "bb_width_pct": 0.696
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T01-30-00Z_long_vwap_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4774.475,
      "stop": 4767.494,
      "target": 4788.438,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.72,
        "bb_width_pct": 0.696
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T01-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4774.475,
      "stop": 4769.424,
      "target": 4784.577,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 19.72,
        "bb_width_pct": 0.696
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T01-40-00Z_long_rsi_range_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T01:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4777.705,
      "stop": 4773.022,
      "target": 4787.07,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.74,
        "bb_width_pct": 0.763
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T01-40-00Z_long_vwap_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T01:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4777.705,
      "stop": 4772.949,
      "target": 4787.216,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.74,
        "bb_width_pct": 0.763
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T01-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T01:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4777.705,
      "stop": 4774.271,
      "target": 4784.573,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 19.74,
        "bb_width_pct": 0.763
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T01-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T01:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4777.705,
      "stop": 4774.399,
      "target": 4784.317,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.74,
        "bb_width_pct": 0.763
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T02-45-00Z_short_rsi_range_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4789.73,
      "stop": 4792.208,
      "target": 4784.774,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 19.32,
        "bb_width_pct": 0.623
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T03-20-00Z_short_vwap_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T03:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4795.945,
      "stop": 4799.514,
      "target": 4788.806,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.48,
        "bb_width_pct": 0.347
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T03-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T03:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4795.945,
      "stop": 4801.631,
      "target": 4784.573,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.48,
        "bb_width_pct": 0.347
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T03-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T03:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4795.945,
      "stop": 4798.371,
      "target": 4791.093,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.48,
        "bb_width_pct": 0.347
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T03-25-00Z_short_vwap_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4794.16,
      "stop": 4796.77,
      "target": 4788.941,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.53,
        "bb_width_pct": 0.266
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T03-50-00Z_short_vwap_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T03:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4794.185,
      "stop": 4796.517,
      "target": 4789.521,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 9.02,
        "bb_width_pct": 0.263
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T03-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T03:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4794.185,
      "stop": 4798.991,
      "target": 4784.573,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.02,
        "bb_width_pct": 0.263
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T04-05-00Z_short_rsi_range_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4793.925,
      "stop": 4794.288,
      "target": 4793.199,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 4.57,
        "bb_width_pct": 0.242
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T04-05-00Z_short_vwap_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4793.925,
      "stop": 4795.996,
      "target": 4789.783,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.57,
        "bb_width_pct": 0.242
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T04-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4793.925,
      "stop": 4799.11,
      "target": 4783.555,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.57,
        "bb_width_pct": 0.242
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T04-20-00Z_short_vwap_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4795.305,
      "stop": 4797.917,
      "target": 4790.082,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.76,
        "bb_width_pct": 0.246
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T04-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4795.305,
      "stop": 4801.395,
      "target": 4783.125,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.76,
        "bb_width_pct": 0.246
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T04-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T04:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4797.11,
      "stop": 4798.61,
      "target": 4794.11,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.27,
        "bb_width_pct": 0.217
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T04-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4798.895,
      "stop": 4800.448,
      "target": 4795.789,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.63,
        "bb_width_pct": 0.173
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T04-45-00Z_short_vwap_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4798.895,
      "stop": 4802.951,
      "target": 4790.783,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.63,
        "bb_width_pct": 0.173
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T04-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4798.895,
      "stop": 4806.016,
      "target": 4784.653,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.63,
        "bb_width_pct": 0.173
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T04-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4798.895,
      "stop": 4800.546,
      "target": 4795.593,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.63,
        "bb_width_pct": 0.173
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T04-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T04:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4799.36,
      "stop": 4801.063,
      "target": 4795.954,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.03,
        "bb_width_pct": 0.185
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T05-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4801.225,
      "stop": 4803.586,
      "target": 4796.503,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.32,
        "bb_width_pct": 0.242
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T05-00-00Z_short_rsi_range_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4801.225,
      "stop": 4803.586,
      "target": 4796.503,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 21.32,
        "bb_width_pct": 0.242
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T05-00-00Z_short_vwap_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4801.225,
      "stop": 4806.185,
      "target": 4791.305,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 21.32,
        "bb_width_pct": 0.242
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T05-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4801.225,
      "stop": 4806.835,
      "target": 4790.005,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 21.32,
        "bb_width_pct": 0.242
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T05-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4804.86,
      "stop": 4808.512,
      "target": 4797.555,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 26.02,
        "bb_width_pct": 0.307
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T05-15-00Z_short_rsi_range_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4803.42,
      "stop": 4806.094,
      "target": 4798.072,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 18.8,
        "bb_width_pct": 0.312
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T05-15-00Z_short_vwap_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4803.42,
      "stop": 4809.183,
      "target": 4791.895,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 18.8,
        "bb_width_pct": 0.312
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T05-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4803.42,
      "stop": 4807.42,
      "target": 4795.42,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.8,
        "bb_width_pct": 0.312
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T05-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4803.42,
      "stop": 4805.667,
      "target": 4798.927,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.8,
        "bb_width_pct": 0.312
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T05-25-00Z_short_vwap_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4803.49,
      "stop": 4809.105,
      "target": 4792.26,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 18.9,
        "bb_width_pct": 0.332
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T05-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4803.49,
      "stop": 4807.525,
      "target": 4795.42,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.9,
        "bb_width_pct": 0.332
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T05-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4803.49,
      "stop": 4805.308,
      "target": 4799.853,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.9,
        "bb_width_pct": 0.332
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T05-30-00Z_short_vwap_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4798.595,
      "stop": 4801.7,
      "target": 4792.385,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.45,
        "bb_width_pct": 0.32
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T05-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4798.595,
      "stop": 4800.183,
      "target": 4795.42,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.45,
        "bb_width_pct": 0.32
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T06-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4793.615,
      "stop": 4790.562,
      "target": 4799.722,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.34,
        "bb_width_pct": 0.281
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T06-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4793.615,
      "stop": 4791.367,
      "target": 4798.111,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.34,
        "bb_width_pct": 0.281
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T06-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T06:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4787.58,
      "stop": 4782.551,
      "target": 4797.639,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.91,
        "bb_width_pct": 0.485
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T06-20-00Z_long_rsi_range_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T06:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4787.58,
      "stop": 4782.551,
      "target": 4797.639,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.91,
        "bb_width_pct": 0.485
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T06-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T06:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4787.58,
      "stop": 4783.555,
      "target": 4795.63,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 25.91,
        "bb_width_pct": 0.485
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T06-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4786.015,
      "stop": 4781.412,
      "target": 4795.221,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.04,
        "bb_width_pct": 0.609
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T06-35-00Z_long_rsi_range_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4786.015,
      "stop": 4781.412,
      "target": 4795.221,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.04,
        "bb_width_pct": 0.609
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T06-35-00Z_long_vwap_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4786.015,
      "stop": 4782.906,
      "target": 4792.233,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.04,
        "bb_width_pct": 0.609
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T06-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4786.015,
      "stop": 4782.055,
      "target": 4793.935,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 18.04,
        "bb_width_pct": 0.609
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T06-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4786.015,
      "stop": 4782.998,
      "target": 4792.049,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.04,
        "bb_width_pct": 0.609
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T06-45-00Z_long_rsi_range_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T06:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4785.88,
      "stop": 4782.062,
      "target": 4793.517,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.93,
        "bb_width_pct": 0.607
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T06-45-00Z_long_vwap_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T06:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4785.88,
      "stop": 4782.782,
      "target": 4792.076,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.93,
        "bb_width_pct": 0.607
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T06-55-00Z_long_rsi_range_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T06:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4785.075,
      "stop": 4781.809,
      "target": 4791.607,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.27,
        "bb_width_pct": 0.561
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T06-55-00Z_long_vwap_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T06:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4785.075,
      "stop": 4781.652,
      "target": 4791.921,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.27,
        "bb_width_pct": 0.561
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T07-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4794.605,
      "stop": 4797.767,
      "target": 4788.282,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.2,
        "bb_width_pct": 0.277
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T07-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T07:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4786.085,
      "stop": 4784.382,
      "target": 4789.491,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.11,
        "bb_width_pct": 0.229
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T07-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T07:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4785.625,
      "stop": 4784.992,
      "target": 4786.89,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.38,
        "bb_width_pct": 0.258
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T07-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T07:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4785.625,
      "stop": 4782.024,
      "target": 4792.827,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.38,
        "bb_width_pct": 0.258
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T07-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T07:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4785.625,
      "stop": 4784.281,
      "target": 4788.313,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.38,
        "bb_width_pct": 0.258
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T08-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T08:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4785.575,
      "stop": 4782.11,
      "target": 4792.505,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 2.38,
        "bb_width_pct": 0.264
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T08-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T08:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4793.905,
      "stop": 4796.964,
      "target": 4787.787,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.98,
        "bb_width_pct": 0.341
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T08-45-00Z_short_vwap_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T08:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4793.905,
      "stop": 4797.066,
      "target": 4787.583,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.98,
        "bb_width_pct": 0.341
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T08-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T08:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4793.905,
      "stop": 4796.586,
      "target": 4788.542,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.98,
        "bb_width_pct": 0.341
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T09-05-00Z_short_vwap_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T09:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4796.15,
      "stop": 4799.788,
      "target": 4788.873,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.13,
        "bb_width_pct": 0.45
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T09-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T09:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4796.15,
      "stop": 4799.274,
      "target": 4789.903,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.13,
        "bb_width_pct": 0.45
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T09-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T09:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4796.15,
      "stop": 4798.653,
      "target": 4791.143,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.13,
        "bb_width_pct": 0.45
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T09-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T09:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4794.58,
      "stop": 4796.919,
      "target": 4789.903,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.86,
        "bb_width_pct": 0.463
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T09-35-00Z_short_vwap_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4795.68,
      "stop": 4798.449,
      "target": 4790.142,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.94,
        "bb_width_pct": 0.423
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T09-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4795.68,
      "stop": 4798.569,
      "target": 4789.903,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.94,
        "bb_width_pct": 0.423
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T10-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T10:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4791.505,
      "stop": 4790.271,
      "target": 4793.973,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.45,
        "bb_width_pct": 0.225
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T10-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T10:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4788.29,
      "stop": 4785.74,
      "target": 4793.389,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.18,
        "bb_width_pct": 0.241
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T10-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T10:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4788.29,
      "stop": 4786.607,
      "target": 4791.657,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.18,
        "bb_width_pct": 0.241
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T10-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T10:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4788.01,
      "stop": 4786.143,
      "target": 4791.744,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.9,
        "bb_width_pct": 0.277
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T10-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T10:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4788.01,
      "stop": 4786.88,
      "target": 4790.27,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.9,
        "bb_width_pct": 0.277
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T10-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T10:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4786.33,
      "stop": 4783.797,
      "target": 4791.396,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.46,
        "bb_width_pct": 0.292
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T10-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T10:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4786.33,
      "stop": 4784.547,
      "target": 4789.895,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.46,
        "bb_width_pct": 0.292
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T10-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T10:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4787.49,
      "stop": 4786.402,
      "target": 4789.666,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.87,
        "bb_width_pct": 0.287
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T11-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T11:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4801.58,
      "stop": 4806.979,
      "target": 4790.783,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.94,
        "bb_width_pct": 0.466
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T11-50-00Z_short_rsi_range_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T11:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4801.58,
      "stop": 4806.979,
      "target": 4790.783,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 18.94,
        "bb_width_pct": 0.466
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T11-50-00Z_short_vwap_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T11:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4801.58,
      "stop": 4807.121,
      "target": 4790.498,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 18.94,
        "bb_width_pct": 0.466
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T11-55-00Z_short_vwap_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T11:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4799.125,
      "stop": 4803.243,
      "target": 4790.89,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 18.05,
        "bb_width_pct": 0.49
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T11-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T11:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4799.125,
      "stop": 4801.878,
      "target": 4793.619,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.05,
        "bb_width_pct": 0.49
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T12-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4804.16,
      "stop": 4810.376,
      "target": 4791.729,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.93,
        "bb_width_pct": 0.544
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T12-10-00Z_short_rsi_range_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T12:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4804.02,
      "stop": 4809.41,
      "target": 4793.239,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 24.04,
        "bb_width_pct": 0.617
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T14-25-00Z_short_vwap_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T14:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4871.62,
      "stop": 4883.717,
      "target": 4847.426,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.22,
        "bb_width_pct": 0.949
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T14-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T14:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4871.62,
      "stop": 4888.407,
      "target": 4838.045,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.22,
        "bb_width_pct": 0.949
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T14-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T14:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4871.62,
      "stop": 4876.936,
      "target": 4860.989,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.22,
        "bb_width_pct": 0.949
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T14-35-00Z_short_vwap_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T14:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4875.755,
      "stop": 4889.045,
      "target": 4849.174,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.03,
        "bb_width_pct": 0.798
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T14-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T14:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4875.755,
      "stop": 4894.493,
      "target": 4838.28,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.03,
        "bb_width_pct": 0.798
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T14-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T14:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4875.755,
      "stop": 4881.719,
      "target": 4863.826,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.03,
        "bb_width_pct": 0.798
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T14-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T14:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4877.435,
      "stop": 4883.591,
      "target": 4865.122,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.37,
        "bb_width_pct": 0.673
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T14-50-00Z_short_vwap_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T14:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4876.545,
      "stop": 4889.018,
      "target": 4851.598,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.6,
        "bb_width_pct": 0.651
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T14-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T14:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4876.545,
      "stop": 4894.285,
      "target": 4841.065,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.6,
        "bb_width_pct": 0.651
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T14-55-00Z_short_vwap_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T14:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4873.15,
      "stop": 4883.607,
      "target": 4852.236,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.08,
        "bb_width_pct": 0.641
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T14-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T14:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4873.15,
      "stop": 4888.705,
      "target": 4842.04,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.08,
        "bb_width_pct": 0.641
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T15-00-00Z_short_vwap_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T15:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4868.18,
      "stop": 4875.937,
      "target": 4852.666,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 9.43,
        "bb_width_pct": 0.619
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T15-10-00Z_short_vwap_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T15:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4867.755,
      "stop": 4874.82,
      "target": 4853.626,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.32,
        "bb_width_pct": 0.398
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T15-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T15:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4870.3,
      "stop": 4868.85,
      "target": 4873.2,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.25,
        "bb_width_pct": 0.384
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T15-25-00Z_short_vwap_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T15:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4866.135,
      "stop": 4871.866,
      "target": 4854.674,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 9.34,
        "bb_width_pct": 0.38
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T15-35-00Z_short_vwap_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T15:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4869.975,
      "stop": 4877.258,
      "target": 4855.408,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.09,
        "bb_width_pct": 0.35
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T15-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T15:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4863.71,
      "stop": 4859.922,
      "target": 4871.287,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.64,
        "bb_width_pct": 0.443
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T15-55-00Z_short_vwap_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T15:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4867.445,
      "stop": 4873.061,
      "target": 4856.213,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.28,
        "bb_width_pct": 0.443
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T16-00-00Z_short_vwap_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4866.88,
      "stop": 4872.102,
      "target": 4856.436,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.15,
        "bb_width_pct": 0.427
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T16-10-00Z_short_vwap_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T16:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4871.475,
      "stop": 4878.71,
      "target": 4857.006,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 1.07,
        "bb_width_pct": 0.407
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T16-15-00Z_short_vwap_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T16:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4870.79,
      "stop": 4877.543,
      "target": 4857.284,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.85,
        "bb_width_pct": 0.394
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T16-20-00Z_short_vwap_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T16:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4870.5,
      "stop": 4876.977,
      "target": 4857.546,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.11,
        "bb_width_pct": 0.37
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T16-25-00Z_short_vwap_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T16:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4867.745,
      "stop": 4872.739,
      "target": 4857.757,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.69,
        "bb_width_pct": 0.314
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T16-40-00Z_short_vwap_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T16:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4868.41,
      "stop": 4873.401,
      "target": 4858.427,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 1.95,
        "bb_width_pct": 0.279
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T16-45-00Z_short_vwap_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4866.205,
      "stop": 4870.021,
      "target": 4858.573,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 9.16,
        "bb_width_pct": 0.273
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T17-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T17:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4861.69,
      "stop": 4858.477,
      "target": 4868.116,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.07,
        "bb_width_pct": 0.292
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T17-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T17:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4861.69,
      "stop": 4858.703,
      "target": 4867.664,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.07,
        "bb_width_pct": 0.292
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T17-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T17:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4862.815,
      "stop": 4860.443,
      "target": 4867.559,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.59,
        "bb_width_pct": 0.285
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T17-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T17:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4862.815,
      "stop": 4859.074,
      "target": 4870.297,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 13.59,
        "bb_width_pct": 0.285
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T17-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T17:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4862.815,
      "stop": 4860.621,
      "target": 4867.202,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.59,
        "bb_width_pct": 0.285
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T17-15-00Z_long_rsi_range_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T17:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4863.235,
      "stop": 4861.242,
      "target": 4867.222,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.09,
        "bb_width_pct": 0.291
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T17-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T17:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4858.755,
      "stop": 4854.759,
      "target": 4866.747,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.4,
        "bb_width_pct": 0.368
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T17-25-00Z_long_rsi_range_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T17:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4858.755,
      "stop": 4854.759,
      "target": 4866.747,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.4,
        "bb_width_pct": 0.368
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T17-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T17:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4858.755,
      "stop": 4853.9,
      "target": 4868.465,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 17.4,
        "bb_width_pct": 0.368
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T17-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T17:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4858.755,
      "stop": 4855.636,
      "target": 4864.994,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.4,
        "bb_width_pct": 0.368
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T17-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T17:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4861.915,
      "stop": 4858.64,
      "target": 4868.465,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.31,
        "bb_width_pct": 0.374
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T17-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T17:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4857.74,
      "stop": 4853.668,
      "target": 4865.883,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.86,
        "bb_width_pct": 0.404
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T17-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T17:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4857.74,
      "stop": 4854.591,
      "target": 4864.038,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.86,
        "bb_width_pct": 0.404
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T17-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T17:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4854.865,
      "stop": 4849.656,
      "target": 4865.283,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.64,
        "bb_width_pct": 0.449
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T17-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T17:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4860.435,
      "stop": 4856.42,
      "target": 4868.465,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.34,
        "bb_width_pct": 0.441
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T18-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T18:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4858.11,
      "stop": 4855.334,
      "target": 4863.663,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.3,
        "bb_width_pct": 0.248
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T19-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T19:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4858.215,
      "stop": 4855.491,
      "target": 4863.663,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.31,
        "bb_width_pct": 0.225
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T19-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T19:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4854.83,
      "stop": 4851.892,
      "target": 4860.706,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.24,
        "bb_width_pct": 0.247
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T19-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T19:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4856.675,
      "stop": 4854.791,
      "target": 4860.444,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.89,
        "bb_width_pct": 0.256
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T19-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T19:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4856.675,
      "stop": 4853.181,
      "target": 4863.663,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.89,
        "bb_width_pct": 0.256
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T19-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T19:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4856.86,
      "stop": 4853.459,
      "target": 4863.663,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.02,
        "bb_width_pct": 0.269
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T19-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T19:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4857.665,
      "stop": 4854.666,
      "target": 4863.663,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.53,
        "bb_width_pct": 0.271
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T19-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T19:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4860.09,
      "stop": 4858.414,
      "target": 4863.443,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 11.42,
        "bb_width_pct": 0.267
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T19-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T19:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4854.695,
      "stop": 4852.816,
      "target": 4858.454,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.26,
        "bb_width_pct": 0.271
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T20-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T20:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4851.63,
      "stop": 4849.509,
      "target": 4855.872,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.53,
        "bb_width_pct": 0.343
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T20-15-00Z_long_vwap_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T20:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4851.63,
      "stop": 4848.033,
      "target": 4858.825,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.53,
        "bb_width_pct": 0.343
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T20-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T20:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4851.63,
      "stop": 4848.811,
      "target": 4857.267,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.53,
        "bb_width_pct": 0.343
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T20-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T20:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4851.63,
      "stop": 4849.797,
      "target": 4855.295,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.53,
        "bb_width_pct": 0.343
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T20-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T20:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4845.79,
      "stop": 4841.472,
      "target": 4854.427,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.96,
        "bb_width_pct": 0.368
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T20-30-00Z_long_vwap_mean_reversion",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T20:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4846.63,
      "stop": 4840.936,
      "target": 4858.019,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.34,
        "bb_width_pct": 0.391
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-17T20-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T20:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4846.63,
      "stop": 4841.773,
      "target": 4856.345,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 19.34,
        "bb_width_pct": 0.391
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-19T23-30-00Z_long_rsi_range_reversion",
      "date": "2026-04-19",
      "timestamp": "2026-04-19T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4771.64,
      "stop": 4766.023,
      "target": 4782.873,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.14,
        "bb_width_pct": 1.099
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-19T23-30-00Z_long_vwap_mean_reversion",
      "date": "2026-04-19",
      "timestamp": "2026-04-19T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4771.64,
      "stop": 4767.285,
      "target": 4780.35,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.14,
        "bb_width_pct": 1.099
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-19T23-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-19",
      "timestamp": "2026-04-19T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4771.64,
      "stop": 4750.034,
      "target": 4814.852,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 18.14,
        "bb_width_pct": 1.099
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-19T23-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-19",
      "timestamp": "2026-04-19T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4764.245,
      "stop": 4756.615,
      "target": 4779.505,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.1,
        "bb_width_pct": 0.649
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-19T23-55-00Z_long_rsi_range_reversion",
      "date": "2026-04-19",
      "timestamp": "2026-04-19T23:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4755.365,
      "stop": 4746.93,
      "target": 4772.235,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.18,
        "bb_width_pct": 1.023
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-19T23-55-00Z_long_vwap_mean_reversion",
      "date": "2026-04-19",
      "timestamp": "2026-04-19T23:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4755.365,
      "stop": 4745.659,
      "target": 4774.777,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.18,
        "bb_width_pct": 1.023
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-19T23-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-19",
      "timestamp": "2026-04-19T23:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4755.365,
      "stop": 4733.514,
      "target": 4799.068,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 24.18,
        "bb_width_pct": 1.023
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T00-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4750.015,
      "stop": 4739.765,
      "target": 4770.515,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.14,
        "bb_width_pct": 1.072
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T00-05-00Z_long_rsi_range_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T00:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4752.25,
      "stop": 4743.938,
      "target": 4768.874,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.98,
        "bb_width_pct": 1.083
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T00-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T00:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4752.25,
      "stop": 4729.292,
      "target": 4798.165,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 19.98,
        "bb_width_pct": 1.083
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T00-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T00:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4758.365,
      "stop": 4739.529,
      "target": 4796.038,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 11.71,
        "bb_width_pct": 1.033
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T00-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T00:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4758.365,
      "stop": 4753.907,
      "target": 4767.281,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.71,
        "bb_width_pct": 1.033
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T02-25-00Z_short_vwap_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T02:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4800.51,
      "stop": 4808.295,
      "target": 4784.94,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.88,
        "bb_width_pct": 1.012
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T02-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T02:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4800.51,
      "stop": 4812.943,
      "target": 4775.645,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.88,
        "bb_width_pct": 1.012
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T02-35-00Z_short_vwap_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T02:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4796.78,
      "stop": 4802.244,
      "target": 4785.851,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.08,
        "bb_width_pct": 0.561
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T02-40-00Z_short_vwap_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T02:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4796.3,
      "stop": 4801.364,
      "target": 4786.172,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 17.16,
        "bb_width_pct": 0.51
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T02-45-00Z_short_vwap_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4795.345,
      "stop": 4799.796,
      "target": 4786.442,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 17.01,
        "bb_width_pct": 0.46
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T02-55-00Z_long_rsi_range_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T02:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4797.395,
      "stop": 4794.805,
      "target": 4802.574,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.11,
        "bb_width_pct": 0.422
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T03-00-00Z_short_vwap_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4795.045,
      "stop": 4798.963,
      "target": 4787.208,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 21.06,
        "bb_width_pct": 0.434
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T03-05-00Z_short_vwap_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T03:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4793.805,
      "stop": 4796.999,
      "target": 4787.417,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 18.32,
        "bb_width_pct": 0.461
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T03-15-00Z_long_rsi_range_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4791.84,
      "stop": 4787.571,
      "target": 4800.378,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.96,
        "bb_width_pct": 0.494
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T03-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4791.84,
      "stop": 4789.926,
      "target": 4795.669,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.96,
        "bb_width_pct": 0.494
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T03-40-00Z_short_vwap_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T03:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4793.55,
      "stop": 4796.168,
      "target": 4788.313,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.62,
        "bb_width_pct": 0.307
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T04-10-00Z_short_vwap_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T04:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4793.11,
      "stop": 4795.244,
      "target": 4788.842,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 1.41,
        "bb_width_pct": 0.152
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T04-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4790.885,
      "stop": 4789.781,
      "target": 4793.092,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.98,
        "bb_width_pct": 0.135
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T04-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4790.885,
      "stop": 4785.581,
      "target": 4801.493,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 2.98,
        "bb_width_pct": 0.135
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T04-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4792.925,
      "stop": 4788.961,
      "target": 4800.852,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.28,
        "bb_width_pct": 0.164
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T04-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T04:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4789.035,
      "stop": 4787.357,
      "target": 4792.391,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.87,
        "bb_width_pct": 0.188
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T04-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T04:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4789.035,
      "stop": 4783.126,
      "target": 4800.852,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.87,
        "bb_width_pct": 0.188
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T05-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4790.295,
      "stop": 4789.366,
      "target": 4792.152,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.39,
        "bb_width_pct": 0.184
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T05-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4790.295,
      "stop": 4785.016,
      "target": 4800.852,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.39,
        "bb_width_pct": 0.184
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T05-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4787.085,
      "stop": 4784.756,
      "target": 4791.742,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.09,
        "bb_width_pct": 0.195
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T05-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4786.425,
      "stop": 4783.914,
      "target": 4791.446,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.04,
        "bb_width_pct": 0.218
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T05-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4786.425,
      "stop": 4784.14,
      "target": 4790.996,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.04,
        "bb_width_pct": 0.218
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T05-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4787.83,
      "stop": 4783.337,
      "target": 4796.815,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.47,
        "bb_width_pct": 0.219
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T05-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4788.015,
      "stop": 4784.703,
      "target": 4794.64,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.83,
        "bb_width_pct": 0.227
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T05-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T05:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4785.82,
      "stop": 4783.84,
      "target": 4789.78,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.06,
        "bb_width_pct": 0.291
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T05-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T05:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4785.82,
      "stop": 4783.331,
      "target": 4790.798,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 2.06,
        "bb_width_pct": 0.291
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T05-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T05:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4785.82,
      "stop": 4783.974,
      "target": 4789.513,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.06,
        "bb_width_pct": 0.291
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T05-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4790.75,
      "stop": 4790.727,
      "target": 4790.795,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 2.77,
        "bb_width_pct": 0.285
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T07-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T07:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4797.75,
      "stop": 4801.427,
      "target": 4790.397,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.5,
        "bb_width_pct": 0.31
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T07-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T07:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4795.99,
      "stop": 4798.907,
      "target": 4790.156,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.42,
        "bb_width_pct": 0.328
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T07-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T07:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4795.99,
      "stop": 4798.691,
      "target": 4790.587,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.42,
        "bb_width_pct": 0.328
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T07-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T07:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4795.99,
      "stop": 4798.52,
      "target": 4790.929,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.42,
        "bb_width_pct": 0.328
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T07-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T07:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4801.8,
      "stop": 4806.784,
      "target": 4791.833,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.69,
        "bb_width_pct": 0.416
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T07-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T07:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4801.8,
      "stop": 4806.764,
      "target": 4791.872,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 19.69,
        "bb_width_pct": 0.416
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T07-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T07:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4798.055,
      "stop": 4800.749,
      "target": 4792.667,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.41,
        "bb_width_pct": 0.414
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T07-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T07:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4798.055,
      "stop": 4800.104,
      "target": 4793.958,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.41,
        "bb_width_pct": 0.414
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T08-25-00Z_long_rsi_range_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T08:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4792.105,
      "stop": 4791.331,
      "target": 4793.653,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.21,
        "bb_width_pct": 0.394
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T09-00-00Z_short_rsi_range_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4795.71,
      "stop": 4797.384,
      "target": 4792.362,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 11.65,
        "bb_width_pct": 0.274
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T09-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4786.305,
      "stop": 4783.517,
      "target": 4791.881,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.64,
        "bb_width_pct": 0.248
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T09-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4788.715,
      "stop": 4787.155,
      "target": 4791.834,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.75,
        "bb_width_pct": 0.251
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T09-35-00Z_long_vwap_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4788.715,
      "stop": 4786.348,
      "target": 4793.448,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.75,
        "bb_width_pct": 0.251
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T09-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4788.715,
      "stop": 4785.694,
      "target": 4794.757,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 2.75,
        "bb_width_pct": 0.251
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T09-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4788.715,
      "stop": 4786.929,
      "target": 4792.287,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.75,
        "bb_width_pct": 0.251
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T10-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T10:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4798.035,
      "stop": 4800.523,
      "target": 4793.058,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.39,
        "bb_width_pct": 0.234
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T10-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T10:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4795.67,
      "stop": 4796.84,
      "target": 4793.33,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.59,
        "bb_width_pct": 0.232
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T10-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T10:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4798.035,
      "stop": 4799.993,
      "target": 4794.119,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.85,
        "bb_width_pct": 0.262
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T11-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T11:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4789.845,
      "stop": 4787.441,
      "target": 4794.653,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.7,
        "bb_width_pct": 0.258
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T11-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T11:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4789.845,
      "stop": 4787.634,
      "target": 4794.266,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.7,
        "bb_width_pct": 0.258
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T11-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T11:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4789.41,
      "stop": 4786.868,
      "target": 4794.494,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.08,
        "bb_width_pct": 0.275
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T11-20-00Z_long_vwap_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T11:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4789.41,
      "stop": 4786.7,
      "target": 4794.83,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.08,
        "bb_width_pct": 0.275
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T11-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T11:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4789.41,
      "stop": 4787.477,
      "target": 4793.277,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.08,
        "bb_width_pct": 0.275
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T11-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T11:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4788.56,
      "stop": 4786.426,
      "target": 4792.827,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.66,
        "bb_width_pct": 0.295
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T11-30-00Z_long_rsi_range_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T11:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4790.44,
      "stop": 4788.623,
      "target": 4794.075,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.67,
        "bb_width_pct": 0.301
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T11-30-00Z_long_vwap_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T11:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4790.44,
      "stop": 4788.52,
      "target": 4794.28,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.67,
        "bb_width_pct": 0.301
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T11-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T11:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4802.01,
      "stop": 4805.806,
      "target": 4794.419,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.87,
        "bb_width_pct": 0.324
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T12-00-00Z_short_rsi_range_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4809.54,
      "stop": 4816.281,
      "target": 4796.059,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 21.29,
        "bb_width_pct": 0.539
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T12-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4809.54,
      "stop": 4815.655,
      "target": 4797.31,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 21.29,
        "bb_width_pct": 0.539
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T12-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T12:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4807.8,
      "stop": 4813.435,
      "target": 4796.531,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 23.43,
        "bb_width_pct": 0.579
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T12-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T12:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4807.8,
      "stop": 4812.795,
      "target": 4797.81,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 23.43,
        "bb_width_pct": 0.579
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T12-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T12:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4811.21,
      "stop": 4818.199,
      "target": 4797.233,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 26.01,
        "bb_width_pct": 0.638
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T12-25-00Z_short_rsi_range_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T12:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4805.68,
      "stop": 4808.758,
      "target": 4799.524,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 19.39,
        "bb_width_pct": 0.771
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T12-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T12:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4805.68,
      "stop": 4807.169,
      "target": 4802.702,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.39,
        "bb_width_pct": 0.771
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T13-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T13:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4810.93,
      "stop": 4814.221,
      "target": 4804.348,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.45,
        "bb_width_pct": 0.536
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T13-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T13:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4815.485,
      "stop": 4820.523,
      "target": 4805.408,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.88,
        "bb_width_pct": 0.488
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T13-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T13:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4815.985,
      "stop": 4820.77,
      "target": 4806.416,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.11,
        "bb_width_pct": 0.425
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T13-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T13:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4816.36,
      "stop": 4820.189,
      "target": 4808.702,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.8,
        "bb_width_pct": 0.379
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T13-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T13:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4816.36,
      "stop": 4820.859,
      "target": 4807.363,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.8,
        "bb_width_pct": 0.379
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T13-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4822.13,
      "stop": 4827.893,
      "target": 4810.604,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.9,
        "bb_width_pct": 0.5
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T13-30-00Z_short_vwap_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4822.13,
      "stop": 4828.018,
      "target": 4810.354,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 16.9,
        "bb_width_pct": 0.5
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T13-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4822.13,
      "stop": 4830.019,
      "target": 4806.352,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 16.9,
        "bb_width_pct": 0.5
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T13-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4818.075,
      "stop": 4821.622,
      "target": 4810.981,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.04,
        "bb_width_pct": 0.518
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T13-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4818.075,
      "stop": 4823.824,
      "target": 4806.577,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.04,
        "bb_width_pct": 0.518
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T13-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4818.075,
      "stop": 4821.618,
      "target": 4810.99,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.04,
        "bb_width_pct": 0.518
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T13-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T13:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4822.57,
      "stop": 4827.809,
      "target": 4812.093,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.65,
        "bb_width_pct": 0.557
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T13-45-00Z_short_rsi_range_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4820.25,
      "stop": 4824.247,
      "target": 4812.255,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 14.44,
        "bb_width_pct": 0.573
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T13-45-00Z_short_vwap_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4820.25,
      "stop": 4824.492,
      "target": 4811.766,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.44,
        "bb_width_pct": 0.573
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T13-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4820.25,
      "stop": 4827.086,
      "target": 4806.577,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.44,
        "bb_width_pct": 0.573
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T13-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4820.25,
      "stop": 4823.94,
      "target": 4812.87,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.44,
        "bb_width_pct": 0.573
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T13-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T13:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4818.105,
      "stop": 4823.869,
      "target": 4806.577,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.83,
        "bb_width_pct": 0.603
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T14-00-00Z_short_rsi_range_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4817.955,
      "stop": 4820.361,
      "target": 4813.142,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 14.36,
        "bb_width_pct": 0.61
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T14-25-00Z_short_vwap_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T14:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4823.515,
      "stop": 4828.508,
      "target": 4813.529,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.0,
        "bb_width_pct": 0.547
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T14-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T14:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4823.515,
      "stop": 4831.984,
      "target": 4806.577,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.0,
        "bb_width_pct": 0.547
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T14-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4818.48,
      "stop": 4824.271,
      "target": 4806.898,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.56,
        "bb_width_pct": 0.487
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T14-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T14:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4814.125,
      "stop": 4812.041,
      "target": 4818.294,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.06,
        "bb_width_pct": 0.325
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T14-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T14:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4813.34,
      "stop": 4810.803,
      "target": 4818.414,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.01,
        "bb_width_pct": 0.309
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T14-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T14:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4809.315,
      "stop": 4806.305,
      "target": 4815.335,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.29,
        "bb_width_pct": 0.347
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T14-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T14:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4805.385,
      "stop": 4800.884,
      "target": 4814.388,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.5,
        "bb_width_pct": 0.416
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T15-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T15:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4798.385,
      "stop": 4790.505,
      "target": 4814.146,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.1,
        "bb_width_pct": 0.678
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T15-10-00Z_long_rsi_range_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T15:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4798.385,
      "stop": 4790.505,
      "target": 4814.146,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.1,
        "bb_width_pct": 0.678
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T15-10-00Z_long_vwap_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T15:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4798.385,
      "stop": 4791.479,
      "target": 4812.197,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.1,
        "bb_width_pct": 0.678
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T15-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T15:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4798.385,
      "stop": 4792.5,
      "target": 4810.155,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.1,
        "bb_width_pct": 0.678
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T15-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T15:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4798.385,
      "stop": 4792.492,
      "target": 4810.17,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.1,
        "bb_width_pct": 0.678
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T15-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T15:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4798.195,
      "stop": 4790.717,
      "target": 4813.152,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.2,
        "bb_width_pct": 0.732
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T15-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T15:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4798.195,
      "stop": 4792.778,
      "target": 4809.03,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.2,
        "bb_width_pct": 0.732
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T15-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T15:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4804.075,
      "stop": 4801.035,
      "target": 4810.155,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.91,
        "bb_width_pct": 0.726
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T15-55-00Z_long_vwap_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T15:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4799.955,
      "stop": 4794.843,
      "target": 4810.178,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.57,
        "bb_width_pct": 0.726
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T15-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T15:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4799.955,
      "stop": 4794.855,
      "target": 4810.155,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.57,
        "bb_width_pct": 0.726
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T16-05-00Z_long_vwap_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T16:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4798.035,
      "stop": 4792.225,
      "target": 4809.655,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.23,
        "bb_width_pct": 0.565
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T16-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T16:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4798.035,
      "stop": 4791.975,
      "target": 4810.155,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.23,
        "bb_width_pct": 0.565
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T16-10-00Z_long_vwap_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T16:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4798.725,
      "stop": 4793.366,
      "target": 4809.443,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.23,
        "bb_width_pct": 0.497
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T16-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T16:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4797.05,
      "stop": 4794.421,
      "target": 4802.307,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.65,
        "bb_width_pct": 0.457
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T16-20-00Z_long_vwap_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T16:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4798.0,
      "stop": 4792.505,
      "target": 4808.99,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.26,
        "bb_width_pct": 0.398
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T16-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T16:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4798.0,
      "stop": 4791.923,
      "target": 4810.155,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.26,
        "bb_width_pct": 0.398
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T16-25-00Z_long_vwap_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T16:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4801.355,
      "stop": 4797.618,
      "target": 4808.829,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.77,
        "bb_width_pct": 0.323
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T16-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T16:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4801.355,
      "stop": 4796.955,
      "target": 4810.155,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 3.77,
        "bb_width_pct": 0.323
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T16-40-00Z_long_vwap_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T16:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4802.06,
      "stop": 4798.877,
      "target": 4808.426,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.27,
        "bb_width_pct": 0.258
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T17-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T17:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4807.595,
      "stop": 4810.785,
      "target": 4801.216,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.06,
        "bb_width_pct": 0.302
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T17-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T17:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4809.54,
      "stop": 4812.529,
      "target": 4803.562,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 25.7,
        "bb_width_pct": 0.311
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T17-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T17:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4808.83,
      "stop": 4812.503,
      "target": 4801.484,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.23,
        "bb_width_pct": 0.336
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T17-10-00Z_short_rsi_range_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T17:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4808.83,
      "stop": 4812.503,
      "target": 4801.484,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 21.23,
        "bb_width_pct": 0.336
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T17-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T17:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4808.83,
      "stop": 4811.213,
      "target": 4804.064,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.23,
        "bb_width_pct": 0.336
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T17-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T17:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4809.095,
      "stop": 4811.371,
      "target": 4804.543,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.88,
        "bb_width_pct": 0.363
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T17-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T17:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4808.13,
      "stop": 4811.091,
      "target": 4802.207,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.33,
        "bb_width_pct": 0.38
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T17-20-00Z_short_rsi_range_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T17:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4808.13,
      "stop": 4811.091,
      "target": 4802.207,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 21.33,
        "bb_width_pct": 0.38
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T17-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T17:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4808.13,
      "stop": 4809.753,
      "target": 4804.884,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.33,
        "bb_width_pct": 0.38
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T17-40-00Z_short_rsi_range_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T17:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4809.415,
      "stop": 4811.925,
      "target": 4804.395,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 17.55,
        "bb_width_pct": 0.373
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T17-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T17:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4809.415,
      "stop": 4811.049,
      "target": 4806.147,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.55,
        "bb_width_pct": 0.373
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T17-45-00Z_short_rsi_range_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T17:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4809.035,
      "stop": 4811.08,
      "target": 4804.945,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 13.09,
        "bb_width_pct": 0.361
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T18-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T18:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4814.13,
      "stop": 4817.558,
      "target": 4807.274,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.96,
        "bb_width_pct": 0.296
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T18-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T18:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4813.595,
      "stop": 4816.034,
      "target": 4808.718,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.7,
        "bb_width_pct": 0.277
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T18-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T18:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4813.595,
      "stop": 4818.209,
      "target": 4804.368,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.7,
        "bb_width_pct": 0.277
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T18-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T18:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4813.595,
      "stop": 4815.869,
      "target": 4809.047,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.7,
        "bb_width_pct": 0.277
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T18-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T18:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4813.485,
      "stop": 4818.044,
      "target": 4804.368,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.95,
        "bb_width_pct": 0.258
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T18-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T18:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4812.19,
      "stop": 4816.081,
      "target": 4804.407,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.51,
        "bb_width_pct": 0.232
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T18-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T18:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4814.105,
      "stop": 4818.812,
      "target": 4804.69,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.11,
        "bb_width_pct": 0.248
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T19-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T19:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4817.605,
      "stop": 4820.284,
      "target": 4812.247,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.61,
        "bb_width_pct": 0.259
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T19-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T19:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4817.605,
      "stop": 4820.2,
      "target": 4812.415,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.61,
        "bb_width_pct": 0.259
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T19-15-00Z_short_vwap_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T19:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4818.7,
      "stop": 4821.923,
      "target": 4812.255,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.88,
        "bb_width_pct": 0.292
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T19-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T19:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4818.7,
      "stop": 4824.477,
      "target": 4807.145,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.88,
        "bb_width_pct": 0.292
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T19-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T19:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4818.7,
      "stop": 4820.904,
      "target": 4814.292,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.88,
        "bb_width_pct": 0.292
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T19-20-00Z_short_vwap_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T19:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4818.64,
      "stop": 4821.728,
      "target": 4812.464,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.21,
        "bb_width_pct": 0.29
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T19-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T19:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4818.64,
      "stop": 4824.388,
      "target": 4807.145,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.21,
        "bb_width_pct": 0.29
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T19-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T19:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4818.64,
      "stop": 4820.607,
      "target": 4814.706,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.21,
        "bb_width_pct": 0.29
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T19-25-00Z_short_vwap_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T19:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4817.17,
      "stop": 4819.441,
      "target": 4812.629,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.98,
        "bb_width_pct": 0.275
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T19-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T19:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4817.17,
      "stop": 4822.182,
      "target": 4807.145,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.98,
        "bb_width_pct": 0.275
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T19-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T19:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4814.795,
      "stop": 4818.62,
      "target": 4807.145,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.04,
        "bb_width_pct": 0.255
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T20-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T20:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4820.115,
      "stop": 4822.546,
      "target": 4815.254,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 24.29,
        "bb_width_pct": 0.208
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T22-30-00Z_short_rsi_range_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T22:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4827.98,
      "stop": 4831.68,
      "target": 4820.579,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 25.38,
        "bb_width_pct": 0.552
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T22-30-00Z_short_vwap_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T22:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4827.98,
      "stop": 4840.452,
      "target": 4803.037,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 25.38,
        "bb_width_pct": 0.552
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T22-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T22:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4827.98,
      "stop": 4830.655,
      "target": 4822.631,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 25.38,
        "bb_width_pct": 0.552
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T22-50-00Z_short_rsi_range_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T22:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4827.56,
      "stop": 4829.564,
      "target": 4823.552,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 22.05,
        "bb_width_pct": 0.546
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T22-50-00Z_short_vwap_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T22:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4827.56,
      "stop": 4838.307,
      "target": 4806.067,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 22.05,
        "bb_width_pct": 0.546
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T22-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T22:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4827.56,
      "stop": 4830.335,
      "target": 4822.01,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 22.05,
        "bb_width_pct": 0.546
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T23-00-00Z_short_vwap_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4826.78,
      "stop": 4836.554,
      "target": 4807.232,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.34,
        "bb_width_pct": 0.49
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T23-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4826.78,
      "stop": 4829.165,
      "target": 4822.01,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.34,
        "bb_width_pct": 0.49
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T23-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4826.78,
      "stop": 4827.541,
      "target": 4825.259,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.34,
        "bb_width_pct": 0.49
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T23-05-00Z_short_vwap_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4824.95,
      "stop": 4833.567,
      "target": 4807.715,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.89,
        "bb_width_pct": 0.461
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T23-15-00Z_short_vwap_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4824.94,
      "stop": 4833.109,
      "target": 4808.601,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 9.22,
        "bb_width_pct": 0.362
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T23-25-00Z_short_vwap_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T23:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4825.835,
      "stop": 4834.04,
      "target": 4809.426,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.49,
        "bb_width_pct": 0.259
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T23-30-00Z_short_vwap_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4823.965,
      "stop": 4831.061,
      "target": 4809.772,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.44,
        "bb_width_pct": 0.23
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T23-40-00Z_short_vwap_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4824.165,
      "stop": 4831.039,
      "target": 4810.418,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.65,
        "bb_width_pct": 0.196
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T23-45-00Z_short_vwap_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4821.13,
      "stop": 4826.36,
      "target": 4810.67,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 25.34,
        "bb_width_pct": 0.223
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T23-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4821.13,
      "stop": 4819.318,
      "target": 4824.755,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.34,
        "bb_width_pct": 0.223
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T23-50-00Z_short_vwap_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T23:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4820.72,
      "stop": 4825.636,
      "target": 4810.887,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 23.8,
        "bb_width_pct": 0.248
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T23-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T23:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4820.72,
      "stop": 4818.895,
      "target": 4824.37,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.8,
        "bb_width_pct": 0.248
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T23-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T23:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4822.03,
      "stop": 4819.919,
      "target": 4826.253,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.62,
        "bb_width_pct": 0.243
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T23-55-00Z_long_rsi_range_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T23:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4822.03,
      "stop": 4819.919,
      "target": 4826.253,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.62,
        "bb_width_pct": 0.243
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-20T23-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T23:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4822.03,
      "stop": 4820.971,
      "target": 4824.147,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.62,
        "bb_width_pct": 0.243
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T00-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4824.61,
      "stop": 4823.957,
      "target": 4825.916,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.99,
        "bb_width_pct": 0.224
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T00-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T00:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4828.69,
      "stop": 4830.54,
      "target": 4824.989,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.61,
        "bb_width_pct": 0.224
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T00-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T00:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4828.04,
      "stop": 4829.42,
      "target": 4825.28,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.43,
        "bb_width_pct": 0.22
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T00-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T00:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4820.125,
      "stop": 4817.782,
      "target": 4824.812,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.44,
        "bb_width_pct": 0.206
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T00-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T00:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4819.83,
      "stop": 4817.617,
      "target": 4824.257,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.5,
        "bb_width_pct": 0.243
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T00-35-00Z_long_vwap_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T00:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4819.83,
      "stop": 4817.608,
      "target": 4824.274,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.5,
        "bb_width_pct": 0.243
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T00-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T00:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4819.83,
      "stop": 4817.863,
      "target": 4823.764,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.5,
        "bb_width_pct": 0.243
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T01-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4818.49,
      "stop": 4815.971,
      "target": 4823.529,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.05,
        "bb_width_pct": 0.252
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T01-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4818.49,
      "stop": 4816.076,
      "target": 4823.317,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.05,
        "bb_width_pct": 0.252
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T01-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T01:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4818.59,
      "stop": 4816.302,
      "target": 4823.167,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.04,
        "bb_width_pct": 0.263
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T01-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T01:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4818.59,
      "stop": 4815.315,
      "target": 4825.14,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.04,
        "bb_width_pct": 0.263
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T01-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T01:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4817.91,
      "stop": 4815.688,
      "target": 4822.355,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.2,
        "bb_width_pct": 0.31
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T01-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T01:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4817.91,
      "stop": 4815.209,
      "target": 4823.312,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 18.2,
        "bb_width_pct": 0.31
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T01-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T01:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4817.91,
      "stop": 4816.011,
      "target": 4821.708,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.2,
        "bb_width_pct": 0.31
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T01-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T01:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4818.64,
      "stop": 4816.304,
      "target": 4823.312,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 11.54,
        "bb_width_pct": 0.326
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T01-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T01:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4813.455,
      "stop": 4809.794,
      "target": 4820.778,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.63,
        "bb_width_pct": 0.385
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T01-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T01:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4813.455,
      "stop": 4810.46,
      "target": 4819.445,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.63,
        "bb_width_pct": 0.385
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T01-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T01:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4812.49,
      "stop": 4808.746,
      "target": 4819.979,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.91,
        "bb_width_pct": 0.383
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T01-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T01:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4812.49,
      "stop": 4809.344,
      "target": 4818.783,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.91,
        "bb_width_pct": 0.383
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T01-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T01:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4810.27,
      "stop": 4806.336,
      "target": 4818.138,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.83,
        "bb_width_pct": 0.38
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T01-55-00Z_long_rsi_range_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T01:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4810.27,
      "stop": 4806.336,
      "target": 4818.138,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.83,
        "bb_width_pct": 0.38
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T01-55-00Z_long_vwap_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T01:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4810.27,
      "stop": 4805.586,
      "target": 4819.639,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.83,
        "bb_width_pct": 0.38
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T01-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T01:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4810.27,
      "stop": 4805.226,
      "target": 4820.358,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 22.83,
        "bb_width_pct": 0.38
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T02-05-00Z_long_rsi_range_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T02:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4808.265,
      "stop": 4804.089,
      "target": 4816.617,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.5,
        "bb_width_pct": 0.43
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T02-05-00Z_long_vwap_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T02:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4808.265,
      "stop": 4803.015,
      "target": 4818.765,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.5,
        "bb_width_pct": 0.43
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T02-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T02:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4808.265,
      "stop": 4802.965,
      "target": 4818.865,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 16.5,
        "bb_width_pct": 0.43
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T02-25-00Z_long_rsi_range_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T02:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4807.71,
      "stop": 4804.692,
      "target": 4813.746,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.8,
        "bb_width_pct": 0.459
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T02-25-00Z_long_vwap_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T02:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4807.71,
      "stop": 4802.964,
      "target": 4817.202,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.8,
        "bb_width_pct": 0.459
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T02-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T02:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4807.71,
      "stop": 4802.929,
      "target": 4817.273,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 17.8,
        "bb_width_pct": 0.459
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T02-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T02:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4807.71,
      "stop": 4805.214,
      "target": 4812.701,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.8,
        "bb_width_pct": 0.459
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T02-35-00Z_long_rsi_range_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T02:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4806.485,
      "stop": 4803.795,
      "target": 4811.865,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.55,
        "bb_width_pct": 0.41
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T02-35-00Z_long_vwap_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T02:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4806.485,
      "stop": 4801.506,
      "target": 4816.443,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.55,
        "bb_width_pct": 0.41
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T02-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T02:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4806.485,
      "stop": 4801.33,
      "target": 4816.795,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 20.55,
        "bb_width_pct": 0.41
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T02-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T02:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4806.485,
      "stop": 4804.059,
      "target": 4811.336,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.55,
        "bb_width_pct": 0.41
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T02-40-00Z_long_rsi_range_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T02:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4806.6,
      "stop": 4804.265,
      "target": 4811.27,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.75,
        "bb_width_pct": 0.4
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T02-40-00Z_long_vwap_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T02:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4806.6,
      "stop": 4801.829,
      "target": 4816.142,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.75,
        "bb_width_pct": 0.4
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T02-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T02:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4806.6,
      "stop": 4801.503,
      "target": 4816.795,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.75,
        "bb_width_pct": 0.4
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T02-50-00Z_long_vwap_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T02:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4806.795,
      "stop": 4802.431,
      "target": 4815.524,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.83,
        "bb_width_pct": 0.391
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T02-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T02:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4806.795,
      "stop": 4801.795,
      "target": 4816.795,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.83,
        "bb_width_pct": 0.391
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T02-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T02:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4806.795,
      "stop": 4805.24,
      "target": 4809.906,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.83,
        "bb_width_pct": 0.391
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T02-55-00Z_long_vwap_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T02:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4806.95,
      "stop": 4802.778,
      "target": 4815.294,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.34,
        "bb_width_pct": 0.366
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T02-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T02:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4806.95,
      "stop": 4802.028,
      "target": 4816.795,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.34,
        "bb_width_pct": 0.366
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T03-00-00Z_long_vwap_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4807.47,
      "stop": 4803.672,
      "target": 4815.065,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.74,
        "bb_width_pct": 0.336
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T03-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4807.47,
      "stop": 4802.808,
      "target": 4816.795,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.74,
        "bb_width_pct": 0.336
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T03-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T03:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4803.59,
      "stop": 4800.953,
      "target": 4808.864,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.87,
        "bb_width_pct": 0.296
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T03-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4798.76,
      "stop": 4795.619,
      "target": 4805.042,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.19,
        "bb_width_pct": 0.338
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T03-25-00Z_long_vwap_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4798.76,
      "stop": 4791.52,
      "target": 4813.24,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.19,
        "bb_width_pct": 0.338
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T03-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4798.76,
      "stop": 4791.831,
      "target": 4812.618,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 13.19,
        "bb_width_pct": 0.338
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T03-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T03:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4794.955,
      "stop": 4790.568,
      "target": 4803.73,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.62,
        "bb_width_pct": 0.367
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T03-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T03:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4795.32,
      "stop": 4791.407,
      "target": 4803.147,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.82,
        "bb_width_pct": 0.391
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T03-40-00Z_long_vwap_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T03:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4795.32,
      "stop": 4786.918,
      "target": 4812.124,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.82,
        "bb_width_pct": 0.391
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T03-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T03:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4795.32,
      "stop": 4788.046,
      "target": 4809.868,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 20.82,
        "bb_width_pct": 0.391
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T03-45-00Z_long_rsi_range_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T03:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4795.52,
      "stop": 4792.025,
      "target": 4802.509,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.37,
        "bb_width_pct": 0.402
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T03-45-00Z_long_vwap_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T03:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4795.52,
      "stop": 4787.403,
      "target": 4811.755,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.37,
        "bb_width_pct": 0.402
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T03-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T03:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4795.52,
      "stop": 4788.575,
      "target": 4809.41,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 21.37,
        "bb_width_pct": 0.402
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T03-55-00Z_long_vwap_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T03:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4797.45,
      "stop": 4790.619,
      "target": 4811.112,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.45,
        "bb_width_pct": 0.405
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T03-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T03:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4797.45,
      "stop": 4791.47,
      "target": 4809.41,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 18.45,
        "bb_width_pct": 0.405
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T03-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T03:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4797.45,
      "stop": 4795.603,
      "target": 4801.144,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.45,
        "bb_width_pct": 0.405
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T04-00-00Z_long_rsi_range_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T04:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4797.56,
      "stop": 4795.843,
      "target": 4800.994,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.44,
        "bb_width_pct": 0.4
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T04-00-00Z_long_vwap_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T04:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4797.56,
      "stop": 4790.925,
      "target": 4810.83,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.44,
        "bb_width_pct": 0.4
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T04-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T04:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4797.56,
      "stop": 4791.635,
      "target": 4809.41,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 19.44,
        "bb_width_pct": 0.4
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T04-35-00Z_long_rsi_range_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4793.155,
      "stop": 4791.492,
      "target": 4796.48,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.47,
        "bb_width_pct": 0.322
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T04-35-00Z_long_vwap_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4793.155,
      "stop": 4785.397,
      "target": 4808.671,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.47,
        "bb_width_pct": 0.322
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T04-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4793.155,
      "stop": 4787.517,
      "target": 4804.43,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 13.47,
        "bb_width_pct": 0.322
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T04-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4793.155,
      "stop": 4791.292,
      "target": 4796.881,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.47,
        "bb_width_pct": 0.322
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T05-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4791.2,
      "stop": 4789.852,
      "target": 4793.895,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.1,
        "bb_width_pct": 0.232
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T05-00-00Z_long_vwap_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4791.2,
      "stop": 4783.204,
      "target": 4807.191,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.1,
        "bb_width_pct": 0.232
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T05-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4791.2,
      "stop": 4786.047,
      "target": 4801.505,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.1,
        "bb_width_pct": 0.232
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T05-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4791.2,
      "stop": 4789.633,
      "target": 4794.334,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.1,
        "bb_width_pct": 0.232
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T05-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4789.58,
      "stop": 4787.868,
      "target": 4793.004,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.71,
        "bb_width_pct": 0.209
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T05-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4789.58,
      "stop": 4787.613,
      "target": 4793.514,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.71,
        "bb_width_pct": 0.209
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T05-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4789.755,
      "stop": 4788.413,
      "target": 4792.439,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.68,
        "bb_width_pct": 0.216
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T05-20-00Z_long_rsi_range_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4789.755,
      "stop": 4788.413,
      "target": 4792.439,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.68,
        "bb_width_pct": 0.216
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T05-20-00Z_long_vwap_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4789.755,
      "stop": 4781.573,
      "target": 4806.119,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.68,
        "bb_width_pct": 0.216
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T05-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4789.755,
      "stop": 4785.503,
      "target": 4798.26,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.68,
        "bb_width_pct": 0.216
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T05-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4789.755,
      "stop": 4788.239,
      "target": 4792.786,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.68,
        "bb_width_pct": 0.216
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T05-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4787.585,
      "stop": 4785.356,
      "target": 4792.042,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.08,
        "bb_width_pct": 0.225
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T05-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4787.585,
      "stop": 4785.232,
      "target": 4792.291,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.08,
        "bb_width_pct": 0.225
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T05-30-00Z_long_vwap_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4792.29,
      "stop": 4785.625,
      "target": 4805.621,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.19,
        "bb_width_pct": 0.216
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T05-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4792.29,
      "stop": 4789.788,
      "target": 4797.295,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.19,
        "bb_width_pct": 0.216
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T05-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4792.29,
      "stop": 4792.289,
      "target": 4792.291,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.19,
        "bb_width_pct": 0.216
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T05-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4795.95,
      "stop": 4798.019,
      "target": 4791.811,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.76,
        "bb_width_pct": 0.204
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T05-35-00Z_long_vwap_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4795.95,
      "stop": 4791.195,
      "target": 4805.461,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.76,
        "bb_width_pct": 0.204
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T05-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4796.335,
      "stop": 4798.628,
      "target": 4791.75,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.31,
        "bb_width_pct": 0.192
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T05-40-00Z_long_vwap_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4796.335,
      "stop": 4791.839,
      "target": 4805.326,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.31,
        "bb_width_pct": 0.192
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T05-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4787.98,
      "stop": 4786.345,
      "target": 4791.251,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.2,
        "bb_width_pct": 0.189
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T05-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4787.98,
      "stop": 4785.806,
      "target": 4792.328,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.2,
        "bb_width_pct": 0.189
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T06-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4787.76,
      "stop": 4786.599,
      "target": 4790.083,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.74,
        "bb_width_pct": 0.265
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T06-05-00Z_long_vwap_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4787.76,
      "stop": 4779.616,
      "target": 4804.049,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.74,
        "bb_width_pct": 0.265
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T06-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4787.76,
      "stop": 4785.634,
      "target": 4792.013,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.74,
        "bb_width_pct": 0.265
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T06-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4787.76,
      "stop": 4786.42,
      "target": 4790.439,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.74,
        "bb_width_pct": 0.265
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T06-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T06:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4781.445,
      "stop": 4777.866,
      "target": 4788.603,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.67,
        "bb_width_pct": 0.338
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T06-20-00Z_long_vwap_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T06:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4781.445,
      "stop": 4770.55,
      "target": 4803.236,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.67,
        "bb_width_pct": 0.338
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T06-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T06:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4781.445,
      "stop": 4776.284,
      "target": 4791.767,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.67,
        "bb_width_pct": 0.338
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T06-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T06:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4781.445,
      "stop": 4778.002,
      "target": 4788.331,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.67,
        "bb_width_pct": 0.338
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T06-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T06:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4778.9,
      "stop": 4774.634,
      "target": 4787.433,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.9,
        "bb_width_pct": 0.38
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T06-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4778.555,
      "stop": 4774.088,
      "target": 4787.49,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.48,
        "bb_width_pct": 0.416
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T06-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4778.555,
      "stop": 4774.539,
      "target": 4786.587,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.48,
        "bb_width_pct": 0.416
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T06-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4778.375,
      "stop": 4774.095,
      "target": 4786.934,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.36,
        "bb_width_pct": 0.445
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T06-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4778.375,
      "stop": 4774.66,
      "target": 4785.805,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.36,
        "bb_width_pct": 0.445
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T06-40-00Z_long_vwap_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T06:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4780.525,
      "stop": 4769.77,
      "target": 4802.036,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.61,
        "bb_width_pct": 0.452
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T06-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T06:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4780.525,
      "stop": 4776.947,
      "target": 4787.68,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 18.61,
        "bb_width_pct": 0.452
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T06-55-00Z_long_rsi_range_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T06:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4778.42,
      "stop": 4775.325,
      "target": 4784.61,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.39,
        "bb_width_pct": 0.501
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T06-55-00Z_long_vwap_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T06:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4778.42,
      "stop": 4767.039,
      "target": 4801.183,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.39,
        "bb_width_pct": 0.501
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T06-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T06:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4778.42,
      "stop": 4774.426,
      "target": 4786.408,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 11.39,
        "bb_width_pct": 0.501
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T07-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T07:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4774.96,
      "stop": 4771.173,
      "target": 4782.534,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.08,
        "bb_width_pct": 0.52
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T07-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T07:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4781.245,
      "stop": 4779.142,
      "target": 4785.45,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.85,
        "bb_width_pct": 0.517
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T07-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T07:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4790.64,
      "stop": 4794.076,
      "target": 4783.768,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.01,
        "bb_width_pct": 0.3
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T07-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T07:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4788.845,
      "stop": 4792.456,
      "target": 4781.624,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.98,
        "bb_width_pct": 0.323
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T07-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T07:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4788.845,
      "stop": 4791.142,
      "target": 4784.251,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.98,
        "bb_width_pct": 0.323
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T07-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T07:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4786.255,
      "stop": 4788.433,
      "target": 4781.898,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.48,
        "bb_width_pct": 0.334
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T08-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T08:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4775.915,
      "stop": 4772.182,
      "target": 4783.381,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.62,
        "bb_width_pct": 0.35
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T08-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T08:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4783.46,
      "stop": 4782.682,
      "target": 4785.015,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.75,
        "bb_width_pct": 0.344
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T08-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T08:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4791.735,
      "stop": 4795.103,
      "target": 4784.998,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.11,
        "bb_width_pct": 0.31
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T08-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T08:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4789.715,
      "stop": 4791.862,
      "target": 4785.421,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.1,
        "bb_width_pct": 0.313
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T10-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T10:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4783.125,
      "stop": 4781.811,
      "target": 4785.752,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.26,
        "bb_width_pct": 0.196
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T10-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T10:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4787.37,
      "stop": 4788.623,
      "target": 4784.864,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.11,
        "bb_width_pct": 0.137
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T10-55-00Z_short_vwap_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T10:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4789.945,
      "stop": 4792.155,
      "target": 4785.524,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.39,
        "bb_width_pct": 0.188
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T10-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T10:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4789.945,
      "stop": 4792.941,
      "target": 4783.953,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.39,
        "bb_width_pct": 0.188
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T11-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4787.28,
      "stop": 4788.193,
      "target": 4785.453,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.9,
        "bb_width_pct": 0.191
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T11-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T11:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4780.425,
      "stop": 4777.81,
      "target": 4785.656,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.06,
        "bb_width_pct": 0.204
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T11-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T11:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4781.85,
      "stop": 4780.168,
      "target": 4785.215,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.26,
        "bb_width_pct": 0.214
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T11-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T11:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4781.85,
      "stop": 4780.128,
      "target": 4785.293,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.26,
        "bb_width_pct": 0.214
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T11-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T11:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4787.55,
      "stop": 4788.94,
      "target": 4784.77,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.77,
        "bb_width_pct": 0.224
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T11-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T11:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4789.94,
      "stop": 4792.373,
      "target": 4785.073,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.91,
        "bb_width_pct": 0.242
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T11-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T11:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4793.895,
      "stop": 4797.54,
      "target": 4786.606,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.88,
        "bb_width_pct": 0.36
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T11-50-00Z_short_vwap_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T11:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4793.895,
      "stop": 4797.719,
      "target": 4786.247,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.88,
        "bb_width_pct": 0.36
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T11-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T11:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4793.895,
      "stop": 4797.463,
      "target": 4786.76,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.88,
        "bb_width_pct": 0.36
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T11-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T11:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4793.895,
      "stop": 4797.006,
      "target": 4787.672,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.88,
        "bb_width_pct": 0.36
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T11-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T11:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4794.62,
      "stop": 4798.34,
      "target": 4787.18,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.77,
        "bb_width_pct": 0.382
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T11-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T11:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4794.62,
      "stop": 4797.763,
      "target": 4788.334,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.77,
        "bb_width_pct": 0.382
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T12-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4793.55,
      "stop": 4796.945,
      "target": 4786.76,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.48,
        "bb_width_pct": 0.389
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T12-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4793.55,
      "stop": 4795.91,
      "target": 4788.831,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.48,
        "bb_width_pct": 0.389
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T12-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T12:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4791.25,
      "stop": 4793.495,
      "target": 4786.76,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.41,
        "bb_width_pct": 0.402
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T12-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T12:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4782.77,
      "stop": 4779.904,
      "target": 4788.502,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.24,
        "bb_width_pct": 0.423
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T12-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T12:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4787.37,
      "stop": 4787.112,
      "target": 4787.887,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.15,
        "bb_width_pct": 0.44
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T12-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T12:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4787.37,
      "stop": 4787.172,
      "target": 4787.767,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.15,
        "bb_width_pct": 0.44
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T12-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T12:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4778.985,
      "stop": 4775.31,
      "target": 4786.336,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.83,
        "bb_width_pct": 0.481
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T13-00-00Z_long_rsi_range_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4779.57,
      "stop": 4776.077,
      "target": 4786.557,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.82,
        "bb_width_pct": 0.522
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T13-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T13:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4768.735,
      "stop": 4761.297,
      "target": 4783.61,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.62,
        "bb_width_pct": 0.769
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T13-15-00Z_long_rsi_range_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T13:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4768.735,
      "stop": 4761.297,
      "target": 4783.61,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.62,
        "bb_width_pct": 0.769
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T13-15-00Z_long_vwap_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T13:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4768.735,
      "stop": 4762.395,
      "target": 4781.414,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.62,
        "bb_width_pct": 0.769
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T13-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T13:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4768.735,
      "stop": 4762.358,
      "target": 4781.49,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 19.62,
        "bb_width_pct": 0.769
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T13-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T13:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4768.735,
      "stop": 4763.249,
      "target": 4779.707,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.62,
        "bb_width_pct": 0.769
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T13-20-00Z_long_rsi_range_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T13:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4770.14,
      "stop": 4763.979,
      "target": 4782.461,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.95,
        "bb_width_pct": 0.784
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T13-20-00Z_long_vwap_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T13:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4770.14,
      "stop": 4764.837,
      "target": 4780.745,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.95,
        "bb_width_pct": 0.784
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T13-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T13:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4789.21,
      "stop": 4793.907,
      "target": 4779.815,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.42,
        "bb_width_pct": 0.643
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T13-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4788.895,
      "stop": 4793.605,
      "target": 4779.475,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.94,
        "bb_width_pct": 0.594
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T13-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4788.895,
      "stop": 4793.748,
      "target": 4779.19,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.94,
        "bb_width_pct": 0.594
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T13-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4788.895,
      "stop": 4793.002,
      "target": 4780.68,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.94,
        "bb_width_pct": 0.594
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T13-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T13:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4789.3,
      "stop": 4794.262,
      "target": 4779.377,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.1,
        "bb_width_pct": 0.582
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T13-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T13:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4789.3,
      "stop": 4793.199,
      "target": 4781.501,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.1,
        "bb_width_pct": 0.582
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T14-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4768.405,
      "stop": 4763.929,
      "target": 4777.356,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.1,
        "bb_width_pct": 0.585
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T14-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4768.405,
      "stop": 4763.438,
      "target": 4778.34,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.1,
        "bb_width_pct": 0.585
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T14-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T14:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4761.885,
      "stop": 4754.577,
      "target": 4776.502,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.6,
        "bb_width_pct": 0.648
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T15-55-00Z_long_vwap_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T15:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4741.78,
      "stop": 4728.963,
      "target": 4767.413,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.19,
        "bb_width_pct": 1.023
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T16-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T16:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4730.58,
      "stop": 4724.523,
      "target": 4742.694,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.13,
        "bb_width_pct": 0.648
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T16-15-00Z_long_vwap_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T16:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4732.525,
      "stop": 4716.303,
      "target": 4764.97,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.05,
        "bb_width_pct": 0.558
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T16-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T16:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4732.525,
      "stop": 4719.215,
      "target": 4759.145,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.05,
        "bb_width_pct": 0.558
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T16-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T16:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4724.51,
      "stop": 4717.054,
      "target": 4739.422,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.99,
        "bb_width_pct": 0.71
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T16-30-00Z_long_rsi_range_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T16:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4724.51,
      "stop": 4717.054,
      "target": 4739.422,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.99,
        "bb_width_pct": 0.71
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T16-30-00Z_long_vwap_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T16:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4724.51,
      "stop": 4705.345,
      "target": 4762.84,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.99,
        "bb_width_pct": 0.71
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T16-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T16:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4724.51,
      "stop": 4708.095,
      "target": 4757.34,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 18.99,
        "bb_width_pct": 0.71
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T16-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4723.885,
      "stop": 4716.495,
      "target": 4738.665,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.7,
        "bb_width_pct": 0.766
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T16-45-00Z_long_rsi_range_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4721.825,
      "stop": 4714.212,
      "target": 4737.05,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.5,
        "bb_width_pct": 0.878
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T16-45-00Z_long_vwap_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4721.825,
      "stop": 4702.359,
      "target": 4760.758,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.5,
        "bb_width_pct": 0.878
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T16-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4721.825,
      "stop": 4704.165,
      "target": 4757.145,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 26.5,
        "bb_width_pct": 0.878
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T17-30-00Z_long_rsi_range_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T17:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4705.575,
      "stop": 4698.752,
      "target": 4719.222,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.16,
        "bb_width_pct": 1.083
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T17-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T17:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4705.575,
      "stop": 4688.805,
      "target": 4739.115,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.16,
        "bb_width_pct": 1.083
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T17-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T17:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4709.32,
      "stop": 4695.067,
      "target": 4737.825,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.53,
        "bb_width_pct": 1.004
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T17-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T17:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4709.32,
      "stop": 4705.451,
      "target": 4717.058,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.53,
        "bb_width_pct": 1.004
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T17-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T17:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4717.75,
      "stop": 4708.497,
      "target": 4736.255,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.4,
        "bb_width_pct": 0.901
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T17-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T17:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4711.28,
      "stop": 4701.71,
      "target": 4730.42,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.48,
        "bb_width_pct": 0.697
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T18-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T18:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4695.27,
      "stop": 4688.997,
      "target": 4707.815,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.73,
        "bb_width_pct": 0.541
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T18-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T18:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4696.735,
      "stop": 4691.822,
      "target": 4706.561,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.93,
        "bb_width_pct": 0.505
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T18-25-00Z_long_vwap_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T18:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4696.735,
      "stop": 4691.883,
      "target": 4706.439,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.93,
        "bb_width_pct": 0.505
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T18-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T18:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4696.735,
      "stop": 4682.327,
      "target": 4725.55,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.93,
        "bb_width_pct": 0.505
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T18-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4702.2,
      "stop": 4690.727,
      "target": 4725.145,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 2.12,
        "bb_width_pct": 0.508
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T18-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4702.2,
      "stop": 4699.167,
      "target": 4708.265,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.12,
        "bb_width_pct": 0.508
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T18-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T18:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4703.125,
      "stop": 4694.001,
      "target": 4721.372,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.96,
        "bb_width_pct": 0.488
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T18-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T18:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4709.43,
      "stop": 4703.46,
      "target": 4721.37,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 3.26,
        "bb_width_pct": 0.486
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T19-25-00Z_short_rsi_range_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T19:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4714.265,
      "stop": 4718.363,
      "target": 4706.07,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 22.65,
        "bb_width_pct": 0.468
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T19-25-00Z_short_vwap_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T19:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4714.265,
      "stop": 4718.077,
      "target": 4706.642,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 22.65,
        "bb_width_pct": 0.468
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T19-30-00Z_short_rsi_range_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T19:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4710.59,
      "stop": 4712.767,
      "target": 4706.236,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 16.49,
        "bb_width_pct": 0.475
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T19-45-00Z_long_vwap_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T19:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4682.13,
      "stop": 4670.621,
      "target": 4705.148,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.46,
        "bb_width_pct": 0.862
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T19-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T19:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4682.13,
      "stop": 4674.07,
      "target": 4698.25,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 16.46,
        "bb_width_pct": 0.862
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T19-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T19:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4680.115,
      "stop": 4669.543,
      "target": 4701.259,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.62,
        "bb_width_pct": 0.955
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T20-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T20:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4681.635,
      "stop": 4673.081,
      "target": 4698.743,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.69,
        "bb_width_pct": 1.169
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T20-05-00Z_long_rsi_range_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T20:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4681.635,
      "stop": 4673.081,
      "target": 4698.743,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.69,
        "bb_width_pct": 1.169
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T20-05-00Z_long_vwap_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T20:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4681.635,
      "stop": 4671.251,
      "target": 4702.402,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.69,
        "bb_width_pct": 1.169
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T20-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T20:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4681.635,
      "stop": 4674.728,
      "target": 4695.45,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 20.69,
        "bb_width_pct": 1.169
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T20-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T20:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4681.635,
      "stop": 4674.935,
      "target": 4695.035,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.69,
        "bb_width_pct": 1.169
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T22-35-00Z_long_vwap_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T22:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4718.795,
      "stop": 4693.138,
      "target": 4770.109,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.75,
        "bb_width_pct": 1.078
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T22-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T22:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4717.19,
      "stop": 4727.0,
      "target": 4697.57,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.06,
        "bb_width_pct": 0.847
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T22-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T22:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4717.045,
      "stop": 4726.783,
      "target": 4697.57,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.01,
        "bb_width_pct": 0.581
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T22-50-00Z_long_vwap_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T22:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4718.955,
      "stop": 4695.622,
      "target": 4765.62,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.77,
        "bb_width_pct": 0.47
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T22-55-00Z_long_vwap_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T22:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4719.63,
      "stop": 4697.28,
      "target": 4764.329,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.29,
        "bb_width_pct": 0.401
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T23-00-00Z_long_vwap_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4722.0,
      "stop": 4701.422,
      "target": 4763.157,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.65,
        "bb_width_pct": 0.386
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T23-05-00Z_long_vwap_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4725.195,
      "stop": 4706.725,
      "target": 4762.136,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.59,
        "bb_width_pct": 0.338
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T23-10-00Z_long_vwap_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4727.605,
      "stop": 4710.784,
      "target": 4761.247,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.3,
        "bb_width_pct": 0.338
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T23-15-00Z_long_vwap_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4731.67,
      "stop": 4717.268,
      "target": 4760.474,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.97,
        "bb_width_pct": 0.382
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T23-20-00Z_long_vwap_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T23:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4732.805,
      "stop": 4719.315,
      "target": 4759.784,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.48,
        "bb_width_pct": 0.409
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T23-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T23:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4730.12,
      "stop": 4734.062,
      "target": 4722.235,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.98,
        "bb_width_pct": 0.409
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T23-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T23:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4730.12,
      "stop": 4744.737,
      "target": 4700.885,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 22.98,
        "bb_width_pct": 0.409
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T23-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4732.55,
      "stop": 4737.328,
      "target": 4722.994,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 26.08,
        "bb_width_pct": 0.44
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T23-30-00Z_long_vwap_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4732.55,
      "stop": 4719.59,
      "target": 4758.469,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.08,
        "bb_width_pct": 0.44
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T23-35-00Z_short_rsi_range_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4730.495,
      "stop": 4734.0,
      "target": 4723.484,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 23.98,
        "bb_width_pct": 0.458
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T23-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4730.495,
      "stop": 4745.194,
      "target": 4701.097,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 23.98,
        "bb_width_pct": 0.458
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-21T23-40-00Z_long_vwap_mean_reversion",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4731.755,
      "stop": 4719.003,
      "target": 4757.259,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.37,
        "bb_width_pct": 0.481
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T00-10-00Z_short_rsi_range_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T00:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4742.825,
      "stop": 4749.191,
      "target": 4730.094,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 27.2,
        "bb_width_pct": 0.748
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T00-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T00:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4742.825,
      "stop": 4760.08,
      "target": 4708.315,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 27.2,
        "bb_width_pct": 0.748
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T00-20-00Z_short_rsi_range_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T00:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4741.605,
      "stop": 4746.13,
      "target": 4732.556,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 15.37,
        "bb_width_pct": 0.724
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T00-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T00:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4741.605,
      "stop": 4758.25,
      "target": 4708.315,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.37,
        "bb_width_pct": 0.724
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T00-35-00Z_short_rsi_range_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T00:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4745.07,
      "stop": 4749.391,
      "target": 4736.428,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 19.54,
        "bb_width_pct": 0.596
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T00-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T00:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4745.07,
      "stop": 4755.135,
      "target": 4724.94,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 19.54,
        "bb_width_pct": 0.596
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T00-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T00:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4742.25,
      "stop": 4750.182,
      "target": 4726.385,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.43,
        "bb_width_pct": 0.535
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T00-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T00:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4742.25,
      "stop": 4744.831,
      "target": 4737.088,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.43,
        "bb_width_pct": 0.535
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T00-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T00:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4743.69,
      "stop": 4746.676,
      "target": 4737.717,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.58,
        "bb_width_pct": 0.49
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T00-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T00:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4740.16,
      "stop": 4745.954,
      "target": 4728.573,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.97,
        "bb_width_pct": 0.444
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T00-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T00:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4740.02,
      "stop": 4745.744,
      "target": 4728.573,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.3,
        "bb_width_pct": 0.421
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T01-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4741.045,
      "stop": 4742.356,
      "target": 4738.423,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.44,
        "bb_width_pct": 0.402
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T01-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T01:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4746.03,
      "stop": 4748.152,
      "target": 4741.787,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.42,
        "bb_width_pct": 0.205
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T01-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T01:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4746.03,
      "stop": 4749.352,
      "target": 4739.386,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.42,
        "bb_width_pct": 0.205
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T01-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T01:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4746.5,
      "stop": 4748.65,
      "target": 4742.2,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.94,
        "bb_width_pct": 0.21
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T01-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T01:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4746.5,
      "stop": 4749.718,
      "target": 4740.064,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.94,
        "bb_width_pct": 0.21
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T01-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T01:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4749.735,
      "stop": 4752.773,
      "target": 4743.658,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.67,
        "bb_width_pct": 0.292
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T01-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T01:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4749.735,
      "stop": 4757.337,
      "target": 4734.53,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.67,
        "bb_width_pct": 0.292
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T01-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T01:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4749.735,
      "stop": 4753.286,
      "target": 4742.634,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.67,
        "bb_width_pct": 0.292
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T01-55-00Z_short_vwap_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T01:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4752.27,
      "stop": 4755.946,
      "target": 4744.918,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 17.05,
        "bb_width_pct": 0.409
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T01-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T01:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4752.27,
      "stop": 4760.774,
      "target": 4735.262,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.05,
        "bb_width_pct": 0.409
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T01-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T01:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4752.27,
      "stop": 4755.728,
      "target": 4745.353,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.05,
        "bb_width_pct": 0.409
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T02-20-00Z_short_rsi_range_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T02:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4755.73,
      "stop": 4759.58,
      "target": 4748.029,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 24.97,
        "bb_width_pct": 0.53
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T02-20-00Z_short_vwap_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T02:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4755.73,
      "stop": 4760.295,
      "target": 4746.6,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 24.97,
        "bb_width_pct": 0.53
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T02-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T02:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4755.73,
      "stop": 4763.67,
      "target": 4739.85,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 24.97,
        "bb_width_pct": 0.53
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T02-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T02:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4755.73,
      "stop": 4758.952,
      "target": 4749.287,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 24.97,
        "bb_width_pct": 0.53
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T02-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T02:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4755.85,
      "stop": 4758.819,
      "target": 4749.912,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.5,
        "bb_width_pct": 0.542
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T02-35-00Z_short_vwap_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T02:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4753.6,
      "stop": 4756.663,
      "target": 4747.474,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.32,
        "bb_width_pct": 0.508
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T02-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T02:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4753.6,
      "stop": 4758.384,
      "target": 4744.032,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.32,
        "bb_width_pct": 0.508
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T02-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T02:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4753.6,
      "stop": 4754.969,
      "target": 4750.862,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.32,
        "bb_width_pct": 0.508
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T02-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T02:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4755.845,
      "stop": 4757.842,
      "target": 4751.851,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.61,
        "bb_width_pct": 0.27
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T03-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T03:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4759.665,
      "stop": 4762.381,
      "target": 4754.233,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.52,
        "bb_width_pct": 0.242
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T03-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T03:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4757.76,
      "stop": 4759.289,
      "target": 4754.702,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.8,
        "bb_width_pct": 0.223
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T03-10-00Z_short_vwap_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T03:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4757.76,
      "stop": 4762.164,
      "target": 4748.952,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.8,
        "bb_width_pct": 0.223
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T03-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T03:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4757.76,
      "stop": 4762.306,
      "target": 4748.667,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.8,
        "bb_width_pct": 0.223
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T03-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T03:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4757.76,
      "stop": 4759.815,
      "target": 4753.651,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.8,
        "bb_width_pct": 0.223
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T03-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4758.775,
      "stop": 4761.093,
      "target": 4754.139,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.32,
        "bb_width_pct": 0.226
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T03-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T03:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4759.59,
      "stop": 4762.056,
      "target": 4754.658,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.86,
        "bb_width_pct": 0.216
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T03-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4761.195,
      "stop": 4763.589,
      "target": 4756.406,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.85,
        "bb_width_pct": 0.264
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T03-30-00Z_short_vwap_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4761.195,
      "stop": 4766.78,
      "target": 4750.025,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.85,
        "bb_width_pct": 0.264
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T03-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4761.195,
      "stop": 4766.977,
      "target": 4749.63,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.85,
        "bb_width_pct": 0.264
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T03-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4761.195,
      "stop": 4763.789,
      "target": 4756.008,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.85,
        "bb_width_pct": 0.264
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T03-35-00Z_short_vwap_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T03:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4758.215,
      "stop": 4762.209,
      "target": 4750.227,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.58,
        "bb_width_pct": 0.254
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T03-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T03:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4758.215,
      "stop": 4762.095,
      "target": 4750.455,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.58,
        "bb_width_pct": 0.254
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T03-45-00Z_short_vwap_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T03:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4759.07,
      "stop": 4763.298,
      "target": 4750.614,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.0,
        "bb_width_pct": 0.24
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T03-50-00Z_short_vwap_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T03:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4758.06,
      "stop": 4761.695,
      "target": 4750.79,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.46,
        "bb_width_pct": 0.239
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T03-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T03:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4758.06,
      "stop": 4761.863,
      "target": 4750.455,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.46,
        "bb_width_pct": 0.239
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T04-05-00Z_short_vwap_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4758.41,
      "stop": 4761.983,
      "target": 4751.265,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 1.49,
        "bb_width_pct": 0.237
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T04-10-00Z_short_vwap_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T04:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4757.52,
      "stop": 4760.585,
      "target": 4751.391,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.18,
        "bb_width_pct": 0.236
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T04-15-00Z_short_vwap_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T04:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4756.46,
      "stop": 4758.944,
      "target": 4751.491,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.19,
        "bb_width_pct": 0.224
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T04-20-00Z_short_vwap_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4756.16,
      "stop": 4758.447,
      "target": 4751.585,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.72,
        "bb_width_pct": 0.192
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T04-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T04:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4755.855,
      "stop": 4754.61,
      "target": 4758.345,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.76,
        "bb_width_pct": 0.154
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T04-25-00Z_short_vwap_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T04:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4755.855,
      "stop": 4757.953,
      "target": 4751.66,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 9.76,
        "bb_width_pct": 0.154
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T04-30-00Z_short_vwap_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T04:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4755.05,
      "stop": 4756.707,
      "target": 4751.737,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 21.67,
        "bb_width_pct": 0.157
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T04-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4756.56,
      "stop": 4755.79,
      "target": 4758.101,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.72,
        "bb_width_pct": 0.173
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T04-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T04:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4755.01,
      "stop": 4753.577,
      "target": 4757.876,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.41,
        "bb_width_pct": 0.179
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T04-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T04:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4754.665,
      "stop": 4753.162,
      "target": 4757.671,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.23,
        "bb_width_pct": 0.188
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T04-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T04:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4754.665,
      "stop": 4753.821,
      "target": 4756.353,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.23,
        "bb_width_pct": 0.188
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T05-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4753.2,
      "stop": 4751.124,
      "target": 4757.351,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.92,
        "bb_width_pct": 0.201
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T05-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4755.815,
      "stop": 4755.229,
      "target": 4756.987,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.84,
        "bb_width_pct": 0.169
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T05-20-00Z_short_rsi_range_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4768.86,
      "stop": 4774.39,
      "target": 4757.8,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 24.42,
        "bb_width_pct": 0.34
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T05-20-00Z_short_vwap_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4768.86,
      "stop": 4776.964,
      "target": 4752.652,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 24.42,
        "bb_width_pct": 0.34
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T05-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4768.86,
      "stop": 4773.073,
      "target": 4760.435,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 24.42,
        "bb_width_pct": 0.34
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T05-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4766.23,
      "stop": 4770.266,
      "target": 4758.158,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.4,
        "bb_width_pct": 0.373
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T05-25-00Z_short_vwap_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4766.23,
      "stop": 4772.907,
      "target": 4752.876,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 18.4,
        "bb_width_pct": 0.373
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T05-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4766.23,
      "stop": 4768.624,
      "target": 4761.443,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.4,
        "bb_width_pct": 0.373
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T05-30-00Z_short_vwap_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4765.755,
      "stop": 4772.099,
      "target": 4753.067,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 17.46,
        "bb_width_pct": 0.398
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T05-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4765.755,
      "stop": 4768.722,
      "target": 4759.822,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.46,
        "bb_width_pct": 0.398
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T05-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4766.575,
      "stop": 4769.63,
      "target": 4760.465,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.01,
        "bb_width_pct": 0.424
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T05-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4767.46,
      "stop": 4770.624,
      "target": 4761.131,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.8,
        "bb_width_pct": 0.452
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T05-50-00Z_short_rsi_range_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4768.065,
      "stop": 4771.876,
      "target": 4760.443,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 16.17,
        "bb_width_pct": 0.505
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T05-50-00Z_short_vwap_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4768.065,
      "stop": 4775.142,
      "target": 4753.91,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 16.17,
        "bb_width_pct": 0.505
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T05-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4768.065,
      "stop": 4771.376,
      "target": 4761.443,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 16.17,
        "bb_width_pct": 0.505
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T05-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4768.065,
      "stop": 4770.855,
      "target": 4762.485,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.17,
        "bb_width_pct": 0.505
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T05-55-00Z_short_vwap_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T05:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4767.83,
      "stop": 4774.699,
      "target": 4754.092,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 20.02,
        "bb_width_pct": 0.516
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T05-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T05:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4767.83,
      "stop": 4770.966,
      "target": 4761.557,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 20.02,
        "bb_width_pct": 0.516
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T06-20-00Z_short_vwap_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T06:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4763.52,
      "stop": 4767.966,
      "target": 4754.628,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.85,
        "bb_width_pct": 0.446
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T06-30-00Z_short_vwap_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4766.005,
      "stop": 4771.55,
      "target": 4754.915,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.38,
        "bb_width_pct": 0.418
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T06-35-00Z_short_vwap_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4764.845,
      "stop": 4769.746,
      "target": 4755.042,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 1.63,
        "bb_width_pct": 0.381
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T06-40-00Z_short_vwap_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T06:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4763.81,
      "stop": 4768.135,
      "target": 4755.161,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.05,
        "bb_width_pct": 0.318
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T07-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T07:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4768.985,
      "stop": 4771.04,
      "target": 4764.875,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.38,
        "bb_width_pct": 0.217
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T07-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T07:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4770.005,
      "stop": 4772.102,
      "target": 4765.812,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.93,
        "bb_width_pct": 0.232
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T07-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T07:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4770.005,
      "stop": 4772.326,
      "target": 4765.364,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.93,
        "bb_width_pct": 0.232
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T07-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T07:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4765.9,
      "stop": 4767.674,
      "target": 4762.352,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.68,
        "bb_width_pct": 0.232
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T07-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T07:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4761.445,
      "stop": 4759.451,
      "target": 4765.433,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.12,
        "bb_width_pct": 0.174
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T07-55-00Z_long_vwap_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T07:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4760.68,
      "stop": 4758.49,
      "target": 4765.06,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.16,
        "bb_width_pct": 0.207
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T08-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4759.68,
      "stop": 4757.03,
      "target": 4764.981,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.31,
        "bb_width_pct": 0.228
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T08-05-00Z_long_rsi_range_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T08:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4760.2,
      "stop": 4757.98,
      "target": 4764.641,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.09,
        "bb_width_pct": 0.241
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T08-05-00Z_long_vwap_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T08:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4760.2,
      "stop": 4758.115,
      "target": 4764.37,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.09,
        "bb_width_pct": 0.241
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T08-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T08:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4759.025,
      "stop": 4756.557,
      "target": 4763.962,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.36,
        "bb_width_pct": 0.282
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T08-15-00Z_long_rsi_range_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T08:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4759.025,
      "stop": 4756.557,
      "target": 4763.962,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.36,
        "bb_width_pct": 0.282
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T08-15-00Z_long_vwap_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T08:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4759.025,
      "stop": 4756.686,
      "target": 4763.703,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.36,
        "bb_width_pct": 0.282
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T08-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T08:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4759.025,
      "stop": 4757.303,
      "target": 4762.469,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.36,
        "bb_width_pct": 0.282
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T08-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4753.1,
      "stop": 4748.534,
      "target": 4762.232,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 27.45,
        "bb_width_pct": 0.397
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T08-35-00Z_long_rsi_range_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4753.27,
      "stop": 4749.155,
      "target": 4761.501,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.05,
        "bb_width_pct": 0.413
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T08-35-00Z_long_vwap_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4753.27,
      "stop": 4748.956,
      "target": 4761.899,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.05,
        "bb_width_pct": 0.413
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T08-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4753.27,
      "stop": 4748.646,
      "target": 4762.517,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 25.05,
        "bb_width_pct": 0.413
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T08-40-00Z_long_rsi_range_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T08:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4756.27,
      "stop": 4753.973,
      "target": 4760.865,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.63,
        "bb_width_pct": 0.397
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T08-40-00Z_long_vwap_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T08:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4756.27,
      "stop": 4753.621,
      "target": 4761.568,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.63,
        "bb_width_pct": 0.397
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T08-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T08:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4756.27,
      "stop": 4753.314,
      "target": 4762.182,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 18.63,
        "bb_width_pct": 0.397
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T08-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T08:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4756.27,
      "stop": 4754.758,
      "target": 4759.294,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.63,
        "bb_width_pct": 0.397
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T08-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T08:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4757.485,
      "stop": 4755.136,
      "target": 4762.182,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.25,
        "bb_width_pct": 0.353
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T09-55-00Z_long_vwap_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T09:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4755.335,
      "stop": 4752.931,
      "target": 4760.144,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.91,
        "bb_width_pct": 0.209
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T09-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T09:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4755.335,
      "stop": 4751.911,
      "target": 4762.182,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.91,
        "bb_width_pct": 0.209
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T09-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T09:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4755.335,
      "stop": 4753.957,
      "target": 4758.092,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.91,
        "bb_width_pct": 0.209
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T10-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T10:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4753.8,
      "stop": 4752.504,
      "target": 4756.393,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.23,
        "bb_width_pct": 0.32
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T10-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T10:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4753.8,
      "stop": 4751.131,
      "target": 4759.138,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.23,
        "bb_width_pct": 0.32
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T10-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T10:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4753.8,
      "stop": 4752.953,
      "target": 4755.494,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.23,
        "bb_width_pct": 0.32
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T11-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T11:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4757.37,
      "stop": 4758.934,
      "target": 4754.243,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.67,
        "bb_width_pct": 0.29
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T11-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T11:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4752.13,
      "stop": 4750.34,
      "target": 4755.711,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.87,
        "bb_width_pct": 0.272
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T11-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T11:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4752.13,
      "stop": 4751.074,
      "target": 4754.243,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.87,
        "bb_width_pct": 0.272
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T11-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T11:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4752.13,
      "stop": 4750.359,
      "target": 4755.673,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.87,
        "bb_width_pct": 0.272
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T11-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T11:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4750.515,
      "stop": 4748.385,
      "target": 4754.774,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.06,
        "bb_width_pct": 0.268
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T12-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T12:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4751.94,
      "stop": 4750.466,
      "target": 4754.889,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.07,
        "bb_width_pct": 0.297
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T12-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T12:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4751.94,
      "stop": 4750.789,
      "target": 4754.243,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 13.07,
        "bb_width_pct": 0.297
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T12-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T12:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4750.625,
      "stop": 4748.91,
      "target": 4754.055,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.89,
        "bb_width_pct": 0.283
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T12-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T12:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4746.76,
      "stop": 4743.388,
      "target": 4753.504,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.14,
        "bb_width_pct": 0.303
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T12-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T12:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4744.38,
      "stop": 4740.592,
      "target": 4751.956,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.71,
        "bb_width_pct": 0.338
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T12-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T12:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4746.605,
      "stop": 4743.737,
      "target": 4752.341,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.68,
        "bb_width_pct": 0.345
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T12-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T12:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4746.605,
      "stop": 4743.514,
      "target": 4752.788,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.68,
        "bb_width_pct": 0.345
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T12-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T12:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4746.605,
      "stop": 4744.184,
      "target": 4751.446,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.68,
        "bb_width_pct": 0.345
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T13-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T13:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4744.905,
      "stop": 4742.279,
      "target": 4750.158,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.37,
        "bb_width_pct": 0.358
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T13-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T13:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4744.905,
      "stop": 4742.031,
      "target": 4750.653,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.37,
        "bb_width_pct": 0.358
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T13-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T13:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4744.905,
      "stop": 4742.637,
      "target": 4749.44,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.37,
        "bb_width_pct": 0.358
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T13-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T13:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4742.52,
      "stop": 4739.079,
      "target": 4749.402,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.0,
        "bb_width_pct": 0.354
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T13-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T13:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4743.455,
      "stop": 4740.767,
      "target": 4748.831,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.96,
        "bb_width_pct": 0.353
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T13-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T13:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4743.455,
      "stop": 4740.109,
      "target": 4750.148,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.96,
        "bb_width_pct": 0.353
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T13-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T13:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4743.455,
      "stop": 4741.046,
      "target": 4748.274,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.96,
        "bb_width_pct": 0.353
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T13-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T13:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4755.425,
      "stop": 4759.034,
      "target": 4748.206,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.97,
        "bb_width_pct": 0.339
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T13-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4756.945,
      "stop": 4761.216,
      "target": 4748.403,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.6,
        "bb_width_pct": 0.365
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T13-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4756.945,
      "stop": 4760.626,
      "target": 4749.583,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.6,
        "bb_width_pct": 0.365
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T13-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T13:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4755.255,
      "stop": 4758.613,
      "target": 4748.54,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.04,
        "bb_width_pct": 0.379
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T13-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T13:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4755.255,
      "stop": 4758.486,
      "target": 4748.792,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.04,
        "bb_width_pct": 0.379
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T14-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T14:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4737.33,
      "stop": 4732.693,
      "target": 4746.603,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.51,
        "bb_width_pct": 0.454
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T14-35-00Z_long_vwap_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T14:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4737.33,
      "stop": 4732.003,
      "target": 4747.983,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.51,
        "bb_width_pct": 0.454
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T14-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T14:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4737.33,
      "stop": 4732.409,
      "target": 4747.172,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.51,
        "bb_width_pct": 0.454
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T14-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T14:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4737.33,
      "stop": 4732.914,
      "target": 4746.161,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.51,
        "bb_width_pct": 0.454
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T14-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T14:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4738.075,
      "stop": 4734.191,
      "target": 4745.842,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.1,
        "bb_width_pct": 0.53
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T14-45-00Z_long_vwap_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T14:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4738.075,
      "stop": 4733.467,
      "target": 4747.291,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.1,
        "bb_width_pct": 0.53
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T14-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T14:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4738.075,
      "stop": 4734.368,
      "target": 4745.49,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 17.1,
        "bb_width_pct": 0.53
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T14-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T14:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4738.075,
      "stop": 4734.973,
      "target": 4744.279,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.1,
        "bb_width_pct": 0.53
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T14-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T14:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4737.955,
      "stop": 4735.094,
      "target": 4743.677,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.47,
        "bb_width_pct": 0.547
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T15-05-00Z_long_rsi_range_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T15:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4736.345,
      "stop": 4732.533,
      "target": 4743.97,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.81,
        "bb_width_pct": 0.606
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T15-05-00Z_long_vwap_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T15:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4736.345,
      "stop": 4731.444,
      "target": 4746.147,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.81,
        "bb_width_pct": 0.606
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T15-10-00Z_long_vwap_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T15:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4737.75,
      "stop": 4733.655,
      "target": 4745.94,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.94,
        "bb_width_pct": 0.616
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T15-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T15:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4733.6,
      "stop": 4730.107,
      "target": 4740.586,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.64,
        "bb_width_pct": 0.635
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T15-20-00Z_long_rsi_range_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T15:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4734.01,
      "stop": 4730.123,
      "target": 4741.783,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.59,
        "bb_width_pct": 0.606
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T15-20-00Z_long_vwap_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T15:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4734.01,
      "stop": 4728.35,
      "target": 4745.33,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.59,
        "bb_width_pct": 0.606
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T15-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T15:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4734.01,
      "stop": 4728.288,
      "target": 4745.455,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.59,
        "bb_width_pct": 0.606
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T15-25-00Z_long_rsi_range_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T15:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4735.215,
      "stop": 4732.474,
      "target": 4740.697,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.8,
        "bb_width_pct": 0.54
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T15-25-00Z_long_vwap_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T15:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4735.215,
      "stop": 4730.29,
      "target": 4745.065,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.8,
        "bb_width_pct": 0.54
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T15-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T15:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4735.215,
      "stop": 4730.095,
      "target": 4745.455,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 11.8,
        "bb_width_pct": 0.54
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T15-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T15:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4727.96,
      "stop": 4722.773,
      "target": 4738.334,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.28,
        "bb_width_pct": 0.449
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T15-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T15:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4727.295,
      "stop": 4722.233,
      "target": 4737.419,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.48,
        "bb_width_pct": 0.47
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T15-45-00Z_long_vwap_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T15:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4728.52,
      "stop": 4720.911,
      "target": 4743.738,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.28,
        "bb_width_pct": 0.464
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T15-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T15:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4728.52,
      "stop": 4721.008,
      "target": 4743.545,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.28,
        "bb_width_pct": 0.464
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T15-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T15:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4728.52,
      "stop": 4724.754,
      "target": 4736.052,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.28,
        "bb_width_pct": 0.464
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T15-55-00Z_long_rsi_range_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T15:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4727.68,
      "stop": 4724.19,
      "target": 4734.66,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.22,
        "bb_width_pct": 0.423
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T15-55-00Z_long_vwap_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T15:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4727.68,
      "stop": 4719.979,
      "target": 4743.082,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.22,
        "bb_width_pct": 0.423
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T15-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T15:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4727.68,
      "stop": 4720.017,
      "target": 4743.005,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.22,
        "bb_width_pct": 0.423
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T16-00-00Z_long_vwap_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4730.76,
      "stop": 4724.74,
      "target": 4742.799,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.94,
        "bb_width_pct": 0.37
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T16-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4730.76,
      "stop": 4724.638,
      "target": 4743.005,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.94,
        "bb_width_pct": 0.37
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T16-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4730.76,
      "stop": 4729.059,
      "target": 4734.162,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.94,
        "bb_width_pct": 0.37
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T16-05-00Z_long_vwap_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T16:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4733.65,
      "stop": 4729.173,
      "target": 4742.605,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.0,
        "bb_width_pct": 0.313
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T16-20-00Z_long_rsi_range_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T16:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4725.445,
      "stop": 4722.116,
      "target": 4732.102,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.04,
        "bb_width_pct": 0.359
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T16-20-00Z_long_vwap_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T16:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4725.445,
      "stop": 4717.278,
      "target": 4741.778,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.04,
        "bb_width_pct": 0.359
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T16-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T16:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4725.445,
      "stop": 4716.684,
      "target": 4742.967,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.04,
        "bb_width_pct": 0.359
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T16-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T16:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4725.445,
      "stop": 4722.058,
      "target": 4732.218,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.04,
        "bb_width_pct": 0.359
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T16-25-00Z_long_vwap_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T16:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4727.22,
      "stop": 4720.081,
      "target": 4741.497,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.65,
        "bb_width_pct": 0.35
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T16-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T16:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4727.22,
      "stop": 4719.562,
      "target": 4742.535,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.65,
        "bb_width_pct": 0.35
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T16-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T16:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4727.22,
      "stop": 4724.959,
      "target": 4731.742,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.65,
        "bb_width_pct": 0.35
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T16-30-00Z_long_vwap_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T16:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4728.485,
      "stop": 4722.11,
      "target": 4741.236,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.36,
        "bb_width_pct": 0.331
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T16-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T16:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4728.485,
      "stop": 4721.46,
      "target": 4742.535,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.36,
        "bb_width_pct": 0.331
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T16-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T16:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4728.485,
      "stop": 4727.011,
      "target": 4731.432,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.36,
        "bb_width_pct": 0.331
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T16-35-00Z_long_vwap_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4730.945,
      "stop": 4725.898,
      "target": 4741.039,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.34,
        "bb_width_pct": 0.316
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T16-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4730.945,
      "stop": 4725.171,
      "target": 4742.493,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 3.34,
        "bb_width_pct": 0.316
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T16-45-00Z_long_vwap_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4730.045,
      "stop": 4724.753,
      "target": 4740.629,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.64,
        "bb_width_pct": 0.284
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T16-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4730.045,
      "stop": 4723.821,
      "target": 4742.493,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.64,
        "bb_width_pct": 0.284
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T16-50-00Z_long_vwap_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T16:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4730.135,
      "stop": 4724.983,
      "target": 4740.439,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.77,
        "bb_width_pct": 0.242
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T16-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T16:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4730.135,
      "stop": 4723.956,
      "target": 4742.493,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 2.77,
        "bb_width_pct": 0.242
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T17-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T17:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4735.49,
      "stop": 4731.989,
      "target": 4742.493,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.45,
        "bb_width_pct": 0.243
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T17-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T17:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4735.39,
      "stop": 4738.208,
      "target": 4729.754,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.86,
        "bb_width_pct": 0.268
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T17-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T17:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4735.39,
      "stop": 4737.088,
      "target": 4731.994,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.86,
        "bb_width_pct": 0.268
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T17-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T17:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4733.64,
      "stop": 4735.441,
      "target": 4730.038,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.28,
        "bb_width_pct": 0.275
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T17-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T17:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4735.695,
      "stop": 4738.313,
      "target": 4730.458,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.6,
        "bb_width_pct": 0.288
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T17-25-00Z_short_rsi_range_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T17:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4735.155,
      "stop": 4737.337,
      "target": 4730.79,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 16.49,
        "bb_width_pct": 0.298
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T18-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4733.275,
      "stop": 4732.453,
      "target": 4734.919,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.2,
        "bb_width_pct": 0.195
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T18-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T18:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4741.945,
      "stop": 4744.699,
      "target": 4736.438,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.09,
        "bb_width_pct": 0.293
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T18-50-00Z_short_vwap_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T18:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4741.945,
      "stop": 4744.805,
      "target": 4736.226,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 9.09,
        "bb_width_pct": 0.293
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T18-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T18:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4741.945,
      "stop": 4744.369,
      "target": 4737.097,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.09,
        "bb_width_pct": 0.293
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T18-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T18:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4741.945,
      "stop": 4744.595,
      "target": 4736.646,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.09,
        "bb_width_pct": 0.293
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T18-55-00Z_short_vwap_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T18:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4741.81,
      "stop": 4744.497,
      "target": 4736.435,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.71,
        "bb_width_pct": 0.303
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T19-00-00Z_short_vwap_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T19:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4741.73,
      "stop": 4744.276,
      "target": 4736.638,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.51,
        "bb_width_pct": 0.315
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T20-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T20:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4736.32,
      "stop": 4734.204,
      "target": 4740.552,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.98,
        "bb_width_pct": 0.196
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T20-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T20:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4735.755,
      "stop": 4733.481,
      "target": 4740.304,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.73,
        "bb_width_pct": 0.221
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T20-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T20:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4737.115,
      "stop": 4735.764,
      "target": 4739.817,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.1,
        "bb_width_pct": 0.188
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T22-00-00Z_long_vwap_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T22:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4742.025,
      "stop": 4735.825,
      "target": 4754.426,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.05,
        "bb_width_pct": 0.174
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T22-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T22:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4739.1,
      "stop": 4739.205,
      "target": 4738.891,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.1,
        "bb_width_pct": 0.14
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T22-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T22:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4734.34,
      "stop": 4732.684,
      "target": 4737.652,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.4,
        "bb_width_pct": 0.181
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T22-30-00Z_long_vwap_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T22:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4734.34,
      "stop": 4726.052,
      "target": 4750.916,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.4,
        "bb_width_pct": 0.181
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T22-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T22:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4734.34,
      "stop": 4731.464,
      "target": 4740.092,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.4,
        "bb_width_pct": 0.181
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T22-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T22:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4734.34,
      "stop": 4732.807,
      "target": 4737.406,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.4,
        "bb_width_pct": 0.181
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T22-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T22:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4730.285,
      "stop": 4727.254,
      "target": 4736.346,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.99,
        "bb_width_pct": 0.27
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T22-45-00Z_long_rsi_range_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T22:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4730.285,
      "stop": 4727.254,
      "target": 4736.346,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.99,
        "bb_width_pct": 0.27
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T22-45-00Z_long_vwap_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T22:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4730.285,
      "stop": 4720.851,
      "target": 4749.154,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.99,
        "bb_width_pct": 0.27
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T22-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T22:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4730.285,
      "stop": 4725.432,
      "target": 4739.99,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 18.99,
        "bb_width_pct": 0.27
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T22-50-00Z_long_vwap_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T22:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4730.935,
      "stop": 4722.085,
      "target": 4748.635,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.42,
        "bb_width_pct": 0.288
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T22-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T22:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4730.935,
      "stop": 4726.601,
      "target": 4739.602,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 20.42,
        "bb_width_pct": 0.288
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T22-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T22:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4730.935,
      "stop": 4728.829,
      "target": 4735.147,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.42,
        "bb_width_pct": 0.288
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T23-15-00Z_long_rsi_range_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4729.08,
      "stop": 4726.938,
      "target": 4733.364,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.4,
        "bb_width_pct": 0.441
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T23-15-00Z_long_vwap_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4729.08,
      "stop": 4720.677,
      "target": 4745.887,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.4,
        "bb_width_pct": 0.441
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T23-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4729.08,
      "stop": 4726.31,
      "target": 4734.62,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 17.4,
        "bb_width_pct": 0.441
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T23-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4729.08,
      "stop": 4727.724,
      "target": 4731.792,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.4,
        "bb_width_pct": 0.441
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T23-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T23:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4726.7,
      "stop": 4724.396,
      "target": 4731.307,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.35,
        "bb_width_pct": 0.449
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T23-25-00Z_long_vwap_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T23:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4728.515,
      "stop": 4720.265,
      "target": 4745.016,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.81,
        "bb_width_pct": 0.44
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T23-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T23:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4728.515,
      "stop": 4725.462,
      "target": 4734.62,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.81,
        "bb_width_pct": 0.44
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T23-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T23:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4728.515,
      "stop": 4727.252,
      "target": 4731.041,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.81,
        "bb_width_pct": 0.44
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T23-45-00Z_long_vwap_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4728.205,
      "stop": 4720.613,
      "target": 4743.388,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.45,
        "bb_width_pct": 0.321
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T23-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4728.205,
      "stop": 4725.179,
      "target": 4734.257,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.45,
        "bb_width_pct": 0.321
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T23-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4728.205,
      "stop": 4727.565,
      "target": 4729.485,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.45,
        "bb_width_pct": 0.321
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-22T23-55-00Z_long_vwap_mean_reversion",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T23:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4727.88,
      "stop": 4720.455,
      "target": 4742.73,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.35,
        "bb_width_pct": 0.256
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T00-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T00:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4722.855,
      "stop": 4721.816,
      "target": 4724.933,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.53,
        "bb_width_pct": 0.574
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T00-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T00:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4722.855,
      "stop": 4722.088,
      "target": 4724.389,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.53,
        "bb_width_pct": 0.574
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T00-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T00:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4745.74,
      "stop": 4755.041,
      "target": 4727.138,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.85,
        "bb_width_pct": 0.83
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T00-35-00Z_short_vwap_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T00:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4745.74,
      "stop": 4755.088,
      "target": 4727.044,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.85,
        "bb_width_pct": 0.83
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T00-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T00:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4745.74,
      "stop": 4757.091,
      "target": 4723.038,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.85,
        "bb_width_pct": 0.83
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T00-40-00Z_short_vwap_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T00:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4744.81,
      "stop": 4752.699,
      "target": 4729.031,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.78,
        "bb_width_pct": 0.889
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T00-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T00:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4744.81,
      "stop": 4755.696,
      "target": 4723.038,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.78,
        "bb_width_pct": 0.889
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T00-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T00:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4748.32,
      "stop": 4755.315,
      "target": 4734.331,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.99,
        "bb_width_pct": 1.016
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T00-55-00Z_short_vwap_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T00:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4747.765,
      "stop": 4754.754,
      "target": 4733.788,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.05,
        "bb_width_pct": 1.065
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T00-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T00:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4747.765,
      "stop": 4759.564,
      "target": 4724.167,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.05,
        "bb_width_pct": 1.065
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T01-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4744.42,
      "stop": 4754.546,
      "target": 4724.167,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.95,
        "bb_width_pct": 1.088
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T01-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T01:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4744.19,
      "stop": 4754.201,
      "target": 4724.167,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 16.34,
        "bb_width_pct": 1.107
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T01-40-00Z_long_rsi_range_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T01:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4734.095,
      "stop": 4733.492,
      "target": 4735.3,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.21,
        "bb_width_pct": 1.035
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T01-45-00Z_long_rsi_range_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T01:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4734.23,
      "stop": 4733.227,
      "target": 4736.237,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.24,
        "bb_width_pct": 0.962
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T01-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T01:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4724.91,
      "stop": 4720.423,
      "target": 4733.884,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.93,
        "bb_width_pct": 0.69
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T02-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T02:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4710.67,
      "stop": 4699.931,
      "target": 4732.148,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 28.0,
        "bb_width_pct": 1.017
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T02-15-00Z_long_rsi_range_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T02:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4710.67,
      "stop": 4699.931,
      "target": 4732.148,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 28.0,
        "bb_width_pct": 1.017
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T02-15-00Z_long_vwap_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T02:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4710.67,
      "stop": 4700.398,
      "target": 4731.214,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 28.0,
        "bb_width_pct": 1.017
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T02-20-00Z_long_rsi_range_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T02:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4715.79,
      "stop": 4708.337,
      "target": 4730.697,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.92,
        "bb_width_pct": 1.029
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T02-20-00Z_long_vwap_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T02:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4715.79,
      "stop": 4708.358,
      "target": 4730.654,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.92,
        "bb_width_pct": 1.029
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T02-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T02:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4715.79,
      "stop": 4711.032,
      "target": 4725.306,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.92,
        "bb_width_pct": 1.029
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T02-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4706.52,
      "stop": 4699.074,
      "target": 4721.412,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.84,
        "bb_width_pct": 0.925
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T02-45-00Z_long_rsi_range_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4706.52,
      "stop": 4699.074,
      "target": 4721.412,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.84,
        "bb_width_pct": 0.925
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T02-45-00Z_long_vwap_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4706.52,
      "stop": 4696.001,
      "target": 4727.558,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.84,
        "bb_width_pct": 0.925
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T02-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4706.52,
      "stop": 4697.696,
      "target": 4724.167,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 26.84,
        "bb_width_pct": 0.925
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T03-00-00Z_long_vwap_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4708.54,
      "stop": 4700.007,
      "target": 4725.606,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.55,
        "bb_width_pct": 0.92
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T03-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4708.54,
      "stop": 4700.726,
      "target": 4724.167,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.55,
        "bb_width_pct": 0.92
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T03-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4708.54,
      "stop": 4705.346,
      "target": 4714.928,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.55,
        "bb_width_pct": 0.92
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T03-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T03:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4703.76,
      "stop": 4698.708,
      "target": 4713.864,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.3,
        "bb_width_pct": 0.921
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T03-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T03:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4702.1,
      "stop": 4696.778,
      "target": 4712.744,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.82,
        "bb_width_pct": 0.912
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T03-20-00Z_long_vwap_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T03:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4704.32,
      "stop": 4694.798,
      "target": 4723.363,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.35,
        "bb_width_pct": 0.771
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T03-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T03:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4704.32,
      "stop": 4694.396,
      "target": 4724.167,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.35,
        "bb_width_pct": 0.771
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T03-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T03:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4704.32,
      "stop": 4701.032,
      "target": 4710.896,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.35,
        "bb_width_pct": 0.771
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T03-40-00Z_long_vwap_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T03:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4705.0,
      "stop": 4696.695,
      "target": 4721.611,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.53,
        "bb_width_pct": 0.42
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T03-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T03:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4705.0,
      "stop": 4694.385,
      "target": 4726.23,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.53,
        "bb_width_pct": 0.42
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T03-45-00Z_long_vwap_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T03:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4706.905,
      "stop": 4699.721,
      "target": 4721.274,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.41,
        "bb_width_pct": 0.391
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T03-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T03:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4706.905,
      "stop": 4697.243,
      "target": 4726.23,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.41,
        "bb_width_pct": 0.391
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T04-05-00Z_long_vwap_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4704.535,
      "stop": 4696.844,
      "target": 4719.918,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.68,
        "bb_width_pct": 0.282
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T04-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4704.535,
      "stop": 4693.688,
      "target": 4726.23,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.68,
        "bb_width_pct": 0.282
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T04-10-00Z_long_vwap_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T04:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4706.575,
      "stop": 4700.041,
      "target": 4719.643,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.44,
        "bb_width_pct": 0.238
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T04-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T04:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4706.575,
      "stop": 4697.782,
      "target": 4724.16,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.44,
        "bb_width_pct": 0.238
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T04-25-00Z_long_vwap_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T04:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4705.79,
      "stop": 4699.266,
      "target": 4718.837,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.75,
        "bb_width_pct": 0.177
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T04-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T04:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4705.79,
      "stop": 4698.09,
      "target": 4721.19,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 2.75,
        "bb_width_pct": 0.177
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T04-30-00Z_long_vwap_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T04:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4706.16,
      "stop": 4699.938,
      "target": 4718.605,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.78,
        "bb_width_pct": 0.181
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T04-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4702.4,
      "stop": 4701.58,
      "target": 4704.04,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.27,
        "bb_width_pct": 0.14
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T04-45-00Z_long_vwap_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4702.4,
      "stop": 4694.707,
      "target": 4717.786,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.27,
        "bb_width_pct": 0.14
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T04-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4702.4,
      "stop": 4694.749,
      "target": 4717.703,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.27,
        "bb_width_pct": 0.14
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T04-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4702.4,
      "stop": 4700.896,
      "target": 4705.408,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.27,
        "bb_width_pct": 0.14
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T04-50-00Z_long_vwap_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T04:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4702.74,
      "stop": 4695.343,
      "target": 4717.534,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.22,
        "bb_width_pct": 0.137
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T04-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T04:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4702.74,
      "stop": 4695.259,
      "target": 4717.703,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.22,
        "bb_width_pct": 0.137
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T04-55-00Z_long_vwap_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T04:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4704.49,
      "stop": 4698.085,
      "target": 4717.3,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.82,
        "bb_width_pct": 0.119
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T04-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T04:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4704.49,
      "stop": 4697.884,
      "target": 4717.703,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 2.82,
        "bb_width_pct": 0.119
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T05-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4707.28,
      "stop": 4708.713,
      "target": 4704.414,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.72,
        "bb_width_pct": 0.132
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T05-00-00Z_long_vwap_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4707.28,
      "stop": 4702.359,
      "target": 4717.123,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.72,
        "bb_width_pct": 0.132
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T05-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4707.28,
      "stop": 4702.069,
      "target": 4717.703,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.72,
        "bb_width_pct": 0.132
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T05-05-00Z_long_vwap_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4709.93,
      "stop": 4706.401,
      "target": 4716.988,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.22,
        "bb_width_pct": 0.164
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T05-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4707.8,
      "stop": 4709.216,
      "target": 4704.967,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.89,
        "bb_width_pct": 0.171
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T05-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4706.64,
      "stop": 4707.329,
      "target": 4705.263,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.21,
        "bb_width_pct": 0.173
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T05-30-00Z_long_vwap_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4706.08,
      "stop": 4701.025,
      "target": 4716.189,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.52,
        "bb_width_pct": 0.171
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T05-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4706.08,
      "stop": 4704.945,
      "target": 4708.35,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.52,
        "bb_width_pct": 0.171
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T05-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4706.08,
      "stop": 4706.074,
      "target": 4706.092,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.52,
        "bb_width_pct": 0.171
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T05-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4712.055,
      "stop": 4714.831,
      "target": 4706.502,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.0,
        "bb_width_pct": 0.239
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T05-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T05:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4713.625,
      "stop": 4716.847,
      "target": 4707.18,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.9,
        "bb_width_pct": 0.279
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T06-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4714.82,
      "stop": 4718.276,
      "target": 4707.908,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.29,
        "bb_width_pct": 0.318
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T06-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4713.205,
      "stop": 4716.278,
      "target": 4707.059,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.45,
        "bb_width_pct": 0.34
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T06-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4713.205,
      "stop": 4717.1,
      "target": 4705.415,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.45,
        "bb_width_pct": 0.34
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T06-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4713.205,
      "stop": 4715.601,
      "target": 4708.412,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.45,
        "bb_width_pct": 0.34
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T06-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T06:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4711.945,
      "stop": 4714.244,
      "target": 4707.348,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.89,
        "bb_width_pct": 0.351
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T06-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T06:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4711.945,
      "stop": 4715.21,
      "target": 4705.415,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.89,
        "bb_width_pct": 0.351
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T06-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T06:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4716.34,
      "stop": 4719.336,
      "target": 4710.348,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.0,
        "bb_width_pct": 0.338
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T06-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T06:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4716.34,
      "stop": 4718.933,
      "target": 4711.155,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.0,
        "bb_width_pct": 0.338
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T06-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T06:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4714.455,
      "stop": 4716.342,
      "target": 4710.681,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.56,
        "bb_width_pct": 0.343
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T06-50-00Z_short_rsi_range_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T06:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4714.455,
      "stop": 4716.342,
      "target": 4710.681,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 5.56,
        "bb_width_pct": 0.343
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T06-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T06:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4714.455,
      "stop": 4718.472,
      "target": 4706.42,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.56,
        "bb_width_pct": 0.343
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T06-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T06:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4714.455,
      "stop": 4715.948,
      "target": 4711.469,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.56,
        "bb_width_pct": 0.343
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T06-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T06:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4713.115,
      "stop": 4716.159,
      "target": 4707.028,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.59,
        "bb_width_pct": 0.338
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T07-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4710.98,
      "stop": 4710.363,
      "target": 4712.215,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.48,
        "bb_width_pct": 0.219
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T07-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T07:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4715.99,
      "stop": 4717.72,
      "target": 4712.529,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.39,
        "bb_width_pct": 0.277
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T07-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T07:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4715.99,
      "stop": 4720.471,
      "target": 4707.028,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.39,
        "bb_width_pct": 0.277
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T07-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T07:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4719.275,
      "stop": 4722.425,
      "target": 4712.975,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.59,
        "bb_width_pct": 0.3
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T08-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4721.6,
      "stop": 4725.533,
      "target": 4713.735,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.96,
        "bb_width_pct": 0.339
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T08-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T08:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4718.85,
      "stop": 4721.391,
      "target": 4713.768,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.92,
        "bb_width_pct": 0.352
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T08-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T08:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4718.85,
      "stop": 4723.875,
      "target": 4708.8,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.92,
        "bb_width_pct": 0.352
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T08-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T08:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4718.17,
      "stop": 4722.855,
      "target": 4708.8,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.93,
        "bb_width_pct": 0.36
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T08-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T08:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4718.38,
      "stop": 4723.17,
      "target": 4708.8,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.36,
        "bb_width_pct": 0.386
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T08-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T08:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4715.4,
      "stop": 4718.7,
      "target": 4708.8,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.15,
        "bb_width_pct": 0.385
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T08-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4707.95,
      "stop": 4704.786,
      "target": 4714.278,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.92,
        "bb_width_pct": 0.411
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T08-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T08:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4706.05,
      "stop": 4702.372,
      "target": 4713.406,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.44,
        "bb_width_pct": 0.468
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T08-45-00Z_long_vwap_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T08:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4706.05,
      "stop": 4702.372,
      "target": 4713.405,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.44,
        "bb_width_pct": 0.468
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T08-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T08:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4706.05,
      "stop": 4702.771,
      "target": 4712.607,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.44,
        "bb_width_pct": 0.468
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T09-15-00Z_long_rsi_range_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T09:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4699.845,
      "stop": 4694.554,
      "target": 4710.426,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.0,
        "bb_width_pct": 0.736
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T09-15-00Z_long_vwap_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T09:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4699.845,
      "stop": 4694.445,
      "target": 4710.646,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.0,
        "bb_width_pct": 0.736
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T09-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T09:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4699.845,
      "stop": 4694.761,
      "target": 4710.012,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 24.0,
        "bb_width_pct": 0.736
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T09-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T09:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4699.845,
      "stop": 4696.465,
      "target": 4706.605,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.0,
        "bb_width_pct": 0.736
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T09-20-00Z_long_rsi_range_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T09:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4702.21,
      "stop": 4698.395,
      "target": 4709.841,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.93,
        "bb_width_pct": 0.748
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T09-20-00Z_long_vwap_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T09:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4702.21,
      "stop": 4698.151,
      "target": 4710.328,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.93,
        "bb_width_pct": 0.748
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T09-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T09:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4702.21,
      "stop": 4698.309,
      "target": 4710.012,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 23.93,
        "bb_width_pct": 0.748
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T09-30-00Z_long_rsi_range_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4701.52,
      "stop": 4698.209,
      "target": 4708.142,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.81,
        "bb_width_pct": 0.734
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T09-30-00Z_long_vwap_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4701.52,
      "stop": 4697.399,
      "target": 4709.761,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.81,
        "bb_width_pct": 0.734
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T09-40-00Z_long_vwap_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T09:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4700.915,
      "stop": 4696.761,
      "target": 4709.222,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.59,
        "bb_width_pct": 0.663
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T09-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T09:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4700.915,
      "stop": 4696.366,
      "target": 4710.012,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.59,
        "bb_width_pct": 0.663
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T09-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T09:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4697.31,
      "stop": 4694.3,
      "target": 4703.33,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.37,
        "bb_width_pct": 0.589
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T09-55-00Z_long_vwap_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T09:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4697.825,
      "stop": 4692.57,
      "target": 4708.334,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.79,
        "bb_width_pct": 0.504
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T09-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T09:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4697.825,
      "stop": 4691.767,
      "target": 4709.94,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.79,
        "bb_width_pct": 0.504
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T09-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T09:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4697.825,
      "stop": 4695.335,
      "target": 4702.806,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.79,
        "bb_width_pct": 0.504
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T10-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T10:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4700.88,
      "stop": 4696.35,
      "target": 4709.94,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 3.88,
        "bb_width_pct": 0.406
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T10-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T10:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4692.745,
      "stop": 4690.851,
      "target": 4696.532,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.76,
        "bb_width_pct": 0.441
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T10-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T10:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4692.745,
      "stop": 4686.772,
      "target": 4704.69,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.76,
        "bb_width_pct": 0.441
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T10-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T10:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4692.745,
      "stop": 4690.8,
      "target": 4696.636,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.76,
        "bb_width_pct": 0.441
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T10-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T10:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4693.96,
      "stop": 4688.595,
      "target": 4704.69,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.81,
        "bb_width_pct": 0.422
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T10-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T10:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4691.53,
      "stop": 4684.95,
      "target": 4704.69,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.19,
        "bb_width_pct": 0.448
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T11-20-00Z_short_rsi_range_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T11:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4701.225,
      "stop": 4704.503,
      "target": 4694.67,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 17.99,
        "bb_width_pct": 0.409
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T11-20-00Z_short_vwap_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T11:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4701.225,
      "stop": 4704.787,
      "target": 4694.101,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 17.99,
        "bb_width_pct": 0.409
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T11-25-00Z_short_rsi_range_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T11:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4699.245,
      "stop": 4701.527,
      "target": 4694.68,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 16.38,
        "bb_width_pct": 0.41
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T11-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T11:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4705.415,
      "stop": 4710.542,
      "target": 4695.162,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.53,
        "bb_width_pct": 0.462
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T11-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T11:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4705.415,
      "stop": 4708.87,
      "target": 4698.505,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.53,
        "bb_width_pct": 0.462
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T11-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T11:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4706.195,
      "stop": 4711.344,
      "target": 4695.897,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.69,
        "bb_width_pct": 0.499
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T11-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T11:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4706.195,
      "stop": 4709.674,
      "target": 4699.238,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.69,
        "bb_width_pct": 0.499
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T13-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T13:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4735.395,
      "stop": 4744.903,
      "target": 4716.38,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.28,
        "bb_width_pct": 0.393
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T13-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T13:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4735.395,
      "stop": 4738.395,
      "target": 4729.394,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.28,
        "bb_width_pct": 0.393
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T13-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T13:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4724.435,
      "stop": 4728.463,
      "target": 4716.38,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.93,
        "bb_width_pct": 0.423
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T14-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4723.355,
      "stop": 4718.952,
      "target": 4732.162,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.06,
        "bb_width_pct": 0.456
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T14-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4723.355,
      "stop": 4720.837,
      "target": 4728.392,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.06,
        "bb_width_pct": 0.456
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T14-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T14:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4721.535,
      "stop": 4716.514,
      "target": 4731.578,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.76,
        "bb_width_pct": 0.495
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T15-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T15:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4738.565,
      "stop": 4742.659,
      "target": 4730.376,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.09,
        "bb_width_pct": 0.405
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T15-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T15:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4738.565,
      "stop": 4742.461,
      "target": 4730.772,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.09,
        "bb_width_pct": 0.405
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T15-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T15:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4737.045,
      "stop": 4740.471,
      "target": 4730.193,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.56,
        "bb_width_pct": 0.416
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T15-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T15:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4725.025,
      "stop": 4722.053,
      "target": 4730.968,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.74,
        "bb_width_pct": 0.322
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T15-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T15:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4725.025,
      "stop": 4722.141,
      "target": 4730.793,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.74,
        "bb_width_pct": 0.322
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T15-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T15:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4720.65,
      "stop": 4715.749,
      "target": 4730.451,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.89,
        "bb_width_pct": 0.416
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T15-55-00Z_long_vwap_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T15:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4720.65,
      "stop": 4715.497,
      "target": 4730.955,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.89,
        "bb_width_pct": 0.416
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T15-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T15:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4720.65,
      "stop": 4715.904,
      "target": 4730.142,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 17.89,
        "bb_width_pct": 0.416
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T15-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T15:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4720.65,
      "stop": 4716.642,
      "target": 4728.666,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.89,
        "bb_width_pct": 0.416
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T16-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T16:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4720.525,
      "stop": 4716.151,
      "target": 4729.272,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.22,
        "bb_width_pct": 0.504
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T16-05-00Z_long_vwap_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T16:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4720.525,
      "stop": 4715.549,
      "target": 4730.477,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.22,
        "bb_width_pct": 0.504
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T16-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T16:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4720.525,
      "stop": 4715.851,
      "target": 4729.872,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 16.22,
        "bb_width_pct": 0.504
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T16-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T16:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4720.525,
      "stop": 4717.306,
      "target": 4726.962,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.22,
        "bb_width_pct": 0.504
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T16-15-00Z_long_vwap_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T16:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4722.8,
      "stop": 4719.145,
      "target": 4730.109,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.39,
        "bb_width_pct": 0.546
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T16-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T16:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4722.8,
      "stop": 4719.953,
      "target": 4728.495,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.39,
        "bb_width_pct": 0.546
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T16-20-00Z_long_vwap_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T16:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4723.16,
      "stop": 4719.753,
      "target": 4729.975,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.76,
        "bb_width_pct": 0.552
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T16-25-00Z_long_rsi_range_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T16:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4723.34,
      "stop": 4721.14,
      "target": 4727.739,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.74,
        "bb_width_pct": 0.557
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T16-25-00Z_long_vwap_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T16:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4723.34,
      "stop": 4720.081,
      "target": 4729.858,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.74,
        "bb_width_pct": 0.557
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T16-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T16:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4734.02,
      "stop": 4737.665,
      "target": 4726.731,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.18,
        "bb_width_pct": 0.527
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T16-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4735.175,
      "stop": 4738.995,
      "target": 4727.535,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.46,
        "bb_width_pct": 0.547
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T16-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T16:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4733.74,
      "stop": 4736.547,
      "target": 4728.126,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.24,
        "bb_width_pct": 0.555
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T16-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4733.055,
      "stop": 4735.285,
      "target": 4728.595,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 23.23,
        "bb_width_pct": 0.525
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T17-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T17:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4716.3,
      "stop": 4712.063,
      "target": 4724.774,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.77,
        "bb_width_pct": 0.559
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T17-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T17:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4716.3,
      "stop": 4711.854,
      "target": 4725.193,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.77,
        "bb_width_pct": 0.559
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T17-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T17:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4716.3,
      "stop": 4711.623,
      "target": 4725.653,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.77,
        "bb_width_pct": 0.559
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T17-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T17:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4707.41,
      "stop": 4699.816,
      "target": 4722.598,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.35,
        "bb_width_pct": 0.674
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T17-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T17:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4711.99,
      "stop": 4707.28,
      "target": 4721.41,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.79,
        "bb_width_pct": 0.752
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T17-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T17:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4711.99,
      "stop": 4706.522,
      "target": 4722.925,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.79,
        "bb_width_pct": 0.752
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T17-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T17:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4711.99,
      "stop": 4707.929,
      "target": 4720.112,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.79,
        "bb_width_pct": 0.752
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T19-05-00Z_long_vwap_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T19:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4695.87,
      "stop": 4689.861,
      "target": 4707.888,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.65,
        "bb_width_pct": 0.927
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T19-10-00Z_long_rsi_range_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T19:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4696.38,
      "stop": 4692.125,
      "target": 4704.89,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.79,
        "bb_width_pct": 0.933
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T19-10-00Z_long_vwap_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T19:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4696.38,
      "stop": 4690.852,
      "target": 4707.436,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.79,
        "bb_width_pct": 0.933
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T19-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T19:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4699.29,
      "stop": 4695.867,
      "target": 4706.135,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.7,
        "bb_width_pct": 0.932
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T19-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T19:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4692.585,
      "stop": 4687.837,
      "target": 4702.08,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.89,
        "bb_width_pct": 0.726
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T19-45-00Z_long_rsi_range_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T19:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4696.83,
      "stop": 4693.127,
      "target": 4704.235,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.52,
        "bb_width_pct": 0.732
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T19-45-00Z_long_vwap_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T19:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4696.83,
      "stop": 4692.633,
      "target": 4705.225,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.52,
        "bb_width_pct": 0.732
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T20-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T20:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4691.36,
      "stop": 4687.876,
      "target": 4698.328,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.89,
        "bb_width_pct": 0.469
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T20-15-00Z_long_vwap_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T20:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4691.36,
      "stop": 4685.181,
      "target": 4703.719,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.89,
        "bb_width_pct": 0.469
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T20-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T20:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4691.36,
      "stop": 4687.778,
      "target": 4698.525,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.89,
        "bb_width_pct": 0.469
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T20-20-00Z_long_vwap_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T20:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4692.615,
      "stop": 4687.208,
      "target": 4703.429,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.47,
        "bb_width_pct": 0.405
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T20-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T20:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4692.615,
      "stop": 4689.941,
      "target": 4697.962,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.47,
        "bb_width_pct": 0.405
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T20-30-00Z_long_vwap_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T20:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4690.12,
      "stop": 4683.769,
      "target": 4702.822,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.0,
        "bb_width_pct": 0.307
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T20-35-00Z_long_vwap_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T20:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4690.445,
      "stop": 4684.404,
      "target": 4702.527,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.21,
        "bb_width_pct": 0.301
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T20-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T20:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4690.445,
      "stop": 4687.713,
      "target": 4695.91,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.21,
        "bb_width_pct": 0.301
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T20-40-00Z_long_vwap_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4691.39,
      "stop": 4685.952,
      "target": 4702.266,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.47,
        "bb_width_pct": 0.308
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T20-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T20:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4690.75,
      "stop": 4688.806,
      "target": 4694.639,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.56,
        "bb_width_pct": 0.32
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T20-55-00Z_long_vwap_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T20:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4694.09,
      "stop": 4690.336,
      "target": 4701.599,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.34,
        "bb_width_pct": 0.305
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T22-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T22:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4693.765,
      "stop": 4688.851,
      "target": 4703.593,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.58,
        "bb_width_pct": 0.202
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T22-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T22:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4693.5,
      "stop": 4689.818,
      "target": 4700.865,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.0,
        "bb_width_pct": 0.184
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T23-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4688.275,
      "stop": 4685.97,
      "target": 4692.885,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.55,
        "bb_width_pct": 0.198
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T23-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4688.275,
      "stop": 4686.053,
      "target": 4692.718,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.55,
        "bb_width_pct": 0.198
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T23-20-00Z_long_rsi_range_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T23:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4688.755,
      "stop": 4686.756,
      "target": 4692.753,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.1,
        "bb_width_pct": 0.211
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T23-20-00Z_long_vwap_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T23:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4688.755,
      "stop": 4685.242,
      "target": 4695.78,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.1,
        "bb_width_pct": 0.211
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T23-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T23:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4688.755,
      "stop": 4685.791,
      "target": 4694.682,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 11.1,
        "bb_width_pct": 0.211
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T23-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T23:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4694.565,
      "stop": 4694.506,
      "target": 4694.682,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.26,
        "bb_width_pct": 0.21
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T23-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4696.94,
      "stop": 4698.656,
      "target": 4693.509,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.23,
        "bb_width_pct": 0.246
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T23-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4696.94,
      "stop": 4698.069,
      "target": 4694.682,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.23,
        "bb_width_pct": 0.246
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T23-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4696.94,
      "stop": 4698.63,
      "target": 4693.56,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.23,
        "bb_width_pct": 0.246
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T23-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4696.725,
      "stop": 4698.296,
      "target": 4693.584,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.8,
        "bb_width_pct": 0.251
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-23T23-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4696.725,
      "stop": 4698.096,
      "target": 4693.983,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.8,
        "bb_width_pct": 0.251
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T00-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T00:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4697.1,
      "stop": 4698.778,
      "target": 4693.745,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.79,
        "bb_width_pct": 0.279
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T00-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4704.41,
      "stop": 4708.665,
      "target": 4695.899,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.05,
        "bb_width_pct": 0.393
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T00-30-00Z_short_rsi_range_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4704.41,
      "stop": 4708.665,
      "target": 4695.899,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 14.05,
        "bb_width_pct": 0.393
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T00-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4704.41,
      "stop": 4708.466,
      "target": 4696.297,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.05,
        "bb_width_pct": 0.393
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T00-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4704.41,
      "stop": 4707.927,
      "target": 4697.375,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.05,
        "bb_width_pct": 0.393
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T00-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T00:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4704.22,
      "stop": 4708.112,
      "target": 4696.435,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.11,
        "bb_width_pct": 0.419
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T00-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T00:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4704.22,
      "stop": 4707.624,
      "target": 4697.413,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.11,
        "bb_width_pct": 0.419
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T00-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T00:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4704.22,
      "stop": 4707.316,
      "target": 4698.027,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.11,
        "bb_width_pct": 0.419
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T01-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4698.93,
      "stop": 4699.689,
      "target": 4697.413,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.3,
        "bb_width_pct": 0.313
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T01-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T01:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4709.42,
      "stop": 4713.731,
      "target": 4700.799,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.8,
        "bb_width_pct": 0.359
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T01-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T01:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4705.46,
      "stop": 4707.85,
      "target": 4700.681,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.68,
        "bb_width_pct": 0.365
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T01-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T01:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4705.46,
      "stop": 4709.001,
      "target": 4698.377,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.68,
        "bb_width_pct": 0.365
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T01-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T01:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4705.46,
      "stop": 4707.569,
      "target": 4701.243,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.68,
        "bb_width_pct": 0.365
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T01-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4693.775,
      "stop": 4690.204,
      "target": 4700.918,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.52,
        "bb_width_pct": 0.379
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T01-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4693.775,
      "stop": 4690.399,
      "target": 4700.528,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.52,
        "bb_width_pct": 0.379
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T01-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T01:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4697.265,
      "stop": 4695.432,
      "target": 4700.932,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.69,
        "bb_width_pct": 0.382
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T01-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T01:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4697.265,
      "stop": 4696.428,
      "target": 4698.94,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.69,
        "bb_width_pct": 0.382
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T02-30-00Z_long_vwap_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4689.275,
      "stop": 4684.861,
      "target": 4698.104,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.45,
        "bb_width_pct": 0.559
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T02-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4689.275,
      "stop": 4685.636,
      "target": 4696.552,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.45,
        "bb_width_pct": 0.559
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T02-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4689.275,
      "stop": 4686.716,
      "target": 4694.392,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.45,
        "bb_width_pct": 0.559
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T02-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T02:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4678.555,
      "stop": 4671.872,
      "target": 4691.92,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.94,
        "bb_width_pct": 0.666
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T02-50-00Z_long_vwap_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T02:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4678.555,
      "stop": 4669.757,
      "target": 4696.152,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.94,
        "bb_width_pct": 0.666
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T02-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T02:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4678.555,
      "stop": 4671.17,
      "target": 4693.325,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 22.94,
        "bb_width_pct": 0.666
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T02-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T02:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4676.955,
      "stop": 4670.185,
      "target": 4690.495,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.0,
        "bb_width_pct": 0.667
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T03-15-00Z_long_rsi_range_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4673.815,
      "stop": 4668.096,
      "target": 4685.252,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.28,
        "bb_width_pct": 0.803
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T03-15-00Z_long_vwap_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4673.815,
      "stop": 4664.086,
      "target": 4693.273,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.28,
        "bb_width_pct": 0.803
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T03-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4673.815,
      "stop": 4665.745,
      "target": 4689.955,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 24.28,
        "bb_width_pct": 0.803
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T03-20-00Z_long_rsi_range_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T03:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4674.775,
      "stop": 4669.938,
      "target": 4684.45,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.86,
        "bb_width_pct": 0.818
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T03-20-00Z_long_vwap_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T03:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4674.775,
      "stop": 4665.745,
      "target": 4692.835,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.86,
        "bb_width_pct": 0.818
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T03-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T03:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4674.775,
      "stop": 4667.185,
      "target": 4689.955,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 21.86,
        "bb_width_pct": 0.818
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T03-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T03:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4674.775,
      "stop": 4671.042,
      "target": 4682.241,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.86,
        "bb_width_pct": 0.818
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T03-30-00Z_long_vwap_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4676.625,
      "stop": 4668.923,
      "target": 4692.03,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.92,
        "bb_width_pct": 0.769
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T03-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4676.625,
      "stop": 4669.96,
      "target": 4689.955,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.92,
        "bb_width_pct": 0.769
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T03-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4676.625,
      "stop": 4674.412,
      "target": 4681.05,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.92,
        "bb_width_pct": 0.769
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T03-35-00Z_long_vwap_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T03:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4676.98,
      "stop": 4669.633,
      "target": 4691.675,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.96,
        "bb_width_pct": 0.698
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T03-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T03:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4676.98,
      "stop": 4670.492,
      "target": 4689.955,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 16.96,
        "bb_width_pct": 0.698
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T03-45-00Z_long_vwap_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T03:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4675.28,
      "stop": 4667.428,
      "target": 4690.984,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.68,
        "bb_width_pct": 0.567
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T03-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T03:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4675.28,
      "stop": 4667.942,
      "target": 4689.955,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.68,
        "bb_width_pct": 0.567
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T04-05-00Z_long_vwap_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4674.335,
      "stop": 4666.743,
      "target": 4689.519,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.31,
        "bb_width_pct": 0.393
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T04-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4674.335,
      "stop": 4666.83,
      "target": 4689.345,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 2.31,
        "bb_width_pct": 0.393
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T04-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4674.335,
      "stop": 4672.765,
      "target": 4677.475,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.31,
        "bb_width_pct": 0.393
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T04-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T04:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4662.01,
      "stop": 4657.199,
      "target": 4671.632,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.04,
        "bb_width_pct": 0.428
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T04-30-00Z_long_rsi_range_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T04:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4662.01,
      "stop": 4657.199,
      "target": 4671.632,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.04,
        "bb_width_pct": 0.428
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T04-30-00Z_long_vwap_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T04:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4662.01,
      "stop": 4649.358,
      "target": 4687.314,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.04,
        "bb_width_pct": 0.428
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T04-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T04:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4662.01,
      "stop": 4650.566,
      "target": 4684.897,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 22.04,
        "bb_width_pct": 0.428
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T04-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4666.335,
      "stop": 4663.952,
      "target": 4671.101,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.74,
        "bb_width_pct": 0.426
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T04-35-00Z_long_vwap_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4666.335,
      "stop": 4656.048,
      "target": 4686.908,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.74,
        "bb_width_pct": 0.426
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T04-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4666.335,
      "stop": 4658.587,
      "target": 4681.83,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 17.74,
        "bb_width_pct": 0.426
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T04-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4666.335,
      "stop": 4663.697,
      "target": 4671.611,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.74,
        "bb_width_pct": 0.426
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T04-40-00Z_long_vwap_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4668.355,
      "stop": 4659.25,
      "target": 4686.564,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.97,
        "bb_width_pct": 0.427
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T04-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4668.355,
      "stop": 4661.942,
      "target": 4681.18,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.97,
        "bb_width_pct": 0.427
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T04-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4668.355,
      "stop": 4666.882,
      "target": 4671.301,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.97,
        "bb_width_pct": 0.427
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T04-45-00Z_long_vwap_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4676.0,
      "stop": 4670.828,
      "target": 4686.344,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.15,
        "bb_width_pct": 0.437
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T04-55-00Z_long_vwap_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T04:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4674.485,
      "stop": 4668.75,
      "target": 4685.954,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.51,
        "bb_width_pct": 0.442
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T05-10-00Z_long_vwap_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4673.985,
      "stop": 4668.307,
      "target": 4685.34,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.55,
        "bb_width_pct": 0.425
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T05-15-00Z_long_vwap_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4675.145,
      "stop": 4670.132,
      "target": 4685.171,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.02,
        "bb_width_pct": 0.417
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T05-20-00Z_long_vwap_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4676.45,
      "stop": 4672.163,
      "target": 4685.025,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.83,
        "bb_width_pct": 0.422
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T05-25-00Z_long_vwap_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4676.64,
      "stop": 4672.507,
      "target": 4684.906,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.75,
        "bb_width_pct": 0.428
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T05-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4682.59,
      "stop": 4687.514,
      "target": 4672.742,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 26.41,
        "bb_width_pct": 0.585
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T05-40-00Z_short_rsi_range_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4682.59,
      "stop": 4687.514,
      "target": 4672.742,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 26.41,
        "bb_width_pct": 0.585
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T05-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4682.59,
      "stop": 4686.594,
      "target": 4674.583,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 26.41,
        "bb_width_pct": 0.585
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T05-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4682.59,
      "stop": 4685.843,
      "target": 4676.084,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 26.41,
        "bb_width_pct": 0.585
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T05-45-00Z_short_rsi_range_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T05:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4680.76,
      "stop": 4684.608,
      "target": 4673.063,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 20.67,
        "bb_width_pct": 0.603
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T05-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T05:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4680.76,
      "stop": 4682.875,
      "target": 4676.529,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.67,
        "bb_width_pct": 0.603
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T06-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4683.485,
      "stop": 4688.909,
      "target": 4672.637,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.6,
        "bb_width_pct": 0.639
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T06-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4683.485,
      "stop": 4685.891,
      "target": 4678.672,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.6,
        "bb_width_pct": 0.639
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T06-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4683.33,
      "stop": 4688.424,
      "target": 4673.142,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 16.57,
        "bb_width_pct": 0.567
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T06-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T06:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4681.995,
      "stop": 4686.421,
      "target": 4673.142,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 19.05,
        "bb_width_pct": 0.492
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T06-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T06:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4671.675,
      "stop": 4668.454,
      "target": 4678.117,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.84,
        "bb_width_pct": 0.418
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T06-30-00Z_long_vwap_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4672.24,
      "stop": 4666.242,
      "target": 4684.236,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.14,
        "bb_width_pct": 0.428
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T06-35-00Z_long_vwap_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4675.25,
      "stop": 4670.819,
      "target": 4684.112,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.31,
        "bb_width_pct": 0.425
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T06-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T06:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4673.92,
      "stop": 4672.374,
      "target": 4677.012,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.39,
        "bb_width_pct": 0.424
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T06-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T06:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4669.955,
      "stop": 4666.763,
      "target": 4676.34,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.08,
        "bb_width_pct": 0.43
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T06-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T06:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4675.28,
      "stop": 4673.635,
      "target": 4678.569,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.4,
        "bb_width_pct": 0.426
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T06-50-00Z_long_vwap_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T06:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4675.28,
      "stop": 4671.077,
      "target": 4683.686,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.4,
        "bb_width_pct": 0.426
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T06-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T06:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4675.28,
      "stop": 4674.801,
      "target": 4676.239,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.4,
        "bb_width_pct": 0.426
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T07-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4684.19,
      "stop": 4689.714,
      "target": 4673.142,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 19.24,
        "bb_width_pct": 0.426
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T07-35-00Z_short_rsi_range_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T07:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4683.48,
      "stop": 4686.223,
      "target": 4677.993,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 17.81,
        "bb_width_pct": 0.407
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T07-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T07:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4683.48,
      "stop": 4688.649,
      "target": 4673.142,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.81,
        "bb_width_pct": 0.407
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T07-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T07:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4683.48,
      "stop": 4685.692,
      "target": 4679.057,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.81,
        "bb_width_pct": 0.407
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T07-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T07:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4685.64,
      "stop": 4688.618,
      "target": 4679.684,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.62,
        "bb_width_pct": 0.42
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T08-00-00Z_short_rsi_range_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4688.745,
      "stop": 4692.883,
      "target": 4680.468,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 27.07,
        "bb_width_pct": 0.611
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T08-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4688.745,
      "stop": 4692.491,
      "target": 4681.253,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 27.07,
        "bb_width_pct": 0.611
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T08-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4688.745,
      "stop": 4691.371,
      "target": 4683.492,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 27.07,
        "bb_width_pct": 0.611
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T08-05-00Z_short_rsi_range_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T08:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4688.225,
      "stop": 4691.69,
      "target": 4681.296,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 22.59,
        "bb_width_pct": 0.602
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T08-10-00Z_short_rsi_range_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T08:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4687.685,
      "stop": 4690.494,
      "target": 4682.068,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 17.31,
        "bb_width_pct": 0.585
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T08-20-00Z_short_rsi_range_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T08:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4692.38,
      "stop": 4696.621,
      "target": 4683.898,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 17.9,
        "bb_width_pct": 0.602
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T08-20-00Z_short_vwap_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T08:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4692.38,
      "stop": 4695.722,
      "target": 4685.697,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 17.9,
        "bb_width_pct": 0.602
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T08-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T08:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4692.38,
      "stop": 4697.944,
      "target": 4681.253,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.9,
        "bb_width_pct": 0.602
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T08-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T08:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4692.38,
      "stop": 4695.644,
      "target": 4685.853,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.9,
        "bb_width_pct": 0.602
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T09-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T09:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4691.555,
      "stop": 4696.181,
      "target": 4682.302,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.71,
        "bb_width_pct": 0.25
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T09-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T09:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4694.73,
      "stop": 4696.835,
      "target": 4690.519,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.52,
        "bb_width_pct": 0.234
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T09-15-00Z_short_vwap_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T09:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4694.73,
      "stop": 4698.272,
      "target": 4687.646,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.52,
        "bb_width_pct": 0.234
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T09-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T09:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4694.73,
      "stop": 4700.944,
      "target": 4682.302,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.52,
        "bb_width_pct": 0.234
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T09-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T09:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4694.73,
      "stop": 4697.284,
      "target": 4689.623,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.52,
        "bb_width_pct": 0.234
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T09-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T09:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4686.465,
      "stop": 4688.546,
      "target": 4682.302,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.23,
        "bb_width_pct": 0.228
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T09-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4682.985,
      "stop": 4679.582,
      "target": 4689.79,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.26,
        "bb_width_pct": 0.294
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T09-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4682.985,
      "stop": 4680.37,
      "target": 4688.214,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.26,
        "bb_width_pct": 0.294
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T09-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4682.92,
      "stop": 4679.774,
      "target": 4689.212,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.6,
        "bb_width_pct": 0.306
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T09-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4682.92,
      "stop": 4680.525,
      "target": 4687.71,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.6,
        "bb_width_pct": 0.306
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T09-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T09:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4682.36,
      "stop": 4679.207,
      "target": 4688.667,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.26,
        "bb_width_pct": 0.341
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T09-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T09:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4682.36,
      "stop": 4680.106,
      "target": 4686.867,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.26,
        "bb_width_pct": 0.341
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T10-20-00Z_long_rsi_range_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T10:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4683.705,
      "stop": 4682.155,
      "target": 4686.804,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.6,
        "bb_width_pct": 0.375
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T10-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T10:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4677.605,
      "stop": 4673.945,
      "target": 4684.924,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.05,
        "bb_width_pct": 0.421
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T10-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T10:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4677.605,
      "stop": 4673.15,
      "target": 4686.515,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.05,
        "bb_width_pct": 0.421
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T10-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T10:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4677.605,
      "stop": 4674.672,
      "target": 4683.472,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.05,
        "bb_width_pct": 0.421
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T10-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T10:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4678.9,
      "stop": 4675.242,
      "target": 4686.215,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.96,
        "bb_width_pct": 0.412
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T10-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T10:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4679.775,
      "stop": 4676.555,
      "target": 4686.215,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 11.27,
        "bb_width_pct": 0.394
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T10-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T10:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4677.935,
      "stop": 4673.795,
      "target": 4686.215,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.92,
        "bb_width_pct": 0.254
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T11-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T11:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4695.27,
      "stop": 4700.88,
      "target": 4684.051,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.62,
        "bb_width_pct": 0.517
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T11-15-00Z_short_vwap_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T11:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4695.27,
      "stop": 4700.862,
      "target": 4684.085,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.62,
        "bb_width_pct": 0.517
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T11-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T11:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4695.27,
      "stop": 4698.329,
      "target": 4689.153,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.62,
        "bb_width_pct": 0.517
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T11-30-00Z_short_rsi_range_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T11:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4712.87,
      "stop": 4725.184,
      "target": 4688.242,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 27.77,
        "bb_width_pct": 1.014
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T11-30-00Z_short_vwap_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T11:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4712.87,
      "stop": 4725.183,
      "target": 4688.244,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 27.77,
        "bb_width_pct": 1.014
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T11-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T11:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4712.87,
      "stop": 4721.3,
      "target": 4696.01,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 27.77,
        "bb_width_pct": 1.014
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T11-40-00Z_short_rsi_range_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T11:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4705.5,
      "stop": 4712.965,
      "target": 4690.57,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 25.32,
        "bb_width_pct": 1.099
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T11-40-00Z_short_vwap_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T11:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4705.5,
      "stop": 4713.192,
      "target": 4690.116,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 25.32,
        "bb_width_pct": 1.099
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T11-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T11:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4705.5,
      "stop": 4710.552,
      "target": 4695.395,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 25.32,
        "bb_width_pct": 1.099
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T11-45-00Z_short_rsi_range_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T11:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4704.47,
      "stop": 4710.902,
      "target": 4691.605,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 23.48,
        "bb_width_pct": 1.119
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T11-45-00Z_short_vwap_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T11:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4704.47,
      "stop": 4711.32,
      "target": 4690.77,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 23.48,
        "bb_width_pct": 1.119
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T12-05-00Z_short_rsi_range_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T12:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4705.64,
      "stop": 4710.292,
      "target": 4696.337,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 14.37,
        "bb_width_pct": 1.144
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T12-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T12:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4706.38,
      "stop": 4711.49,
      "target": 4696.16,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.41,
        "bb_width_pct": 1.023
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T12-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T12:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4706.38,
      "stop": 4709.03,
      "target": 4701.08,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.41,
        "bb_width_pct": 1.023
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T12-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T12:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4706.04,
      "stop": 4710.98,
      "target": 4696.16,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.36,
        "bb_width_pct": 0.724
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T12-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T12:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4706.04,
      "stop": 4707.564,
      "target": 4702.992,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.36,
        "bb_width_pct": 0.724
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T12-50-00Z_long_vwap_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T12:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4693.695,
      "stop": 4688.342,
      "target": 4704.401,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.83,
        "bb_width_pct": 0.495
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T12-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T12:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4693.695,
      "stop": 4689.995,
      "target": 4701.095,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.83,
        "bb_width_pct": 0.495
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T12-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T12:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4700.64,
      "stop": 4698.116,
      "target": 4705.687,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.27,
        "bb_width_pct": 0.464
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T13-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4692.13,
      "stop": 4687.156,
      "target": 4702.079,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.15,
        "bb_width_pct": 0.475
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T13-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4692.13,
      "stop": 4688.435,
      "target": 4699.52,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.15,
        "bb_width_pct": 0.475
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T13-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4712.005,
      "stop": 4716.863,
      "target": 4702.289,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.89,
        "bb_width_pct": 0.503
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T13-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4712.005,
      "stop": 4717.107,
      "target": 4701.801,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.89,
        "bb_width_pct": 0.503
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T13-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T13:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4706.34,
      "stop": 4711.419,
      "target": 4696.182,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.55,
        "bb_width_pct": 0.495
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T14-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4713.095,
      "stop": 4718.316,
      "target": 4702.653,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.1,
        "bb_width_pct": 0.544
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T14-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T14:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4728.29,
      "stop": 4738.669,
      "target": 4707.532,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.58,
        "bb_width_pct": 1.073
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T14-20-00Z_short_rsi_range_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T14:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4728.29,
      "stop": 4738.669,
      "target": 4707.532,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 19.58,
        "bb_width_pct": 1.073
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T14-20-00Z_short_vwap_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T14:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4728.29,
      "stop": 4738.897,
      "target": 4707.077,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 19.58,
        "bb_width_pct": 1.073
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T14-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T14:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4728.29,
      "stop": 4735.455,
      "target": 4713.96,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 19.58,
        "bb_width_pct": 1.073
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T14-25-00Z_short_vwap_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T14:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4725.535,
      "stop": 4734.462,
      "target": 4707.682,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 21.87,
        "bb_width_pct": 1.08
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T14-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T14:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4725.535,
      "stop": 4731.407,
      "target": 4713.79,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.87,
        "bb_width_pct": 1.08
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T14-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4728.78,
      "stop": 4735.561,
      "target": 4715.218,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 23.87,
        "bb_width_pct": 1.094
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T14-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T14:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4730.38,
      "stop": 4736.608,
      "target": 4717.924,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.47,
        "bb_width_pct": 1.136
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T14-45-00Z_short_rsi_range_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T14:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4727.845,
      "stop": 4734.071,
      "target": 4715.393,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 15.99,
        "bb_width_pct": 1.131
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T14-45-00Z_short_vwap_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T14:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4727.845,
      "stop": 4736.673,
      "target": 4710.189,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.99,
        "bb_width_pct": 1.131
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T14-50-00Z_short_vwap_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T14:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4725.8,
      "stop": 4733.37,
      "target": 4710.66,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.55,
        "bb_width_pct": 1.119
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T15-00-00Z_short_vwap_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T15:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4722.34,
      "stop": 4727.795,
      "target": 4711.43,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 9.62,
        "bb_width_pct": 1.018
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T15-10-00Z_short_vwap_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T15:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4722.06,
      "stop": 4727.09,
      "target": 4712.001,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.77,
        "bb_width_pct": 0.748
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T15-15-00Z_short_vwap_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T15:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4721.635,
      "stop": 4726.333,
      "target": 4712.24,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.81,
        "bb_width_pct": 0.661
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T15-20-00Z_short_vwap_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T15:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4721.685,
      "stop": 4726.277,
      "target": 4712.502,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.16,
        "bb_width_pct": 0.599
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T15-25-00Z_long_rsi_range_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T15:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4721.975,
      "stop": 4720.99,
      "target": 4723.945,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.18,
        "bb_width_pct": 0.557
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T15-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T15:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4727.48,
      "stop": 4730.552,
      "target": 4721.337,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.01,
        "bb_width_pct": 0.329
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T15-45-00Z_short_vwap_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T15:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4724.11,
      "stop": 4729.377,
      "target": 4713.576,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.6,
        "bb_width_pct": 0.327
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T15-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T15:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4724.11,
      "stop": 4728.606,
      "target": 4715.118,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.6,
        "bb_width_pct": 0.327
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T15-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T15:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4724.11,
      "stop": 4725.364,
      "target": 4721.601,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.6,
        "bb_width_pct": 0.327
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T15-55-00Z_short_vwap_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T15:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4727.12,
      "stop": 4733.596,
      "target": 4714.167,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 1.59,
        "bb_width_pct": 0.297
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T16-00-00Z_short_vwap_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4725.74,
      "stop": 4731.401,
      "target": 4714.418,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.83,
        "bb_width_pct": 0.29
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T16-25-00Z_short_vwap_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T16:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4723.5,
      "stop": 4727.667,
      "target": 4715.166,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.28,
        "bb_width_pct": 0.24
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T16-35-00Z_short_vwap_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4724.35,
      "stop": 4728.763,
      "target": 4715.524,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.88,
        "bb_width_pct": 0.234
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T16-40-00Z_short_vwap_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T16:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4722.76,
      "stop": 4726.319,
      "target": 4715.641,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.98,
        "bb_width_pct": 0.233
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T17-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T17:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4728.29,
      "stop": 4730.458,
      "target": 4723.953,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.13,
        "bb_width_pct": 0.252
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T17-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T17:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4728.29,
      "stop": 4730.435,
      "target": 4724.0,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.13,
        "bb_width_pct": 0.252
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T17-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T17:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4720.96,
      "stop": 4719.086,
      "target": 4724.708,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.69,
        "bb_width_pct": 0.223
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T18-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4719.81,
      "stop": 4717.85,
      "target": 4723.729,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.17,
        "bb_width_pct": 0.263
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T18-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4719.81,
      "stop": 4717.578,
      "target": 4724.275,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.17,
        "bb_width_pct": 0.263
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T19-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T19:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4723.525,
      "stop": 4724.475,
      "target": 4721.625,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.41,
        "bb_width_pct": 0.162
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T19-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T19:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4719.27,
      "stop": 4717.111,
      "target": 4723.587,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.94,
        "bb_width_pct": 0.176
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T19-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T19:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4717.62,
      "stop": 4716.096,
      "target": 4720.668,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.72,
        "bb_width_pct": 0.17
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T19-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T19:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4717.62,
      "stop": 4716.067,
      "target": 4720.725,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.72,
        "bb_width_pct": 0.17
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T19-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T19:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4716.88,
      "stop": 4715.141,
      "target": 4720.359,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.69,
        "bb_width_pct": 0.179
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T19-50-00Z_long_vwap_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T19:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4716.91,
      "stop": 4714.412,
      "target": 4721.905,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.12,
        "bb_width_pct": 0.18
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T19-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T19:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4716.91,
      "stop": 4713.824,
      "target": 4723.083,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.12,
        "bb_width_pct": 0.18
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T19-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T19:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4716.395,
      "stop": 4714.859,
      "target": 4719.468,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.19,
        "bb_width_pct": 0.187
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T19-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T19:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4716.395,
      "stop": 4714.902,
      "target": 4719.381,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.19,
        "bb_width_pct": 0.187
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T20-25-00Z_long_rsi_range_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T20:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4708.3,
      "stop": 4704.377,
      "target": 4716.147,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.21,
        "bb_width_pct": 0.478
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T20-25-00Z_long_vwap_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T20:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4708.3,
      "stop": 4702.497,
      "target": 4719.906,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.21,
        "bb_width_pct": 0.478
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T20-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T20:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4708.3,
      "stop": 4703.708,
      "target": 4717.485,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 22.21,
        "bb_width_pct": 0.478
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T20-35-00Z_long_rsi_range_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T20:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4707.395,
      "stop": 4703.774,
      "target": 4714.636,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.8,
        "bb_width_pct": 0.506
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T20-35-00Z_long_vwap_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T20:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4707.395,
      "stop": 4701.433,
      "target": 4719.319,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.8,
        "bb_width_pct": 0.506
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T20-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T20:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4707.395,
      "stop": 4702.454,
      "target": 4717.278,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 24.8,
        "bb_width_pct": 0.506
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T20-40-00Z_long_rsi_range_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4707.76,
      "stop": 4704.716,
      "target": 4713.848,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.77,
        "bb_width_pct": 0.491
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T20-40-00Z_long_vwap_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4707.76,
      "stop": 4702.116,
      "target": 4719.047,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.77,
        "bb_width_pct": 0.491
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T20-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4707.76,
      "stop": 4703.258,
      "target": 4716.765,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 21.77,
        "bb_width_pct": 0.491
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T20-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4707.76,
      "stop": 4705.437,
      "target": 4712.406,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.77,
        "bb_width_pct": 0.491
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T20-50-00Z_long_rsi_range_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T20:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4708.25,
      "stop": 4706.192,
      "target": 4712.365,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.85,
        "bb_width_pct": 0.449
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T20-50-00Z_long_vwap_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T20:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4708.25,
      "stop": 4703.088,
      "target": 4718.574,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.85,
        "bb_width_pct": 0.449
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T20-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T20:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4708.25,
      "stop": 4703.993,
      "target": 4716.765,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 17.85,
        "bb_width_pct": 0.449
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T20-55-00Z_long_vwap_mean_reversion",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T20:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4709.75,
      "stop": 4705.437,
      "target": 4718.377,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.22,
        "bb_width_pct": 0.415
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-24T20-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T20:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4709.75,
      "stop": 4706.243,
      "target": 4716.765,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.22,
        "bb_width_pct": 0.415
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-26T23-05-00Z_long_rsi_range_reversion",
      "date": "2026-04-26",
      "timestamp": "2026-04-26T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4683.44,
      "stop": 4679.059,
      "target": 4692.202,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.38,
        "bb_width_pct": 0.901
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-26T23-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-26",
      "timestamp": "2026-04-26T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4683.44,
      "stop": 4674.197,
      "target": 4701.925,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 21.38,
        "bb_width_pct": 0.901
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-26T23-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-26",
      "timestamp": "2026-04-26T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4683.44,
      "stop": 4679.465,
      "target": 4691.39,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.38,
        "bb_width_pct": 0.901
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-26T23-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-26",
      "timestamp": "2026-04-26T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4683.785,
      "stop": 4674.715,
      "target": 4701.925,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 2.53,
        "bb_width_pct": 0.874
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-26T23-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-26",
      "timestamp": "2026-04-26T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4683.785,
      "stop": 4680.345,
      "target": 4690.665,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.53,
        "bb_width_pct": 0.874
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-26T23-30-00Z_long_vwap_mean_reversion",
      "date": "2026-04-26",
      "timestamp": "2026-04-26T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4679.255,
      "stop": 4676.586,
      "target": 4684.592,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.03,
        "bb_width_pct": 0.571
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-26T23-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-26",
      "timestamp": "2026-04-26T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4679.255,
      "stop": 4668.693,
      "target": 4700.38,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 16.03,
        "bb_width_pct": 0.571
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-26T23-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-26",
      "timestamp": "2026-04-26T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4677.035,
      "stop": 4673.496,
      "target": 4684.112,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.49,
        "bb_width_pct": 0.352
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-26T23-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-26",
      "timestamp": "2026-04-26T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4677.185,
      "stop": 4674.223,
      "target": 4683.109,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.31,
        "bb_width_pct": 0.267
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-26T23-40-00Z_long_vwap_mean_reversion",
      "date": "2026-04-26",
      "timestamp": "2026-04-26T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4677.185,
      "stop": 4673.832,
      "target": 4683.891,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.31,
        "bb_width_pct": 0.267
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-26T23-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-26",
      "timestamp": "2026-04-26T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4677.185,
      "stop": 4666.715,
      "target": 4698.125,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 19.31,
        "bb_width_pct": 0.267
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-26T23-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-26",
      "timestamp": "2026-04-26T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4680.87,
      "stop": 4672.29,
      "target": 4698.03,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.72,
        "bb_width_pct": 0.269
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-26T23-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-26",
      "timestamp": "2026-04-26T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4680.87,
      "stop": 4678.788,
      "target": 4685.034,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.72,
        "bb_width_pct": 0.269
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-26T23-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-26",
      "timestamp": "2026-04-26T23:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4681.28,
      "stop": 4673.417,
      "target": 4697.005,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.39,
        "bb_width_pct": 0.267
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-26T23-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-26",
      "timestamp": "2026-04-26T23:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4681.28,
      "stop": 4679.582,
      "target": 4684.677,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.39,
        "bb_width_pct": 0.267
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T00-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4678.9,
      "stop": 4677.291,
      "target": 4682.118,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.13,
        "bb_width_pct": 0.248
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T00-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4678.9,
      "stop": 4676.478,
      "target": 4683.744,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.13,
        "bb_width_pct": 0.248
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T00-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T00:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4675.78,
      "stop": 4672.887,
      "target": 4681.566,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.55,
        "bb_width_pct": 0.257
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T00-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T00:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4679.92,
      "stop": 4672.301,
      "target": 4695.157,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.59,
        "bb_width_pct": 0.256
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T00-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T00:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4679.92,
      "stop": 4678.533,
      "target": 4682.693,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.59,
        "bb_width_pct": 0.256
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T00-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T00:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4679.28,
      "stop": 4672.679,
      "target": 4692.483,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.11,
        "bb_width_pct": 0.234
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T00-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T00:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4680.91,
      "stop": 4675.596,
      "target": 4691.538,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 3.04,
        "bb_width_pct": 0.219
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T00-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T00:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4679.605,
      "stop": 4673.639,
      "target": 4691.538,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.62,
        "bb_width_pct": 0.191
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T01-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T01:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4698.25,
      "stop": 4705.777,
      "target": 4683.197,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.94,
        "bb_width_pct": 0.709
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T01-05-00Z_short_vwap_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T01:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4698.25,
      "stop": 4705.246,
      "target": 4684.258,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 22.94,
        "bb_width_pct": 0.709
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T01-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T01:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4698.25,
      "stop": 4701.606,
      "target": 4691.538,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 22.94,
        "bb_width_pct": 0.709
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T01-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T01:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4692.91,
      "stop": 4697.425,
      "target": 4683.879,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.31,
        "bb_width_pct": 0.726
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T01-10-00Z_short_vwap_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T01:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4692.91,
      "stop": 4696.848,
      "target": 4685.034,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 19.31,
        "bb_width_pct": 0.726
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T01-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T01:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4692.91,
      "stop": 4695.511,
      "target": 4687.709,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.31,
        "bb_width_pct": 0.726
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T01-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T01:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4697.32,
      "stop": 4701.301,
      "target": 4689.359,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.15,
        "bb_width_pct": 0.766
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T01-30-00Z_short_vwap_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4697.63,
      "stop": 4702.716,
      "target": 4687.459,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 18.17,
        "bb_width_pct": 0.809
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T01-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4697.63,
      "stop": 4700.996,
      "target": 4690.897,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.17,
        "bb_width_pct": 0.809
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T01-40-00Z_short_vwap_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T01:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4697.9,
      "stop": 4702.588,
      "target": 4688.525,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 20.18,
        "bb_width_pct": 0.822
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T01-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T01:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4702.89,
      "stop": 4707.265,
      "target": 4694.139,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.48,
        "bb_width_pct": 0.806
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T01-55-00Z_short_vwap_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T01:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4702.77,
      "stop": 4709.041,
      "target": 4690.228,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.63,
        "bb_width_pct": 0.787
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T02-00-00Z_short_vwap_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T02:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4702.465,
      "stop": 4708.319,
      "target": 4690.757,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.75,
        "bb_width_pct": 0.756
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T02-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T02:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4702.465,
      "stop": 4708.076,
      "target": 4691.243,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.75,
        "bb_width_pct": 0.756
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T02-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T02:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4702.465,
      "stop": 4705.86,
      "target": 4695.676,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.75,
        "bb_width_pct": 0.756
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T02-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T02:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4705.3,
      "stop": 4709.362,
      "target": 4697.176,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.01,
        "bb_width_pct": 0.57
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T02-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T02:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4705.295,
      "stop": 4708.968,
      "target": 4697.949,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.95,
        "bb_width_pct": 0.482
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T02-30-00Z_short_rsi_range_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4705.66,
      "stop": 4708.125,
      "target": 4700.73,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 11.68,
        "bb_width_pct": 0.329
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T02-30-00Z_short_vwap_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4705.66,
      "stop": 4711.896,
      "target": 4693.188,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.68,
        "bb_width_pct": 0.329
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T02-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4705.66,
      "stop": 4712.869,
      "target": 4691.243,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.68,
        "bb_width_pct": 0.329
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T02-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4705.66,
      "stop": 4708.81,
      "target": 4699.36,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.68,
        "bb_width_pct": 0.329
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T02-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T02:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4718.29,
      "stop": 4724.817,
      "target": 4705.236,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.13,
        "bb_width_pct": 0.626
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T02-55-00Z_short_rsi_range_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T02:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4718.29,
      "stop": 4724.817,
      "target": 4705.236,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 21.13,
        "bb_width_pct": 0.626
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T02-55-00Z_short_vwap_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T02:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4718.29,
      "stop": 4729.244,
      "target": 4696.383,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 21.13,
        "bb_width_pct": 0.626
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T02-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T02:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4718.29,
      "stop": 4728.566,
      "target": 4697.737,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 21.13,
        "bb_width_pct": 0.626
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T03-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4720.37,
      "stop": 4727.361,
      "target": 4706.389,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 24.64,
        "bb_width_pct": 0.665
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T03-10-00Z_short_rsi_range_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T03:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4717.98,
      "stop": 4722.707,
      "target": 4708.526,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 27.82,
        "bb_width_pct": 0.69
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T03-10-00Z_short_vwap_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T03:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4717.98,
      "stop": 4727.88,
      "target": 4698.18,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 27.82,
        "bb_width_pct": 0.69
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T03-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T03:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4717.98,
      "stop": 4727.984,
      "target": 4697.972,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 27.82,
        "bb_width_pct": 0.69
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T03-15-00Z_short_rsi_range_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4716.96,
      "stop": 4720.752,
      "target": 4709.377,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 26.42,
        "bb_width_pct": 0.686
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T03-15-00Z_short_vwap_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4716.96,
      "stop": 4726.109,
      "target": 4698.661,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 26.42,
        "bb_width_pct": 0.686
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T03-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4716.96,
      "stop": 4726.454,
      "target": 4697.972,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 26.42,
        "bb_width_pct": 0.686
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T03-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4716.96,
      "stop": 4720.209,
      "target": 4710.462,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 26.42,
        "bb_width_pct": 0.686
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T03-20-00Z_short_rsi_range_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T03:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4716.26,
      "stop": 4719.243,
      "target": 4710.295,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 17.19,
        "bb_width_pct": 0.658
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T03-20-00Z_short_vwap_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T03:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4716.26,
      "stop": 4724.836,
      "target": 4699.108,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 17.19,
        "bb_width_pct": 0.658
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T03-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T03:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4716.26,
      "stop": 4725.404,
      "target": 4697.972,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.19,
        "bb_width_pct": 0.658
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T03-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T03:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4716.26,
      "stop": 4718.883,
      "target": 4711.014,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.19,
        "bb_width_pct": 0.658
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T03-25-00Z_short_rsi_range_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4715.82,
      "stop": 4718.225,
      "target": 4711.01,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 18.65,
        "bb_width_pct": 0.643
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T03-25-00Z_short_vwap_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4715.82,
      "stop": 4723.979,
      "target": 4699.502,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 18.65,
        "bb_width_pct": 0.643
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T03-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4715.82,
      "stop": 4723.906,
      "target": 4699.648,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.65,
        "bb_width_pct": 0.643
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T03-45-00Z_short_vwap_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T03:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4724.42,
      "stop": 4735.811,
      "target": 4701.639,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 17.54,
        "bb_width_pct": 0.64
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T03-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T03:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4724.42,
      "stop": 4735.01,
      "target": 4703.24,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.54,
        "bb_width_pct": 0.64
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T03-55-00Z_short_vwap_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T03:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4724.23,
      "stop": 4735.041,
      "target": 4702.608,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.58,
        "bb_width_pct": 0.551
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T03-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T03:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4724.23,
      "stop": 4734.357,
      "target": 4703.975,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.58,
        "bb_width_pct": 0.551
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T04-15-00Z_short_vwap_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T04:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4726.66,
      "stop": 4737.759,
      "target": 4704.462,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 16.84,
        "bb_width_pct": 0.371
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T04-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T04:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4726.66,
      "stop": 4734.815,
      "target": 4710.35,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 16.84,
        "bb_width_pct": 0.371
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T04-20-00Z_short_vwap_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4726.61,
      "stop": 4737.473,
      "target": 4704.884,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 20.35,
        "bb_width_pct": 0.344
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T04-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4726.61,
      "stop": 4734.74,
      "target": 4710.35,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 20.35,
        "bb_width_pct": 0.344
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T04-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T04:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4727.16,
      "stop": 4729.612,
      "target": 4722.256,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 23.55,
        "bb_width_pct": 0.351
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T04-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4727.99,
      "stop": 4730.584,
      "target": 4722.802,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.98,
        "bb_width_pct": 0.349
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T04-40-00Z_short_vwap_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4726.175,
      "stop": 4736.041,
      "target": 4706.444,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.08,
        "bb_width_pct": 0.345
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T04-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4726.175,
      "stop": 4733.514,
      "target": 4711.497,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.08,
        "bb_width_pct": 0.345
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T04-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4726.175,
      "stop": 4727.701,
      "target": 4723.123,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.08,
        "bb_width_pct": 0.345
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T04-45-00Z_short_vwap_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4724.3,
      "stop": 4733.069,
      "target": 4706.762,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 9.7,
        "bb_width_pct": 0.339
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T04-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4724.3,
      "stop": 4730.054,
      "target": 4712.792,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.7,
        "bb_width_pct": 0.339
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T05-00-00Z_short_vwap_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4721.555,
      "stop": 4728.53,
      "target": 4707.605,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.19,
        "bb_width_pct": 0.237
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T05-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4721.555,
      "stop": 4725.746,
      "target": 4713.173,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.19,
        "bb_width_pct": 0.237
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T05-05-00Z_short_vwap_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4719.71,
      "stop": 4725.658,
      "target": 4707.814,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 18.49,
        "bb_width_pct": 0.188
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T05-10-00Z_short_vwap_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4718.5,
      "stop": 4723.753,
      "target": 4707.993,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 23.6,
        "bb_width_pct": 0.219
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T05-15-00Z_short_vwap_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4718.09,
      "stop": 4723.062,
      "target": 4708.146,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 25.11,
        "bb_width_pct": 0.255
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T05-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4718.09,
      "stop": 4716.064,
      "target": 4722.142,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.11,
        "bb_width_pct": 0.255
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T05-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4719.24,
      "stop": 4716.664,
      "target": 4724.392,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.86,
        "bb_width_pct": 0.264
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T05-20-00Z_long_rsi_range_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4719.24,
      "stop": 4716.664,
      "target": 4724.392,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.86,
        "bb_width_pct": 0.264
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T05-25-00Z_short_vwap_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4718.27,
      "stop": 4723.171,
      "target": 4708.468,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 23.08,
        "bb_width_pct": 0.288
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T06-05-00Z_long_rsi_range_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4713.56,
      "stop": 4711.214,
      "target": 4718.252,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.53,
        "bb_width_pct": 0.508
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T06-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4713.56,
      "stop": 4710.603,
      "target": 4719.475,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 17.53,
        "bb_width_pct": 0.508
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T06-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4713.56,
      "stop": 4712.256,
      "target": 4716.168,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.53,
        "bb_width_pct": 0.508
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T06-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T06:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4714.765,
      "stop": 4712.41,
      "target": 4719.475,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.29,
        "bb_width_pct": 0.408
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T06-25-00Z_short_vwap_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T06:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4714.67,
      "stop": 4717.457,
      "target": 4709.095,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 9.93,
        "bb_width_pct": 0.378
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T06-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4710.465,
      "stop": 4708.19,
      "target": 4715.014,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.66,
        "bb_width_pct": 0.347
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T06-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4712.155,
      "stop": 4708.495,
      "target": 4719.475,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.93,
        "bb_width_pct": 0.292
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T06-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T06:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4714.39,
      "stop": 4711.847,
      "target": 4719.475,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.97,
        "bb_width_pct": 0.238
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T06-50-00Z_short_vwap_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T06:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4713.51,
      "stop": 4715.616,
      "target": 4709.299,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.74,
        "bb_width_pct": 0.219
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T07-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T07:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4717.415,
      "stop": 4716.385,
      "target": 4719.475,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 13.6,
        "bb_width_pct": 0.181
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T07-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T07:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4717.145,
      "stop": 4719.134,
      "target": 4713.167,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.92,
        "bb_width_pct": 0.186
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T07-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T07:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4717.68,
      "stop": 4719.684,
      "target": 4713.673,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.97,
        "bb_width_pct": 0.198
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T07-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T07:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4712.13,
      "stop": 4710.928,
      "target": 4714.534,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.24,
        "bb_width_pct": 0.183
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T08-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T08:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4711.27,
      "stop": 4709.747,
      "target": 4714.316,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.96,
        "bb_width_pct": 0.191
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T08-20-00Z_long_rsi_range_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T08:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4711.27,
      "stop": 4709.747,
      "target": 4714.316,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.96,
        "bb_width_pct": 0.191
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T08-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T08:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4711.27,
      "stop": 4709.069,
      "target": 4715.672,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.96,
        "bb_width_pct": 0.191
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T08-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4709.82,
      "stop": 4707.752,
      "target": 4713.955,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.36,
        "bb_width_pct": 0.216
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T08-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4709.82,
      "stop": 4708.263,
      "target": 4712.933,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.36,
        "bb_width_pct": 0.216
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T08-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4707.785,
      "stop": 4705.456,
      "target": 4712.443,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.13,
        "bb_width_pct": 0.244
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T08-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T08:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4712.05,
      "stop": 4711.356,
      "target": 4713.437,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.06,
        "bb_width_pct": 0.235
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T08-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T08:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4712.05,
      "stop": 4711.289,
      "target": 4713.573,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.06,
        "bb_width_pct": 0.235
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T08-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T08:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4712.05,
      "stop": 4711.872,
      "target": 4712.406,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.06,
        "bb_width_pct": 0.235
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T08-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T08:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4706.795,
      "stop": 4704.061,
      "target": 4712.263,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.12,
        "bb_width_pct": 0.256
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T09-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4706.595,
      "stop": 4704.038,
      "target": 4711.709,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.6,
        "bb_width_pct": 0.253
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T09-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T09:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4705.29,
      "stop": 4702.655,
      "target": 4710.56,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.89,
        "bb_width_pct": 0.267
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T09-10-00Z_long_rsi_range_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T09:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4705.29,
      "stop": 4702.655,
      "target": 4710.56,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.89,
        "bb_width_pct": 0.267
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T09-10-00Z_long_vwap_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T09:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4705.29,
      "stop": 4701.871,
      "target": 4712.127,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.89,
        "bb_width_pct": 0.267
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T09-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T09:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4705.29,
      "stop": 4702.201,
      "target": 4711.468,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.89,
        "bb_width_pct": 0.267
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T09-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T09:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4705.29,
      "stop": 4703.008,
      "target": 4709.855,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.89,
        "bb_width_pct": 0.267
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T09-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T09:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4705.445,
      "stop": 4703.152,
      "target": 4710.03,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.14,
        "bb_width_pct": 0.261
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T09-15-00Z_long_vwap_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T09:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4705.445,
      "stop": 4702.229,
      "target": 4711.876,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.14,
        "bb_width_pct": 0.261
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T09-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T09:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4705.445,
      "stop": 4702.902,
      "target": 4710.53,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 11.14,
        "bb_width_pct": 0.261
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T09-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T09:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4705.445,
      "stop": 4703.45,
      "target": 4709.435,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.14,
        "bb_width_pct": 0.261
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T09-20-00Z_long_vwap_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T09:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4705.94,
      "stop": 4703.079,
      "target": 4711.661,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.71,
        "bb_width_pct": 0.254
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T09-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T09:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4705.94,
      "stop": 4703.645,
      "target": 4710.53,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.71,
        "bb_width_pct": 0.254
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T09-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4703.02,
      "stop": 4700.265,
      "target": 4708.531,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.13,
        "bb_width_pct": 0.283
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T09-30-00Z_long_rsi_range_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4703.02,
      "stop": 4700.265,
      "target": 4708.531,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.13,
        "bb_width_pct": 0.283
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T09-30-00Z_long_vwap_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4703.02,
      "stop": 4698.984,
      "target": 4711.091,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.13,
        "bb_width_pct": 0.283
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T09-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4703.02,
      "stop": 4699.561,
      "target": 4709.938,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.13,
        "bb_width_pct": 0.283
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T09-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4703.02,
      "stop": 4700.56,
      "target": 4707.941,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.13,
        "bb_width_pct": 0.283
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T09-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4704.37,
      "stop": 4702.518,
      "target": 4708.075,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.25,
        "bb_width_pct": 0.276
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T09-35-00Z_long_vwap_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4704.37,
      "stop": 4701.133,
      "target": 4710.843,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.25,
        "bb_width_pct": 0.276
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T09-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4704.37,
      "stop": 4702.115,
      "target": 4708.88,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.25,
        "bb_width_pct": 0.276
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T09-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4704.37,
      "stop": 4702.755,
      "target": 4707.601,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.25,
        "bb_width_pct": 0.276
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T09-40-00Z_long_vwap_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T09:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4704.71,
      "stop": 4701.739,
      "target": 4710.651,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.98,
        "bb_width_pct": 0.27
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T09-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T09:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4700.46,
      "stop": 4697.13,
      "target": 4707.12,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.9,
        "bb_width_pct": 0.288
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T09-50-00Z_long_rsi_range_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T09:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4700.58,
      "stop": 4697.573,
      "target": 4706.593,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.45,
        "bb_width_pct": 0.301
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T09-50-00Z_long_vwap_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T09:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4700.58,
      "stop": 4695.808,
      "target": 4710.123,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.45,
        "bb_width_pct": 0.301
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T09-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T09:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4700.58,
      "stop": 4696.43,
      "target": 4708.88,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 23.45,
        "bb_width_pct": 0.301
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T09-55-00Z_long_rsi_range_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T09:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4703.77,
      "stop": 4702.53,
      "target": 4706.25,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.48,
        "bb_width_pct": 0.294
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T09-55-00Z_long_vwap_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T09:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4703.77,
      "stop": 4700.692,
      "target": 4709.926,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.48,
        "bb_width_pct": 0.294
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T09-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T09:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4703.77,
      "stop": 4701.215,
      "target": 4708.88,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.48,
        "bb_width_pct": 0.294
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T10-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T10:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4702.35,
      "stop": 4699.085,
      "target": 4708.88,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.06,
        "bb_width_pct": 0.257
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T10-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T10:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4702.35,
      "stop": 4701.009,
      "target": 4705.033,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.06,
        "bb_width_pct": 0.257
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T10-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T10:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4707.33,
      "stop": 4708.871,
      "target": 4704.247,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.89,
        "bb_width_pct": 0.161
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T10-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T10:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4708.625,
      "stop": 4710.603,
      "target": 4704.669,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.47,
        "bb_width_pct": 0.208
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T10-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T10:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4709.41,
      "stop": 4711.678,
      "target": 4704.874,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.87,
        "bb_width_pct": 0.225
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T10-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T10:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4708.76,
      "stop": 4710.62,
      "target": 4705.04,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.89,
        "bb_width_pct": 0.236
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T10-55-00Z_short_rsi_range_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T10:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4708.76,
      "stop": 4710.62,
      "target": 4705.04,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 17.89,
        "bb_width_pct": 0.236
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T11-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T11:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4704.25,
      "stop": 4702.815,
      "target": 4707.12,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.77,
        "bb_width_pct": 0.23
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T11-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T11:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4704.25,
      "stop": 4703.268,
      "target": 4706.214,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.77,
        "bb_width_pct": 0.23
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T11-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T11:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4704.18,
      "stop": 4703.26,
      "target": 4706.02,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.86,
        "bb_width_pct": 0.231
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T11-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T11:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4702.295,
      "stop": 4700.584,
      "target": 4705.718,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.87,
        "bb_width_pct": 0.195
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T11-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T11:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4702.78,
      "stop": 4701.382,
      "target": 4705.577,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.17,
        "bb_width_pct": 0.203
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T11-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T11:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4702.78,
      "stop": 4700.61,
      "target": 4707.12,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 11.17,
        "bb_width_pct": 0.203
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T11-45-00Z_long_rsi_range_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T11:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4702.885,
      "stop": 4701.563,
      "target": 4705.528,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.75,
        "bb_width_pct": 0.206
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T11-50-00Z_long_rsi_range_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T11:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4703.4,
      "stop": 4702.303,
      "target": 4705.594,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.4,
        "bb_width_pct": 0.2
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T11-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T11:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4703.4,
      "stop": 4701.54,
      "target": 4707.12,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.4,
        "bb_width_pct": 0.2
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T11-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T11:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4705.12,
      "stop": 4704.814,
      "target": 4705.733,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.37,
        "bb_width_pct": 0.19
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T11-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T11:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4705.12,
      "stop": 4704.12,
      "target": 4707.12,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.37,
        "bb_width_pct": 0.19
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T12-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T12:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4710.98,
      "stop": 4713.454,
      "target": 4706.032,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.21,
        "bb_width_pct": 0.213
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T12-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T12:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4709.21,
      "stop": 4710.801,
      "target": 4706.029,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.68,
        "bb_width_pct": 0.213
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T12-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T12:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4709.21,
      "stop": 4711.004,
      "target": 4705.622,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.68,
        "bb_width_pct": 0.213
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T12-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T12:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4709.21,
      "stop": 4710.662,
      "target": 4706.306,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.68,
        "bb_width_pct": 0.213
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T12-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T12:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4699.095,
      "stop": 4696.065,
      "target": 4705.154,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.24,
        "bb_width_pct": 0.233
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T12-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T12:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4703.52,
      "stop": 4702.857,
      "target": 4704.847,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.19,
        "bb_width_pct": 0.23
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T12-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T12:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4703.52,
      "stop": 4702.806,
      "target": 4704.948,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.19,
        "bb_width_pct": 0.23
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T12-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T12:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4703.52,
      "stop": 4702.781,
      "target": 4704.999,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.19,
        "bb_width_pct": 0.23
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T12-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T12:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4699.43,
      "stop": 4696.872,
      "target": 4704.545,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.22,
        "bb_width_pct": 0.253
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T12-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T12:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4699.43,
      "stop": 4697.0,
      "target": 4704.291,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.22,
        "bb_width_pct": 0.253
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T13-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4696.305,
      "stop": 4692.692,
      "target": 4703.53,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.82,
        "bb_width_pct": 0.296
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T13-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T13:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4696.305,
      "stop": 4692.607,
      "target": 4703.701,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.0,
        "bb_width_pct": 0.328
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T13-05-00Z_long_vwap_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T13:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4696.305,
      "stop": 4692.709,
      "target": 4703.497,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.0,
        "bb_width_pct": 0.328
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T13-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T13:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4696.305,
      "stop": 4692.914,
      "target": 4703.087,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 13.0,
        "bb_width_pct": 0.328
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T13-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T13:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4696.305,
      "stop": 4693.036,
      "target": 4702.842,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.0,
        "bb_width_pct": 0.328
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T13-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T13:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4696.05,
      "stop": 4692.463,
      "target": 4703.225,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.64,
        "bb_width_pct": 0.355
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T13-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T13:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4696.05,
      "stop": 4692.977,
      "target": 4702.195,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.64,
        "bb_width_pct": 0.355
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T13-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T13:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4700.875,
      "stop": 4699.783,
      "target": 4703.06,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 11.22,
        "bb_width_pct": 0.357
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T13-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4692.665,
      "stop": 4688.1,
      "target": 4701.796,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.88,
        "bb_width_pct": 0.432
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T13-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4692.665,
      "stop": 4688.893,
      "target": 4700.21,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.88,
        "bb_width_pct": 0.432
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T13-40-00Z_long_vwap_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T13:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4693.48,
      "stop": 4689.541,
      "target": 4701.358,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.17,
        "bb_width_pct": 0.453
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T13-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T13:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4693.48,
      "stop": 4689.775,
      "target": 4700.89,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 11.17,
        "bb_width_pct": 0.453
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T13-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T13:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4693.48,
      "stop": 4690.436,
      "target": 4699.569,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.17,
        "bb_width_pct": 0.453
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T13-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T13:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4694.81,
      "stop": 4691.77,
      "target": 4700.89,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 11.2,
        "bb_width_pct": 0.465
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T13-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T13:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4694.81,
      "stop": 4693.071,
      "target": 4698.288,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.2,
        "bb_width_pct": 0.465
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T14-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T14:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4692.79,
      "stop": 4690.839,
      "target": 4696.692,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.51,
        "bb_width_pct": 0.341
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T14-10-00Z_long_vwap_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T14:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4692.79,
      "stop": 4689.436,
      "target": 4699.498,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.51,
        "bb_width_pct": 0.341
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T14-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T14:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4692.79,
      "stop": 4688.819,
      "target": 4700.733,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.51,
        "bb_width_pct": 0.341
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T14-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T14:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4692.79,
      "stop": 4690.932,
      "target": 4696.506,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.51,
        "bb_width_pct": 0.341
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T14-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T14:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4695.345,
      "stop": 4692.853,
      "target": 4700.33,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.88,
        "bb_width_pct": 0.327
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T14-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T14:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4688.94,
      "stop": 4685.736,
      "target": 4695.349,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.27,
        "bb_width_pct": 0.319
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T14-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T14:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4688.94,
      "stop": 4685.704,
      "target": 4695.413,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.27,
        "bb_width_pct": 0.319
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T14-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4685.995,
      "stop": 4681.735,
      "target": 4694.516,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.6,
        "bb_width_pct": 0.327
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T14-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T14:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4693.49,
      "stop": 4693.133,
      "target": 4694.204,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.43,
        "bb_width_pct": 0.313
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T14-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T14:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4693.49,
      "stop": 4691.144,
      "target": 4698.182,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.43,
        "bb_width_pct": 0.313
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T15-05-00Z_long_rsi_range_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T15:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4670.51,
      "stop": 4661.311,
      "target": 4688.909,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.8,
        "bb_width_pct": 0.669
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T15-05-00Z_long_vwap_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T15:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4670.51,
      "stop": 4657.953,
      "target": 4695.624,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.8,
        "bb_width_pct": 0.669
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T15-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T15:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4670.51,
      "stop": 4660.569,
      "target": 4690.392,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 24.8,
        "bb_width_pct": 0.669
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T15-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T15:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4674.705,
      "stop": 4668.104,
      "target": 4687.906,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.87,
        "bb_width_pct": 0.708
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T15-10-00Z_long_vwap_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T15:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4674.705,
      "stop": 4664.521,
      "target": 4695.073,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.87,
        "bb_width_pct": 0.708
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T15-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T15:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4674.705,
      "stop": 4667.06,
      "target": 4689.995,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.87,
        "bb_width_pct": 0.708
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T15-15-00Z_long_vwap_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T15:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4677.91,
      "stop": 4669.562,
      "target": 4694.605,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.71,
        "bb_width_pct": 0.725
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T15-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T15:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4677.91,
      "stop": 4671.868,
      "target": 4689.995,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.71,
        "bb_width_pct": 0.725
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T15-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T15:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4677.91,
      "stop": 4674.135,
      "target": 4685.459,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.71,
        "bb_width_pct": 0.725
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T15-25-00Z_long_vwap_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T15:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4681.28,
      "stop": 4675.047,
      "target": 4693.747,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.03,
        "bb_width_pct": 0.755
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T15-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T15:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4681.28,
      "stop": 4676.922,
      "target": 4689.995,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.03,
        "bb_width_pct": 0.755
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T15-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T15:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4681.28,
      "stop": 4679.882,
      "target": 4684.075,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.03,
        "bb_width_pct": 0.755
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T15-35-00Z_long_vwap_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T15:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4679.05,
      "stop": 4672.036,
      "target": 4693.078,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.31,
        "bb_width_pct": 0.717
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T15-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T15:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4671.735,
      "stop": 4667.179,
      "target": 4680.846,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.46,
        "bb_width_pct": 0.706
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T16-00-00Z_long_vwap_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4670.72,
      "stop": 4660.542,
      "target": 4691.077,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.43,
        "bb_width_pct": 0.652
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T16-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4670.72,
      "stop": 4663.132,
      "target": 4685.895,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.43,
        "bb_width_pct": 0.652
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T16-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4670.72,
      "stop": 4666.596,
      "target": 4678.968,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.43,
        "bb_width_pct": 0.652
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T16-05-00Z_long_vwap_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T16:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4672.91,
      "stop": 4664.011,
      "target": 4690.708,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.92,
        "bb_width_pct": 0.631
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T16-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T16:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4672.91,
      "stop": 4666.417,
      "target": 4685.895,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.92,
        "bb_width_pct": 0.631
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T16-10-00Z_long_vwap_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T16:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4674.785,
      "stop": 4666.985,
      "target": 4690.385,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.11,
        "bb_width_pct": 0.616
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T16-15-00Z_long_vwap_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T16:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4677.11,
      "stop": 4670.607,
      "target": 4690.116,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.59,
        "bb_width_pct": 0.533
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T16-25-00Z_long_vwap_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T16:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4676.37,
      "stop": 4669.762,
      "target": 4689.586,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.88,
        "bb_width_pct": 0.301
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T16-30-00Z_long_vwap_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T16:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4678.15,
      "stop": 4672.539,
      "target": 4689.371,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.48,
        "bb_width_pct": 0.287
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T16-45-00Z_long_vwap_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4676.165,
      "stop": 4669.886,
      "target": 4688.723,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.73,
        "bb_width_pct": 0.24
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T16-50-00Z_long_vwap_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T16:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4676.68,
      "stop": 4670.761,
      "target": 4688.518,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.0,
        "bb_width_pct": 0.24
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T16-55-00Z_long_vwap_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4676.895,
      "stop": 4671.181,
      "target": 4688.324,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.33,
        "bb_width_pct": 0.238
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T17-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T17:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4673.925,
      "stop": 4669.667,
      "target": 4682.44,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 2.45,
        "bb_width_pct": 0.205
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T17-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T17:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4673.925,
      "stop": 4672.698,
      "target": 4676.379,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.45,
        "bb_width_pct": 0.205
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T17-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T17:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4671.515,
      "stop": 4669.878,
      "target": 4674.789,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.46,
        "bb_width_pct": 0.201
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T17-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T17:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4671.515,
      "stop": 4669.315,
      "target": 4675.916,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.46,
        "bb_width_pct": 0.201
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T17-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T17:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4674.56,
      "stop": 4670.796,
      "target": 4682.087,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.26,
        "bb_width_pct": 0.194
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T17-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T17:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4674.56,
      "stop": 4673.947,
      "target": 4675.786,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.26,
        "bb_width_pct": 0.194
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T17-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T17:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4679.9,
      "stop": 4682.389,
      "target": 4674.922,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.07,
        "bb_width_pct": 0.217
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T17-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T17:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4680.555,
      "stop": 4682.774,
      "target": 4676.116,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.19,
        "bb_width_pct": 0.276
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T17-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T17:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4680.555,
      "stop": 4682.142,
      "target": 4677.381,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.19,
        "bb_width_pct": 0.276
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T17-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T17:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4682.205,
      "stop": 4684.701,
      "target": 4677.213,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.19,
        "bb_width_pct": 0.292
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T18-25-00Z_short_rsi_range_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T18:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4684.13,
      "stop": 4686.413,
      "target": 4679.565,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 19.18,
        "bb_width_pct": 0.346
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T18-25-00Z_short_vwap_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T18:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4684.13,
      "stop": 4686.293,
      "target": 4679.803,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 19.18,
        "bb_width_pct": 0.346
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T18-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T18:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4684.13,
      "stop": 4687.763,
      "target": 4676.865,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 19.18,
        "bb_width_pct": 0.346
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T18-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4683.33,
      "stop": 4686.562,
      "target": 4676.865,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.77,
        "bb_width_pct": 0.347
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T18-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T18:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4683.26,
      "stop": 4686.458,
      "target": 4676.865,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.05,
        "bb_width_pct": 0.348
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T18-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T18:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4682.795,
      "stop": 4685.76,
      "target": 4676.865,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.06,
        "bb_width_pct": 0.33
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T18-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T18:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4682.795,
      "stop": 4683.552,
      "target": 4681.281,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.06,
        "bb_width_pct": 0.33
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T18-50-00Z_short_vwap_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T18:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4683.645,
      "stop": 4685.157,
      "target": 4680.622,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.49,
        "bb_width_pct": 0.273
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T18-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T18:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4683.645,
      "stop": 4687.035,
      "target": 4676.865,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.49,
        "bb_width_pct": 0.273
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T18-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T18:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4680.735,
      "stop": 4682.67,
      "target": 4676.865,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.76,
        "bb_width_pct": 0.19
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T19-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T19:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4679.29,
      "stop": 4677.773,
      "target": 4682.324,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.1,
        "bb_width_pct": 0.133
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T19-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T19:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4679.66,
      "stop": 4678.334,
      "target": 4682.312,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.45,
        "bb_width_pct": 0.135
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T19-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T19:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4679.05,
      "stop": 4677.598,
      "target": 4681.953,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.41,
        "bb_width_pct": 0.133
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T19-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T19:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4677.545,
      "stop": 4675.887,
      "target": 4680.86,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.61,
        "bb_width_pct": 0.156
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T19-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T19:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4680.105,
      "stop": 4679.307,
      "target": 4681.702,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.62,
        "bb_width_pct": 0.157
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T22-00-00Z_long_vwap_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T22:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4682.64,
      "stop": 4671.755,
      "target": 4704.41,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.16,
        "bb_width_pct": 0.102
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T22-40-00Z_short_rsi_range_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T22:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4687.35,
      "stop": 4689.333,
      "target": 4683.385,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 24.91,
        "bb_width_pct": 0.362
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T22-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T22:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4687.35,
      "stop": 4688.633,
      "target": 4684.785,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 24.91,
        "bb_width_pct": 0.362
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T22-45-00Z_short_rsi_range_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T22:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4686.975,
      "stop": 4688.576,
      "target": 4683.774,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 22.05,
        "bb_width_pct": 0.358
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T22-50-00Z_long_vwap_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T22:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4687.32,
      "stop": 4681.119,
      "target": 4699.722,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.66,
        "bb_width_pct": 0.352
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T22-55-00Z_long_vwap_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T22:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4687.87,
      "stop": 4682.112,
      "target": 4699.385,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 27.99,
        "bb_width_pct": 0.345
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T23-00-00Z_long_vwap_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4688.53,
      "stop": 4683.251,
      "target": 4699.088,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.97,
        "bb_width_pct": 0.336
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T23-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4688.53,
      "stop": 4689.915,
      "target": 4685.76,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.97,
        "bb_width_pct": 0.336
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T23-05-00Z_short_rsi_range_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4688.075,
      "stop": 4689.373,
      "target": 4685.478,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 18.32,
        "bb_width_pct": 0.324
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T23-10-00Z_long_vwap_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4689.735,
      "stop": 4685.33,
      "target": 4698.545,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.3,
        "bb_width_pct": 0.309
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T23-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4689.735,
      "stop": 4691.434,
      "target": 4686.338,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.3,
        "bb_width_pct": 0.309
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T23-15-00Z_long_vwap_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4691.14,
      "stop": 4687.535,
      "target": 4698.351,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.13,
        "bb_width_pct": 0.298
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T23-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T23:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4690.93,
      "stop": 4694.33,
      "target": 4684.13,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.62,
        "bb_width_pct": 0.281
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T23-25-00Z_long_vwap_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T23:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4691.01,
      "stop": 4687.516,
      "target": 4697.997,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.81,
        "bb_width_pct": 0.254
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T23-30-00Z_long_vwap_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4692.09,
      "stop": 4689.209,
      "target": 4697.852,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.11,
        "bb_width_pct": 0.207
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T23-35-00Z_long_vwap_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4693.6,
      "stop": 4691.525,
      "target": 4697.75,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.48,
        "bb_width_pct": 0.19
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T23-40-00Z_long_vwap_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4694.39,
      "stop": 4692.755,
      "target": 4697.66,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.58,
        "bb_width_pct": 0.175
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T23-55-00Z_short_rsi_range_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T23:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4692.06,
      "stop": 4692.993,
      "target": 4690.194,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 18.89,
        "bb_width_pct": 0.218
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T23-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T23:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4692.06,
      "stop": 4694.996,
      "target": 4686.188,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.89,
        "bb_width_pct": 0.218
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-27T23-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T23:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4692.06,
      "stop": 4692.955,
      "target": 4690.269,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.89,
        "bb_width_pct": 0.218
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T00-15-00Z_short_rsi_range_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T00:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4697.21,
      "stop": 4699.747,
      "target": 4692.136,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 21.0,
        "bb_width_pct": 0.329
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T00-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T00:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4697.21,
      "stop": 4701.017,
      "target": 4689.595,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 21.0,
        "bb_width_pct": 0.329
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T00-20-00Z_short_rsi_range_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T00:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4696.99,
      "stop": 4699.176,
      "target": 4692.618,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 16.68,
        "bb_width_pct": 0.327
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T00-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T00:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4696.99,
      "stop": 4698.864,
      "target": 4693.242,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.68,
        "bb_width_pct": 0.327
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T00-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T00:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4695.2,
      "stop": 4696.086,
      "target": 4693.428,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.98,
        "bb_width_pct": 0.311
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T01-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4689.6,
      "stop": 4687.307,
      "target": 4694.187,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.02,
        "bb_width_pct": 0.221
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T01-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4689.6,
      "stop": 4688.003,
      "target": 4692.794,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.02,
        "bb_width_pct": 0.221
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T01-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T01:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4689.26,
      "stop": 4686.84,
      "target": 4694.1,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.46,
        "bb_width_pct": 0.233
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T01-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T01:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4689.26,
      "stop": 4687.661,
      "target": 4692.458,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.46,
        "bb_width_pct": 0.233
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T01-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T01:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4688.35,
      "stop": 4685.569,
      "target": 4693.913,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.4,
        "bb_width_pct": 0.254
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T01-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T01:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4689.57,
      "stop": 4687.499,
      "target": 4693.711,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.77,
        "bb_width_pct": 0.266
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T01-15-00Z_long_rsi_range_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T01:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4689.57,
      "stop": 4687.499,
      "target": 4693.711,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.77,
        "bb_width_pct": 0.266
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T01-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T01:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4689.57,
      "stop": 4688.441,
      "target": 4691.829,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.77,
        "bb_width_pct": 0.266
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T01-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T01:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4689.805,
      "stop": 4687.967,
      "target": 4693.482,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.39,
        "bb_width_pct": 0.276
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T01-20-00Z_long_rsi_range_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T01:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4689.805,
      "stop": 4687.967,
      "target": 4693.482,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.39,
        "bb_width_pct": 0.276
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T01-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T01:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4690.485,
      "stop": 4689.446,
      "target": 4692.564,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.99,
        "bb_width_pct": 0.335
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T01-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T01:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4690.485,
      "stop": 4689.259,
      "target": 4692.938,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.99,
        "bb_width_pct": 0.335
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T01-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T01:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4690.485,
      "stop": 4690.417,
      "target": 4690.622,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.99,
        "bb_width_pct": 0.335
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T02-00-00Z_long_rsi_range_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T02:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4673.015,
      "stop": 4665.544,
      "target": 4687.957,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.07,
        "bb_width_pct": 0.542
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T02-00-00Z_long_vwap_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T02:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4673.015,
      "stop": 4664.489,
      "target": 4690.066,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.07,
        "bb_width_pct": 0.542
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T02-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T02:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4673.015,
      "stop": 4666.744,
      "target": 4685.558,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 26.07,
        "bb_width_pct": 0.542
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T02-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T02:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4675.49,
      "stop": 4669.749,
      "target": 4686.971,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.25,
        "bb_width_pct": 0.57
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T02-05-00Z_long_rsi_range_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T02:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4675.49,
      "stop": 4669.749,
      "target": 4686.971,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.25,
        "bb_width_pct": 0.57
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T02-05-00Z_long_vwap_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T02:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4675.49,
      "stop": 4668.492,
      "target": 4689.486,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.25,
        "bb_width_pct": 0.57
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T02-10-00Z_long_vwap_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T02:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4677.55,
      "stop": 4671.817,
      "target": 4689.015,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.48,
        "bb_width_pct": 0.581
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T02-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T02:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4677.55,
      "stop": 4674.226,
      "target": 4684.198,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.48,
        "bb_width_pct": 0.581
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T02-15-00Z_long_vwap_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T02:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4678.25,
      "stop": 4673.054,
      "target": 4688.642,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.4,
        "bb_width_pct": 0.586
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T02-25-00Z_long_vwap_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T02:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4675.83,
      "stop": 4669.829,
      "target": 4687.832,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.48,
        "bb_width_pct": 0.582
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T02-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T02:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4675.83,
      "stop": 4672.646,
      "target": 4682.198,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.48,
        "bb_width_pct": 0.582
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T02-50-00Z_long_rsi_range_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T02:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4670.96,
      "stop": 4666.936,
      "target": 4679.008,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.18,
        "bb_width_pct": 0.606
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T02-50-00Z_long_vwap_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T02:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4670.96,
      "stop": 4663.679,
      "target": 4685.521,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.18,
        "bb_width_pct": 0.606
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T02-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T02:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4670.96,
      "stop": 4664.38,
      "target": 4684.12,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 24.18,
        "bb_width_pct": 0.606
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T03-00-00Z_long_vwap_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4671.09,
      "stop": 4664.298,
      "target": 4684.673,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.56,
        "bb_width_pct": 0.561
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T03-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4671.09,
      "stop": 4664.575,
      "target": 4684.12,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.56,
        "bb_width_pct": 0.561
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T03-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4671.09,
      "stop": 4668.359,
      "target": 4676.552,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.56,
        "bb_width_pct": 0.561
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T03-05-00Z_long_vwap_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T03:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4672.9,
      "stop": 4667.176,
      "target": 4684.348,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.23,
        "bb_width_pct": 0.523
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T03-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T03:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4672.9,
      "stop": 4667.29,
      "target": 4684.12,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.23,
        "bb_width_pct": 0.523
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T03-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T03:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4672.9,
      "stop": 4671.248,
      "target": 4676.204,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.23,
        "bb_width_pct": 0.523
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T03-10-00Z_long_vwap_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T03:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4672.98,
      "stop": 4667.439,
      "target": 4684.063,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.54,
        "bb_width_pct": 0.501
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T03-15-00Z_long_vwap_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4673.42,
      "stop": 4668.238,
      "target": 4683.784,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.5,
        "bb_width_pct": 0.41
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T03-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4673.42,
      "stop": 4668.07,
      "target": 4684.12,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.5,
        "bb_width_pct": 0.41
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T03-25-00Z_long_vwap_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4674.94,
      "stop": 4670.754,
      "target": 4683.311,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.5,
        "bb_width_pct": 0.249
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T03-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4674.94,
      "stop": 4670.455,
      "target": 4683.91,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.5,
        "bb_width_pct": 0.249
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T03-35-00Z_long_vwap_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T03:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4673.26,
      "stop": 4668.464,
      "target": 4682.853,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.36,
        "bb_width_pct": 0.198
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T03-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T03:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4669.75,
      "stop": 4667.665,
      "target": 4673.92,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.85,
        "bb_width_pct": 0.185
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T03-55-00Z_long_vwap_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T03:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4671.155,
      "stop": 4665.781,
      "target": 4681.903,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.5,
        "bb_width_pct": 0.152
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T03-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T03:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4671.155,
      "stop": 4666.396,
      "target": 4680.673,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.5,
        "bb_width_pct": 0.152
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T04-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4668.095,
      "stop": 4666.344,
      "target": 4671.597,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.75,
        "bb_width_pct": 0.154
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T04-05-00Z_long_vwap_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4668.095,
      "stop": 4661.459,
      "target": 4681.368,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.75,
        "bb_width_pct": 0.154
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T04-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4668.095,
      "stop": 4661.94,
      "target": 4680.405,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.75,
        "bb_width_pct": 0.154
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T04-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T04:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4669.84,
      "stop": 4669.062,
      "target": 4671.396,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.23,
        "bb_width_pct": 0.15
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T04-10-00Z_long_vwap_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T04:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4669.84,
      "stop": 4664.195,
      "target": 4681.129,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.23,
        "bb_width_pct": 0.15
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T04-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T04:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4669.84,
      "stop": 4664.695,
      "target": 4680.13,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.23,
        "bb_width_pct": 0.15
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T04-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T04:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4669.84,
      "stop": 4668.568,
      "target": 4672.384,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.23,
        "bb_width_pct": 0.15
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T04-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4667.04,
      "stop": 4665.032,
      "target": 4671.056,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.91,
        "bb_width_pct": 0.177
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T04-25-00Z_long_vwap_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T04:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4667.465,
      "stop": 4660.998,
      "target": 4680.399,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.91,
        "bb_width_pct": 0.189
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T04-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T04:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4667.465,
      "stop": 4661.61,
      "target": 4679.175,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.91,
        "bb_width_pct": 0.189
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T04-30-00Z_long_vwap_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T04:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4668.625,
      "stop": 4662.849,
      "target": 4680.177,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.96,
        "bb_width_pct": 0.194
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T04-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T04:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4668.625,
      "stop": 4663.35,
      "target": 4679.175,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 18.96,
        "bb_width_pct": 0.194
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T04-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T04:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4668.625,
      "stop": 4667.474,
      "target": 4670.926,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.96,
        "bb_width_pct": 0.194
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T04-35-00Z_long_vwap_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4668.89,
      "stop": 4663.351,
      "target": 4679.968,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.07,
        "bb_width_pct": 0.195
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T04-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4668.89,
      "stop": 4663.748,
      "target": 4679.175,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.07,
        "bb_width_pct": 0.195
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T04-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4668.89,
      "stop": 4667.969,
      "target": 4670.732,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.07,
        "bb_width_pct": 0.195
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T04-40-00Z_long_vwap_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4669.925,
      "stop": 4664.999,
      "target": 4679.778,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.35,
        "bb_width_pct": 0.195
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T04-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4669.925,
      "stop": 4665.3,
      "target": 4679.175,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 11.35,
        "bb_width_pct": 0.195
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T04-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4669.925,
      "stop": 4669.56,
      "target": 4670.656,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.35,
        "bb_width_pct": 0.195
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T04-50-00Z_long_vwap_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T04:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4668.07,
      "stop": 4662.408,
      "target": 4679.394,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.03,
        "bb_width_pct": 0.196
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T04-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T04:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4668.07,
      "stop": 4662.517,
      "target": 4679.175,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.03,
        "bb_width_pct": 0.196
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T05-20-00Z_long_rsi_range_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4658.96,
      "stop": 4655.51,
      "target": 4665.859,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.44,
        "bb_width_pct": 0.486
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T05-20-00Z_long_vwap_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4658.96,
      "stop": 4649.7,
      "target": 4677.48,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.44,
        "bb_width_pct": 0.486
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T05-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4658.55,
      "stop": 4655.753,
      "target": 4664.144,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.77,
        "bb_width_pct": 0.49
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T06-25-00Z_long_vwap_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T06:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4631.73,
      "stop": 4612.289,
      "target": 4670.612,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.61,
        "bb_width_pct": 1.2
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T06-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T06:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4631.73,
      "stop": 4622.627,
      "target": 4649.935,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 25.61,
        "bb_width_pct": 1.2
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T06-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T06:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4631.73,
      "stop": 4626.214,
      "target": 4642.761,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.61,
        "bb_width_pct": 1.2
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T06-35-00Z_long_rsi_range_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4631.795,
      "stop": 4627.403,
      "target": 4640.579,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.45,
        "bb_width_pct": 1.03
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T06-35-00Z_long_vwap_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4631.795,
      "stop": 4612.891,
      "target": 4669.603,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.45,
        "bb_width_pct": 1.03
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T06-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4631.795,
      "stop": 4622.725,
      "target": 4649.935,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 11.45,
        "bb_width_pct": 1.03
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T06-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4631.795,
      "stop": 4627.391,
      "target": 4640.603,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.45,
        "bb_width_pct": 1.03
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T06-50-00Z_long_vwap_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T06:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4626.53,
      "stop": 4605.736,
      "target": 4668.119,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.46,
        "bb_width_pct": 0.894
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T06-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T06:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4626.53,
      "stop": 4615.329,
      "target": 4648.932,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.46,
        "bb_width_pct": 0.894
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T06-55-00Z_long_vwap_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T06:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4629.06,
      "stop": 4609.764,
      "target": 4667.652,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.07,
        "bb_width_pct": 0.82
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T06-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T06:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4629.06,
      "stop": 4619.224,
      "target": 4648.733,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 3.07,
        "bb_width_pct": 0.82
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T06-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T06:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4629.06,
      "stop": 4625.403,
      "target": 4636.374,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.07,
        "bb_width_pct": 0.82
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T07-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T07:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4639.165,
      "stop": 4634.663,
      "target": 4648.17,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.52,
        "bb_width_pct": 0.675
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T07-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T07:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4629.96,
      "stop": 4621.525,
      "target": 4646.83,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 3.93,
        "bb_width_pct": 0.358
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T07-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T07:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4627.98,
      "stop": 4618.555,
      "target": 4646.83,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 2.01,
        "bb_width_pct": 0.379
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T07-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T07:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4629.39,
      "stop": 4620.67,
      "target": 4646.83,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 2.6,
        "bb_width_pct": 0.378
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T07-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T07:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4633.015,
      "stop": 4626.108,
      "target": 4646.83,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.99,
        "bb_width_pct": 0.285
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T08-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4620.445,
      "stop": 4615.163,
      "target": 4631.009,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.55,
        "bb_width_pct": 0.332
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T08-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T08:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4621.995,
      "stop": 4618.308,
      "target": 4629.368,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.62,
        "bb_width_pct": 0.36
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T08-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T08:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4621.995,
      "stop": 4611.171,
      "target": 4643.642,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 16.62,
        "bb_width_pct": 0.36
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T08-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T08:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4621.995,
      "stop": 4617.917,
      "target": 4630.151,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.62,
        "bb_width_pct": 0.36
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T08-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T08:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4620.46,
      "stop": 4616.24,
      "target": 4628.9,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.51,
        "bb_width_pct": 0.397
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T08-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T08:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4620.46,
      "stop": 4616.076,
      "target": 4629.228,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.51,
        "bb_width_pct": 0.397
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T08-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T08:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4621.84,
      "stop": 4612.052,
      "target": 4641.415,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.75,
        "bb_width_pct": 0.414
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T08-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T08:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4627.045,
      "stop": 4621.986,
      "target": 4637.163,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 2.8,
        "bb_width_pct": 0.431
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T09-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T09:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4618.54,
      "stop": 4615.334,
      "target": 4624.951,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.75,
        "bb_width_pct": 0.387
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T09-25-00Z_long_vwap_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T09:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4618.54,
      "stop": 4614.305,
      "target": 4627.011,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.75,
        "bb_width_pct": 0.387
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T09-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T09:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4618.54,
      "stop": 4613.9,
      "target": 4627.82,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 3.75,
        "bb_width_pct": 0.387
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T09-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T09:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4618.54,
      "stop": 4615.189,
      "target": 4625.242,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.75,
        "bb_width_pct": 0.387
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T09-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T09:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4613.945,
      "stop": 4609.523,
      "target": 4622.79,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.17,
        "bb_width_pct": 0.516
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T09-40-00Z_long_rsi_range_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T09:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4613.945,
      "stop": 4609.523,
      "target": 4622.79,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.17,
        "bb_width_pct": 0.516
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T09-40-00Z_long_vwap_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T09:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4613.945,
      "stop": 4608.066,
      "target": 4625.703,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.17,
        "bb_width_pct": 0.516
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T09-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T09:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4613.945,
      "stop": 4608.566,
      "target": 4624.702,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 20.17,
        "bb_width_pct": 0.516
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T09-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T09:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4613.945,
      "stop": 4609.978,
      "target": 4621.88,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.17,
        "bb_width_pct": 0.516
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T09-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T09:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4610.66,
      "stop": 4604.878,
      "target": 4622.223,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.57,
        "bb_width_pct": 0.565
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T09-50-00Z_long_rsi_range_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T09:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4611.315,
      "stop": 4606.09,
      "target": 4621.766,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.94,
        "bb_width_pct": 0.601
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T09-50-00Z_long_vwap_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T09:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4611.315,
      "stop": 4604.527,
      "target": 4624.89,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.94,
        "bb_width_pct": 0.601
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T09-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T09:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4611.315,
      "stop": 4605.047,
      "target": 4623.85,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 18.94,
        "bb_width_pct": 0.601
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T10-00-00Z_long_rsi_range_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T10:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4607.935,
      "stop": 4601.784,
      "target": 4620.238,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.59,
        "bb_width_pct": 0.724
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T10-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T10:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4607.935,
      "stop": 4600.859,
      "target": 4622.087,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 25.59,
        "bb_width_pct": 0.724
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T10-05-00Z_long_rsi_range_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T10:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4610.155,
      "stop": 4605.536,
      "target": 4619.394,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.51,
        "bb_width_pct": 0.734
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T10-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T10:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4610.155,
      "stop": 4604.261,
      "target": 4621.943,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.51,
        "bb_width_pct": 0.734
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T10-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T10:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4610.155,
      "stop": 4606.85,
      "target": 4616.765,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.51,
        "bb_width_pct": 0.734
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T10-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T10:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4612.82,
      "stop": 4608.259,
      "target": 4621.943,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 17.33,
        "bb_width_pct": 0.694
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T11-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4605.805,
      "stop": 4603.066,
      "target": 4611.284,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.43,
        "bb_width_pct": 0.309
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T11-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4605.805,
      "stop": 4598.97,
      "target": 4619.475,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.43,
        "bb_width_pct": 0.309
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T11-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4605.805,
      "stop": 4602.388,
      "target": 4612.639,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.43,
        "bb_width_pct": 0.309
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T11-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T11:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4602.05,
      "stop": 4598.795,
      "target": 4608.56,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.62,
        "bb_width_pct": 0.457
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T11-20-00Z_long_vwap_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T11:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4602.05,
      "stop": 4598.727,
      "target": 4608.697,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.62,
        "bb_width_pct": 0.457
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T11-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T11:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4602.05,
      "stop": 4595.215,
      "target": 4615.72,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 17.62,
        "bb_width_pct": 0.457
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T11-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T11:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4602.05,
      "stop": 4598.813,
      "target": 4608.523,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.62,
        "bb_width_pct": 0.457
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T12-50-00Z_short_vwap_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T12:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4595.17,
      "stop": 4602.073,
      "target": 4581.364,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 24.24,
        "bb_width_pct": 1.15
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T12-55-00Z_short_rsi_range_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T12:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4593.935,
      "stop": 4600.552,
      "target": 4580.7,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 24.27,
        "bb_width_pct": 1.132
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T13-00-00Z_short_rsi_range_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4584.525,
      "stop": 4586.875,
      "target": 4579.824,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 15.14,
        "bb_width_pct": 1.052
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T14-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T14:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4569.745,
      "stop": 4563.819,
      "target": 4581.597,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.77,
        "bb_width_pct": 0.695
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T14-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T14:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4564.335,
      "stop": 4559.419,
      "target": 4574.167,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.65,
        "bb_width_pct": 0.586
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T14-40-00Z_long_vwap_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T14:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4564.335,
      "stop": 4557.503,
      "target": 4578.0,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.65,
        "bb_width_pct": 0.586
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T14-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T14:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4564.335,
      "stop": 4556.854,
      "target": 4579.298,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.65,
        "bb_width_pct": 0.586
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T14-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T14:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4564.335,
      "stop": 4559.759,
      "target": 4573.487,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.65,
        "bb_width_pct": 0.586
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T14-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T14:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4563.88,
      "stop": 4559.295,
      "target": 4573.05,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.71,
        "bb_width_pct": 0.647
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T14-50-00Z_long_vwap_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T14:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4563.88,
      "stop": 4557.246,
      "target": 4577.148,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.71,
        "bb_width_pct": 0.647
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T14-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T14:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4563.88,
      "stop": 4556.961,
      "target": 4577.718,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 16.71,
        "bb_width_pct": 0.647
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T14-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T14:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4574.645,
      "stop": 4573.109,
      "target": 4577.718,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.84,
        "bb_width_pct": 0.642
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T15-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T15:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4578.835,
      "stop": 4583.101,
      "target": 4570.303,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.52,
        "bb_width_pct": 0.415
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T15-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T15:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4578.01,
      "stop": 4581.568,
      "target": 4570.894,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.86,
        "bb_width_pct": 0.431
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T15-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T15:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4582.005,
      "stop": 4587.254,
      "target": 4571.507,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.51,
        "bb_width_pct": 0.479
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T15-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T15:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4583.915,
      "stop": 4589.732,
      "target": 4572.28,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.17,
        "bb_width_pct": 0.529
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T15-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T15:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4586.625,
      "stop": 4593.418,
      "target": 4573.039,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.4,
        "bb_width_pct": 0.595
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T16-00-00Z_short_rsi_range_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4584.075,
      "stop": 4589.193,
      "target": 4573.838,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 9.63,
        "bb_width_pct": 0.622
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T16-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4586.6,
      "stop": 4589.29,
      "target": 4581.22,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.41,
        "bb_width_pct": 0.431
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T16-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4592.24,
      "stop": 4597.013,
      "target": 4582.693,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.89,
        "bb_width_pct": 0.47
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T16-55-00Z_short_vwap_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4592.24,
      "stop": 4599.058,
      "target": 4578.605,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.89,
        "bb_width_pct": 0.47
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T16-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4592.24,
      "stop": 4600.374,
      "target": 4575.972,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.89,
        "bb_width_pct": 0.47
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T17-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T17:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4589.85,
      "stop": 4592.981,
      "target": 4583.588,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.01,
        "bb_width_pct": 0.436
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T17-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T17:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4589.85,
      "stop": 4596.703,
      "target": 4576.145,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.01,
        "bb_width_pct": 0.436
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T17-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T17:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4589.85,
      "stop": 4592.801,
      "target": 4583.949,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.01,
        "bb_width_pct": 0.436
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T17-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T17:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4591.275,
      "stop": 4594.589,
      "target": 4584.646,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.49,
        "bb_width_pct": 0.439
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T17-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T17:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4593.745,
      "stop": 4597.914,
      "target": 4585.407,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.38,
        "bb_width_pct": 0.394
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T17-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T17:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4588.465,
      "stop": 4594.625,
      "target": 4576.145,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.67,
        "bb_width_pct": 0.375
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T17-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T17:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4588.465,
      "stop": 4589.8,
      "target": 4585.794,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.67,
        "bb_width_pct": 0.375
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T17-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T17:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4595.255,
      "stop": 4599.507,
      "target": 4586.75,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.15,
        "bb_width_pct": 0.381
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T17-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T17:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4593.73,
      "stop": 4596.927,
      "target": 4587.336,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.35,
        "bb_width_pct": 0.39
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T17-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T17:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4593.73,
      "stop": 4602.352,
      "target": 4576.485,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.35,
        "bb_width_pct": 0.39
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T17-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T17:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4593.73,
      "stop": 4596.912,
      "target": 4587.365,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.35,
        "bb_width_pct": 0.39
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T17-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T17:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4598.64,
      "stop": 4603.699,
      "target": 4588.522,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 25.22,
        "bb_width_pct": 0.46
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T17-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T17:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4599.175,
      "stop": 4604.124,
      "target": 4589.277,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.2,
        "bb_width_pct": 0.493
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T17-45-00Z_short_rsi_range_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T17:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4598.27,
      "stop": 4602.443,
      "target": 4589.924,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 20.63,
        "bb_width_pct": 0.514
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T17-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T17:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4598.27,
      "stop": 4607.688,
      "target": 4579.435,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 20.63,
        "bb_width_pct": 0.514
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T17-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T17:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4597.395,
      "stop": 4606.375,
      "target": 4579.435,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.01,
        "bb_width_pct": 0.524
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T17-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T17:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4597.395,
      "stop": 4600.341,
      "target": 4591.502,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.01,
        "bb_width_pct": 0.524
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T17-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T17:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4594.945,
      "stop": 4602.7,
      "target": 4579.435,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.31,
        "bb_width_pct": 0.493
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T18-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T18:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4594.005,
      "stop": 4601.267,
      "target": 4579.48,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.88,
        "bb_width_pct": 0.459
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T18-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T18:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4594.005,
      "stop": 4594.989,
      "target": 4592.037,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.88,
        "bb_width_pct": 0.459
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T18-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T18:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4596.005,
      "stop": 4603.529,
      "target": 4580.958,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.92,
        "bb_width_pct": 0.37
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T18-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T18:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4599.42,
      "stop": 4602.203,
      "target": 4593.853,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.77,
        "bb_width_pct": 0.303
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T18-25-00Z_short_rsi_range_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T18:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4599.07,
      "stop": 4600.986,
      "target": 4595.239,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 7.05,
        "bb_width_pct": 0.269
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T18-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T18:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4599.07,
      "stop": 4606.479,
      "target": 4584.253,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.05,
        "bb_width_pct": 0.269
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T18-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T18:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4599.07,
      "stop": 4601.43,
      "target": 4594.35,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.05,
        "bb_width_pct": 0.269
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T18-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4595.155,
      "stop": 4600.606,
      "target": 4584.253,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.8,
        "bb_width_pct": 0.266
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T18-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T18:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4595.45,
      "stop": 4600.021,
      "target": 4586.307,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.11,
        "bb_width_pct": 0.216
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T19-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T19:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4598.635,
      "stop": 4599.558,
      "target": 4596.789,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.68,
        "bb_width_pct": 0.123
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T19-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T19:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4598.635,
      "stop": 4602.408,
      "target": 4591.09,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.68,
        "bb_width_pct": 0.123
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T19-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T19:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4598.635,
      "stop": 4599.86,
      "target": 4596.184,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.68,
        "bb_width_pct": 0.123
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T19-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T19:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4598.0,
      "stop": 4601.455,
      "target": 4591.09,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.61,
        "bb_width_pct": 0.125
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T19-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T19:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4595.42,
      "stop": 4594.709,
      "target": 4596.841,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.21,
        "bb_width_pct": 0.127
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T19-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T19:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4595.42,
      "stop": 4597.585,
      "target": 4591.09,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.21,
        "bb_width_pct": 0.127
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T20-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T20:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4592.875,
      "stop": 4591.315,
      "target": 4595.996,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.8,
        "bb_width_pct": 0.131
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T20-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T20:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4593.02,
      "stop": 4591.496,
      "target": 4596.068,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.26,
        "bb_width_pct": 0.14
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T20-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T20:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4593.02,
      "stop": 4591.674,
      "target": 4595.712,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.26,
        "bb_width_pct": 0.14
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T22-45-00Z_long_vwap_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T22:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4594.095,
      "stop": 4592.085,
      "target": 4598.115,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.99,
        "bb_width_pct": 0.141
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T22-50-00Z_long_vwap_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T22:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4595.085,
      "stop": 4593.624,
      "target": 4598.007,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.89,
        "bb_width_pct": 0.133
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T23-10-00Z_long_rsi_range_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4590.95,
      "stop": 4588.988,
      "target": 4594.873,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.21,
        "bb_width_pct": 0.165
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T23-10-00Z_long_vwap_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4590.95,
      "stop": 4587.708,
      "target": 4597.435,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.21,
        "bb_width_pct": 0.165
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T23-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4590.95,
      "stop": 4588.661,
      "target": 4595.528,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 13.21,
        "bb_width_pct": 0.165
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T23-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4590.95,
      "stop": 4589.233,
      "target": 4594.383,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.21,
        "bb_width_pct": 0.165
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T23-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4592.025,
      "stop": 4590.665,
      "target": 4594.744,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.9,
        "bb_width_pct": 0.174
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T23-15-00Z_long_vwap_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4592.025,
      "stop": 4589.392,
      "target": 4597.29,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.9,
        "bb_width_pct": 0.174
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T23-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4592.025,
      "stop": 4590.657,
      "target": 4594.76,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 13.9,
        "bb_width_pct": 0.174
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T23-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4592.025,
      "stop": 4590.958,
      "target": 4594.159,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.9,
        "bb_width_pct": 0.174
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T23-20-00Z_long_vwap_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T23:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4592.25,
      "stop": 4589.794,
      "target": 4597.162,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.94,
        "bb_width_pct": 0.179
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T23-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T23:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4592.33,
      "stop": 4591.18,
      "target": 4594.631,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.43,
        "bb_width_pct": 0.183
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T23-25-00Z_long_vwap_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T23:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4592.33,
      "stop": 4589.979,
      "target": 4597.031,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.43,
        "bb_width_pct": 0.183
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T23-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T23:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4592.33,
      "stop": 4591.115,
      "target": 4594.76,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.43,
        "bb_width_pct": 0.183
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T23-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T23:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4592.33,
      "stop": 4591.585,
      "target": 4593.82,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.43,
        "bb_width_pct": 0.183
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T23-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4590.02,
      "stop": 4588.251,
      "target": 4593.559,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.86,
        "bb_width_pct": 0.208
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T23-40-00Z_long_rsi_range_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4590.02,
      "stop": 4588.251,
      "target": 4593.559,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.86,
        "bb_width_pct": 0.208
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T23-40-00Z_long_vwap_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4590.02,
      "stop": 4586.74,
      "target": 4596.58,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.86,
        "bb_width_pct": 0.208
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T23-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4590.02,
      "stop": 4587.961,
      "target": 4594.138,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 11.86,
        "bb_width_pct": 0.208
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T23-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4590.02,
      "stop": 4588.629,
      "target": 4592.801,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.86,
        "bb_width_pct": 0.208
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T23-50-00Z_long_vwap_mean_reversion",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T23:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4592.48,
      "stop": 4590.55,
      "target": 4596.34,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.34,
        "bb_width_pct": 0.211
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-28T23-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T23:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4592.48,
      "stop": 4591.651,
      "target": 4594.138,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.34,
        "bb_width_pct": 0.211
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T00-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T00:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4600.79,
      "stop": 4603.691,
      "target": 4594.989,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.03,
        "bb_width_pct": 0.51
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T00-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T00:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4600.79,
      "stop": 4601.528,
      "target": 4599.315,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.03,
        "bb_width_pct": 0.51
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T00-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T00:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4600.79,
      "stop": 4602.681,
      "target": 4597.007,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.03,
        "bb_width_pct": 0.51
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T00-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T00:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4600.2,
      "stop": 4601.403,
      "target": 4597.793,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.29,
        "bb_width_pct": 0.535
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T01-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T01:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4585.565,
      "stop": 4580.012,
      "target": 4596.671,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.83,
        "bb_width_pct": 0.739
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T01-15-00Z_long_rsi_range_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T01:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4585.565,
      "stop": 4580.012,
      "target": 4596.671,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.83,
        "bb_width_pct": 0.739
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T01-15-00Z_long_vwap_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T01:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4585.565,
      "stop": 4579.358,
      "target": 4597.98,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.83,
        "bb_width_pct": 0.739
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T01-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T01:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4585.565,
      "stop": 4581.784,
      "target": 4593.128,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 25.83,
        "bb_width_pct": 0.739
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T01-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T01:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4585.565,
      "stop": 4581.37,
      "target": 4593.954,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.83,
        "bb_width_pct": 0.739
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T01-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T01:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4585.215,
      "stop": 4581.261,
      "target": 4593.122,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.24,
        "bb_width_pct": 0.76
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T01-30-00Z_long_vwap_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4586.38,
      "stop": 4581.701,
      "target": 4595.737,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.82,
        "bb_width_pct": 0.825
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T01-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4586.38,
      "stop": 4583.006,
      "target": 4593.128,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.82,
        "bb_width_pct": 0.825
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T01-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4586.38,
      "stop": 4583.862,
      "target": 4591.416,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.82,
        "bb_width_pct": 0.825
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T02-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T02:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4601.135,
      "stop": 4606.087,
      "target": 4591.231,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.63,
        "bb_width_pct": 0.709
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T02-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T02:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4601.46,
      "stop": 4606.087,
      "target": 4592.205,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.09,
        "bb_width_pct": 0.698
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T02-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T02:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4599.095,
      "stop": 4601.941,
      "target": 4593.402,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.1,
        "bb_width_pct": 0.66
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T03-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T03:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4601.96,
      "stop": 4604.95,
      "target": 4595.981,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.86,
        "bb_width_pct": 0.537
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T03-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4600.12,
      "stop": 4601.992,
      "target": 4596.375,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.71,
        "bb_width_pct": 0.509
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T03-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T03:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4594.06,
      "stop": 4592.059,
      "target": 4598.062,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.01,
        "bb_width_pct": 0.217
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T04-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T04:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4600.995,
      "stop": 4602.854,
      "target": 4597.278,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.79,
        "bb_width_pct": 0.228
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T04-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T04:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4600.995,
      "stop": 4603.005,
      "target": 4596.975,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.79,
        "bb_width_pct": 0.228
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T04-15-00Z_short_vwap_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T04:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4600.02,
      "stop": 4602.107,
      "target": 4595.846,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.28,
        "bb_width_pct": 0.233
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T04-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T04:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4600.02,
      "stop": 4605.02,
      "target": 4590.02,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.28,
        "bb_width_pct": 0.233
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T04-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4599.18,
      "stop": 4603.76,
      "target": 4590.02,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.25,
        "bb_width_pct": 0.235
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T04-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T04:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4602.57,
      "stop": 4604.769,
      "target": 4598.172,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.02,
        "bb_width_pct": 0.245
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T04-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T04:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4602.57,
      "stop": 4604.699,
      "target": 4598.313,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.02,
        "bb_width_pct": 0.245
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T04-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4603.135,
      "stop": 4605.381,
      "target": 4598.644,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.43,
        "bb_width_pct": 0.246
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T04-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4603.135,
      "stop": 4605.316,
      "target": 4598.772,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.43,
        "bb_width_pct": 0.246
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T04-40-00Z_short_vwap_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4602.14,
      "stop": 4605.026,
      "target": 4596.369,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 16.12,
        "bb_width_pct": 0.252
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T04-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4602.14,
      "stop": 4606.935,
      "target": 4592.55,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 16.12,
        "bb_width_pct": 0.252
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T04-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4602.14,
      "stop": 4603.664,
      "target": 4599.093,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.12,
        "bb_width_pct": 0.252
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T04-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4603.965,
      "stop": 4606.169,
      "target": 4599.557,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 23.39,
        "bb_width_pct": 0.27
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T04-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T04:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4604.39,
      "stop": 4606.576,
      "target": 4600.017,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 27.41,
        "bb_width_pct": 0.283
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T05-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4604.765,
      "stop": 4607.282,
      "target": 4599.731,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.29,
        "bb_width_pct": 0.318
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T05-00-00Z_short_rsi_range_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4604.765,
      "stop": 4607.282,
      "target": 4599.731,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 21.29,
        "bb_width_pct": 0.318
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T05-00-00Z_short_vwap_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4604.765,
      "stop": 4608.703,
      "target": 4596.889,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 21.29,
        "bb_width_pct": 0.318
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T05-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4604.765,
      "stop": 4610.558,
      "target": 4593.18,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 21.29,
        "bb_width_pct": 0.318
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T05-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4604.765,
      "stop": 4606.706,
      "target": 4600.884,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.29,
        "bb_width_pct": 0.318
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T05-05-00Z_short_rsi_range_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4602.245,
      "stop": 4603.414,
      "target": 4599.907,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 10.33,
        "bb_width_pct": 0.321
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T05-05-00Z_short_vwap_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4602.245,
      "stop": 4604.87,
      "target": 4596.995,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.33,
        "bb_width_pct": 0.321
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T05-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4602.245,
      "stop": 4606.305,
      "target": 4594.125,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.33,
        "bb_width_pct": 0.321
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T05-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4602.245,
      "stop": 4602.861,
      "target": 4601.013,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.33,
        "bb_width_pct": 0.321
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T05-10-00Z_short_vwap_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4601.32,
      "stop": 4603.446,
      "target": 4597.068,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.11,
        "bb_width_pct": 0.317
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T05-15-00Z_short_vwap_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4601.09,
      "stop": 4603.066,
      "target": 4597.139,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.23,
        "bb_width_pct": 0.302
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T05-35-00Z_long_rsi_range_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4595.46,
      "stop": 4592.649,
      "target": 4601.081,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.42,
        "bb_width_pct": 0.229
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T05-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4595.46,
      "stop": 4593.191,
      "target": 4599.998,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 16.42,
        "bb_width_pct": 0.229
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T05-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4595.46,
      "stop": 4593.232,
      "target": 4599.917,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.42,
        "bb_width_pct": 0.229
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T05-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4599.02,
      "stop": 4597.958,
      "target": 4601.144,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.08,
        "bb_width_pct": 0.223
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T06-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4597.11,
      "stop": 4595.465,
      "target": 4600.4,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.03,
        "bb_width_pct": 0.305
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T06-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4597.11,
      "stop": 4596.04,
      "target": 4599.25,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 13.03,
        "bb_width_pct": 0.305
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T06-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4597.11,
      "stop": 4596.354,
      "target": 4598.622,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.03,
        "bb_width_pct": 0.305
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T06-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4592.725,
      "stop": 4589.115,
      "target": 4599.945,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.86,
        "bb_width_pct": 0.336
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T06-25-00Z_long_rsi_range_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T06:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4585.22,
      "stop": 4579.532,
      "target": 4596.595,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.94,
        "bb_width_pct": 0.55
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T06-25-00Z_long_vwap_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T06:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4585.22,
      "stop": 4579.515,
      "target": 4596.63,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.94,
        "bb_width_pct": 0.55
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T06-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T06:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4585.22,
      "stop": 4580.544,
      "target": 4594.573,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 20.94,
        "bb_width_pct": 0.55
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T06-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4585.36,
      "stop": 4580.752,
      "target": 4594.577,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.64,
        "bb_width_pct": 0.58
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T06-35-00Z_long_rsi_range_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4585.36,
      "stop": 4580.752,
      "target": 4594.577,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.64,
        "bb_width_pct": 0.58
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T06-35-00Z_long_vwap_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4585.36,
      "stop": 4579.88,
      "target": 4596.319,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.64,
        "bb_width_pct": 0.58
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T06-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4585.36,
      "stop": 4580.754,
      "target": 4594.573,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 13.64,
        "bb_width_pct": 0.58
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T06-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4585.36,
      "stop": 4581.862,
      "target": 4592.355,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.64,
        "bb_width_pct": 0.58
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T06-45-00Z_long_vwap_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T06:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4585.3,
      "stop": 4579.919,
      "target": 4596.063,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.59,
        "bb_width_pct": 0.562
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T06-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T06:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4585.3,
      "stop": 4580.788,
      "target": 4594.325,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 19.59,
        "bb_width_pct": 0.562
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T06-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T06:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4583.835,
      "stop": 4580.566,
      "target": 4590.374,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.54,
        "bb_width_pct": 0.559
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T06-55-00Z_long_rsi_range_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T06:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4584.665,
      "stop": 4581.471,
      "target": 4591.053,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.55,
        "bb_width_pct": 0.543
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T06-55-00Z_long_vwap_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T06:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4584.665,
      "stop": 4579.11,
      "target": 4595.774,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.55,
        "bb_width_pct": 0.543
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T06-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T06:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4584.665,
      "stop": 4579.835,
      "target": 4594.325,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 18.55,
        "bb_width_pct": 0.543
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T07-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T07:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4588.28,
      "stop": 4585.257,
      "target": 4594.325,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.18,
        "bb_width_pct": 0.516
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T07-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T07:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4575.065,
      "stop": 4569.953,
      "target": 4585.289,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.77,
        "bb_width_pct": 0.531
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T07-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4577.905,
      "stop": 4572.546,
      "target": 4588.623,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.99,
        "bb_width_pct": 0.489
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T07-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4577.905,
      "stop": 4574.829,
      "target": 4584.058,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.99,
        "bb_width_pct": 0.489
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T07-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T07:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4571.79,
      "stop": 4566.014,
      "target": 4583.343,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.59,
        "bb_width_pct": 0.523
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T07-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T07:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4570.455,
      "stop": 4565.234,
      "target": 4580.897,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.2,
        "bb_width_pct": 0.499
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T08-00-00Z_long_rsi_range_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4568.925,
      "stop": 4564.253,
      "target": 4578.269,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.67,
        "bb_width_pct": 0.566
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T08-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4568.925,
      "stop": 4559.614,
      "target": 4587.548,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 20.67,
        "bb_width_pct": 0.566
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T08-15-00Z_long_rsi_range_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T08:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4569.665,
      "stop": 4566.64,
      "target": 4575.716,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.44,
        "bb_width_pct": 0.596
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T08-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T08:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4569.665,
      "stop": 4561.4,
      "target": 4586.195,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.44,
        "bb_width_pct": 0.596
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T08-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T08:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4569.665,
      "stop": 4566.974,
      "target": 4575.047,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.44,
        "bb_width_pct": 0.596
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T08-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T08:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4568.485,
      "stop": 4565.517,
      "target": 4574.422,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.11,
        "bb_width_pct": 0.579
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T08-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4562.28,
      "stop": 4557.547,
      "target": 4571.747,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.83,
        "bb_width_pct": 0.547
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T08-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T08:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4568.315,
      "stop": 4562.295,
      "target": 4580.355,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.5,
        "bb_width_pct": 0.438
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T08-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T08:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4568.315,
      "stop": 4566.826,
      "target": 4571.294,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.5,
        "bb_width_pct": 0.438
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T09-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T09:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4572.155,
      "stop": 4573.22,
      "target": 4570.026,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.25,
        "bb_width_pct": 0.361
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T09-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4564.685,
      "stop": 4561.496,
      "target": 4571.063,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.6,
        "bb_width_pct": 0.383
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T09-45-00Z_long_vwap_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T09:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4559.805,
      "stop": 4554.072,
      "target": 4571.272,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.03,
        "bb_width_pct": 0.466
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T09-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T09:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4559.805,
      "stop": 4553.11,
      "target": 4573.195,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 11.03,
        "bb_width_pct": 0.466
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T09-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T09:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4555.78,
      "stop": 4549.975,
      "target": 4567.391,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.74,
        "bb_width_pct": 0.576
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T09-55-00Z_long_vwap_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T09:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4555.78,
      "stop": 4548.478,
      "target": 4570.384,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.74,
        "bb_width_pct": 0.576
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T09-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T09:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4555.78,
      "stop": 4548.5,
      "target": 4570.34,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 24.74,
        "bb_width_pct": 0.576
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T10-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T10:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4562.235,
      "stop": 4558.182,
      "target": 4570.34,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 13.72,
        "bb_width_pct": 0.584
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T10-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T10:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4562.235,
      "stop": 4560.29,
      "target": 4566.125,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.72,
        "bb_width_pct": 0.584
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T10-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T10:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4573.47,
      "stop": 4576.098,
      "target": 4568.214,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.43,
        "bb_width_pct": 0.573
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T11-00-00Z_short_rsi_range_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4568.31,
      "stop": 4569.413,
      "target": 4566.104,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 18.42,
        "bb_width_pct": 0.449
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T11-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T11:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4563.79,
      "stop": 4561.504,
      "target": 4568.361,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.09,
        "bb_width_pct": 0.211
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T11-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T11:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4561.695,
      "stop": 4558.793,
      "target": 4567.5,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.48,
        "bb_width_pct": 0.275
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T11-55-00Z_long_vwap_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T11:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4561.695,
      "stop": 4558.869,
      "target": 4567.348,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.48,
        "bb_width_pct": 0.275
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T12-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4563.62,
      "stop": 4561.882,
      "target": 4567.096,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.89,
        "bb_width_pct": 0.271
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T12-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T12:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4564.68,
      "stop": 4563.914,
      "target": 4566.213,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.96,
        "bb_width_pct": 0.227
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T12-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T12:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4555.94,
      "stop": 4550.957,
      "target": 4565.905,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 16.19,
        "bb_width_pct": 0.332
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T12-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T12:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4555.94,
      "stop": 4552.374,
      "target": 4563.072,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.19,
        "bb_width_pct": 0.332
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T12-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T12:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4557.625,
      "stop": 4554.667,
      "target": 4563.542,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.86,
        "bb_width_pct": 0.343
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T12-40-00Z_long_rsi_range_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T12:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4557.625,
      "stop": 4554.667,
      "target": 4563.542,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.86,
        "bb_width_pct": 0.343
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T12-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T12:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4557.625,
      "stop": 4554.539,
      "target": 4563.798,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.86,
        "bb_width_pct": 0.343
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T12-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T12:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4557.625,
      "stop": 4555.161,
      "target": 4562.553,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.86,
        "bb_width_pct": 0.343
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T13-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4548.065,
      "stop": 4542.212,
      "target": 4559.771,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.56,
        "bb_width_pct": 0.599
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T13-00-00Z_long_vwap_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4548.065,
      "stop": 4543.197,
      "target": 4557.801,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.56,
        "bb_width_pct": 0.599
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T13-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4548.065,
      "stop": 4542.537,
      "target": 4559.12,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.56,
        "bb_width_pct": 0.599
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T13-10-00Z_long_rsi_range_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T13:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4549.865,
      "stop": 4545.819,
      "target": 4557.957,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.75,
        "bb_width_pct": 0.636
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T13-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T13:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4549.865,
      "stop": 4545.237,
      "target": 4559.12,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.75,
        "bb_width_pct": 0.636
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T13-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T13:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4549.865,
      "stop": 4546.74,
      "target": 4556.114,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.75,
        "bb_width_pct": 0.636
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T13-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T13:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4537.75,
      "stop": 4529.604,
      "target": 4554.042,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.58,
        "bb_width_pct": 0.769
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T15-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T15:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4551.205,
      "stop": 4557.947,
      "target": 4537.722,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.0,
        "bb_width_pct": 0.63
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T15-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T15:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4553.225,
      "stop": 4560.286,
      "target": 4539.103,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.67,
        "bb_width_pct": 0.647
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T15-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T15:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4546.825,
      "stop": 4549.312,
      "target": 4541.851,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.42,
        "bb_width_pct": 0.516
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T15-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T15:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4546.825,
      "stop": 4552.661,
      "target": 4535.153,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.42,
        "bb_width_pct": 0.516
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T15-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T15:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4546.825,
      "stop": 4548.586,
      "target": 4543.303,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.42,
        "bb_width_pct": 0.516
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T16-05-00Z_short_rsi_range_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T16:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4561.145,
      "stop": 4569.129,
      "target": 4545.178,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 16.97,
        "bb_width_pct": 0.662
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T16-05-00Z_short_vwap_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T16:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4561.145,
      "stop": 4569.969,
      "target": 4543.498,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 16.97,
        "bb_width_pct": 0.662
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T16-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T16:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4561.145,
      "stop": 4573.101,
      "target": 4537.233,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 16.97,
        "bb_width_pct": 0.662
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T16-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T16:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4559.28,
      "stop": 4565.843,
      "target": 4546.155,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.16,
        "bb_width_pct": 0.704
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T16-10-00Z_short_vwap_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T16:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4559.28,
      "stop": 4567.008,
      "target": 4543.825,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 18.16,
        "bb_width_pct": 0.704
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T16-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T16:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4559.28,
      "stop": 4570.15,
      "target": 4537.54,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.16,
        "bb_width_pct": 0.704
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T16-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T16:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4559.28,
      "stop": 4564.847,
      "target": 4548.145,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.16,
        "bb_width_pct": 0.704
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T16-25-00Z_short_rsi_range_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T16:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4560.23,
      "stop": 4565.52,
      "target": 4549.65,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 16.42,
        "bb_width_pct": 0.747
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T16-25-00Z_short_vwap_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T16:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4560.23,
      "stop": 4567.965,
      "target": 4544.759,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 16.42,
        "bb_width_pct": 0.747
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T16-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T16:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4560.23,
      "stop": 4571.575,
      "target": 4537.54,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 16.42,
        "bb_width_pct": 0.747
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T16-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T16:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4560.23,
      "stop": 4564.615,
      "target": 4551.46,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.42,
        "bb_width_pct": 0.747
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T16-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T16:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4550.7,
      "stop": 4557.28,
      "target": 4537.54,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.84,
        "bb_width_pct": 0.717
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T17-35-00Z_long_rsi_range_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T17:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4545.48,
      "stop": 4542.193,
      "target": 4552.054,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.31,
        "bb_width_pct": 0.552
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T18-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T18:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4541.29,
      "stop": 4537.998,
      "target": 4547.873,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.95,
        "bb_width_pct": 0.37
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T18-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T18:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4541.29,
      "stop": 4538.414,
      "target": 4547.042,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.95,
        "bb_width_pct": 0.37
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T18-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T18:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4531.88,
      "stop": 4525.645,
      "target": 4544.35,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.25,
        "bb_width_pct": 0.591
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T18-15-00Z_long_rsi_range_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T18:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4531.88,
      "stop": 4525.645,
      "target": 4544.35,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.25,
        "bb_width_pct": 0.591
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T18-15-00Z_long_vwap_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T18:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4531.88,
      "stop": 4525.717,
      "target": 4544.206,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.25,
        "bb_width_pct": 0.591
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T18-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T18:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4531.88,
      "stop": 4525.246,
      "target": 4545.148,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 20.25,
        "bb_width_pct": 0.591
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T18-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T18:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4533.06,
      "stop": 4529.015,
      "target": 4541.149,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.33,
        "bb_width_pct": 0.629
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T18-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T18:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4529.175,
      "stop": 4523.283,
      "target": 4540.959,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.77,
        "bb_width_pct": 0.782
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T18-35-00Z_long_vwap_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T18:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4529.175,
      "stop": 4522.986,
      "target": 4541.553,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.77,
        "bb_width_pct": 0.782
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T18-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T18:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4529.175,
      "stop": 4522.354,
      "target": 4542.817,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.77,
        "bb_width_pct": 0.782
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T18-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T18:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4529.175,
      "stop": 4524.597,
      "target": 4538.332,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.77,
        "bb_width_pct": 0.782
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T18-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T18:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4528.895,
      "stop": 4524.024,
      "target": 4538.636,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.11,
        "bb_width_pct": 0.86
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T18-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T18:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4528.895,
      "stop": 4521.934,
      "target": 4542.817,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.11,
        "bb_width_pct": 0.86
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T18-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T18:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4528.895,
      "stop": 4525.384,
      "target": 4535.917,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.11,
        "bb_width_pct": 0.86
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T19-50-00Z_short_rsi_range_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T19:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4548.025,
      "stop": 4553.34,
      "target": 4537.395,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 19.2,
        "bb_width_pct": 0.713
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T19-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T19:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4548.025,
      "stop": 4553.797,
      "target": 4536.48,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 19.2,
        "bb_width_pct": 0.713
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T19-55-00Z_short_rsi_range_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T19:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4546.93,
      "stop": 4551.321,
      "target": 4538.148,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 16.0,
        "bb_width_pct": 0.726
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T19-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T19:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4546.93,
      "stop": 4552.155,
      "target": 4536.48,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 16.0,
        "bb_width_pct": 0.726
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T20-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T20:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4552.51,
      "stop": 4557.17,
      "target": 4543.191,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.16,
        "bb_width_pct": 0.78
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T20-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T20:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4546.8,
      "stop": 4551.96,
      "target": 4536.48,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.29,
        "bb_width_pct": 0.699
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T22-05-00Z_long_vwap_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T22:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4546.16,
      "stop": 4536.539,
      "target": 4565.402,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.17,
        "bb_width_pct": 0.289
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T22-10-00Z_long_vwap_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T22:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4546.825,
      "stop": 4537.876,
      "target": 4564.722,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.81,
        "bb_width_pct": 0.271
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T22-15-00Z_long_vwap_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T22:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4549.975,
      "stop": 4542.882,
      "target": 4564.162,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.07,
        "bb_width_pct": 0.276
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T22-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T22:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4549.975,
      "stop": 4552.74,
      "target": 4544.445,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.07,
        "bb_width_pct": 0.276
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T22-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T22:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4549.49,
      "stop": 4556.188,
      "target": 4536.095,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.89,
        "bb_width_pct": 0.262
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T22-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T22:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4549.49,
      "stop": 4551.772,
      "target": 4544.925,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.89,
        "bb_width_pct": 0.262
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T22-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T22:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4549.21,
      "stop": 4555.767,
      "target": 4536.095,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.01,
        "bb_width_pct": 0.266
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T22-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T22:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4549.21,
      "stop": 4551.148,
      "target": 4545.333,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.01,
        "bb_width_pct": 0.266
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T22-30-00Z_long_vwap_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T22:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4549.915,
      "stop": 4543.493,
      "target": 4562.758,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.34,
        "bb_width_pct": 0.274
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T22-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T22:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4549.915,
      "stop": 4551.988,
      "target": 4545.77,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.34,
        "bb_width_pct": 0.274
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T22-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T22:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4548.62,
      "stop": 4554.882,
      "target": 4536.095,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.06,
        "bb_width_pct": 0.278
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T22-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T22:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4548.485,
      "stop": 4554.68,
      "target": 4536.095,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.03,
        "bb_width_pct": 0.281
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T22-45-00Z_long_vwap_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T22:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4551.525,
      "stop": 4546.503,
      "target": 4561.568,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.56,
        "bb_width_pct": 0.273
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T22-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T22:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4551.525,
      "stop": 4553.901,
      "target": 4546.774,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.56,
        "bb_width_pct": 0.273
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T22-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T22:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4550.715,
      "stop": 4558.025,
      "target": 4536.095,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 21.13,
        "bb_width_pct": 0.287
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T22-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T22:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4550.715,
      "stop": 4552.498,
      "target": 4547.149,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.13,
        "bb_width_pct": 0.287
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T22-55-00Z_long_vwap_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T22:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4552.2,
      "stop": 4547.798,
      "target": 4561.004,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.36,
        "bb_width_pct": 0.306
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T22-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T22:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4552.2,
      "stop": 4554.485,
      "target": 4547.63,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 23.36,
        "bb_width_pct": 0.306
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T23-00-00Z_long_vwap_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4553.245,
      "stop": 4549.471,
      "target": 4560.792,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.43,
        "bb_width_pct": 0.327
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T23-10-00Z_long_vwap_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4553.485,
      "stop": 4550.047,
      "target": 4560.361,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.01,
        "bb_width_pct": 0.34
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T23-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4551.535,
      "stop": 4555.429,
      "target": 4543.747,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.31,
        "bb_width_pct": 0.345
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T23-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4551.535,
      "stop": 4552.684,
      "target": 4549.236,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.31,
        "bb_width_pct": 0.345
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T23-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T23:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4550.925,
      "stop": 4554.251,
      "target": 4544.273,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.4,
        "bb_width_pct": 0.336
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T23-25-00Z_long_vwap_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T23:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4551.685,
      "stop": 4547.655,
      "target": 4559.745,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.91,
        "bb_width_pct": 0.313
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T23-30-00Z_long_vwap_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4552.695,
      "stop": 4549.253,
      "target": 4559.578,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.42,
        "bb_width_pct": 0.291
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T23-35-00Z_long_vwap_mean_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4554.61,
      "stop": 4552.19,
      "target": 4559.449,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.59,
        "bb_width_pct": 0.281
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T23-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4554.555,
      "stop": 4558.594,
      "target": 4546.477,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.19,
        "bb_width_pct": 0.2
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T23-50-00Z_short_rsi_range_reversion",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T23:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4557.94,
      "stop": 4560.89,
      "target": 4552.04,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 17.33,
        "bb_width_pct": 0.232
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-29T23-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T23:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4557.94,
      "stop": 4562.895,
      "target": 4548.03,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.33,
        "bb_width_pct": 0.232
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T00-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4559.25,
      "stop": 4562.318,
      "target": 4553.113,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.16,
        "bb_width_pct": 0.311
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T00-00-00Z_short_rsi_range_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4559.25,
      "stop": 4562.318,
      "target": 4553.113,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 15.16,
        "bb_width_pct": 0.311
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T00-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4559.25,
      "stop": 4563.515,
      "target": 4550.72,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.16,
        "bb_width_pct": 0.311
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T00-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T00:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4558.075,
      "stop": 4560.03,
      "target": 4554.164,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.46,
        "bb_width_pct": 0.345
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T00-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T00:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4558.075,
      "stop": 4559.741,
      "target": 4554.743,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.46,
        "bb_width_pct": 0.345
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T00-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T00:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4561.77,
      "stop": 4565.244,
      "target": 4554.822,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.97,
        "bb_width_pct": 0.355
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T00-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T00:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4561.77,
      "stop": 4564.949,
      "target": 4555.412,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.97,
        "bb_width_pct": 0.355
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T00-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4564.48,
      "stop": 4568.345,
      "target": 4556.749,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.74,
        "bb_width_pct": 0.39
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T00-55-00Z_short_rsi_range_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T00:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4569.99,
      "stop": 4574.445,
      "target": 4561.079,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 16.82,
        "bb_width_pct": 0.565
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T00-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T00:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4569.99,
      "stop": 4576.502,
      "target": 4556.965,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 16.82,
        "bb_width_pct": 0.565
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T00-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T00:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4569.99,
      "stop": 4573.777,
      "target": 4562.415,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.82,
        "bb_width_pct": 0.565
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T01-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4568.165,
      "stop": 4573.765,
      "target": 4556.965,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.83,
        "bb_width_pct": 0.541
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T01-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4568.165,
      "stop": 4570.766,
      "target": 4562.963,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.83,
        "bb_width_pct": 0.541
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T01-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T01:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4569.32,
      "stop": 4575.489,
      "target": 4556.983,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.31,
        "bb_width_pct": 0.427
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T01-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T01:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4569.32,
      "stop": 4571.527,
      "target": 4564.905,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.31,
        "bb_width_pct": 0.427
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T01-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4577.48,
      "stop": 4582.691,
      "target": 4567.058,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.95,
        "bb_width_pct": 0.504
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T01-30-00Z_short_rsi_range_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4577.48,
      "stop": 4582.691,
      "target": 4567.058,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 20.95,
        "bb_width_pct": 0.504
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T01-30-00Z_short_vwap_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4577.48,
      "stop": 4582.673,
      "target": 4567.095,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 20.95,
        "bb_width_pct": 0.504
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T01-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4577.48,
      "stop": 4584.305,
      "target": 4563.83,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 20.95,
        "bb_width_pct": 0.504
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T01-35-00Z_short_vwap_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T01:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4575.78,
      "stop": 4579.932,
      "target": 4567.476,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 16.42,
        "bb_width_pct": 0.518
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T01-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T01:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4575.78,
      "stop": 4581.45,
      "target": 4564.44,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 16.42,
        "bb_width_pct": 0.518
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T01-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T01:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4576.26,
      "stop": 4579.917,
      "target": 4568.947,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.03,
        "bb_width_pct": 0.513
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T01-55-00Z_short_vwap_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T01:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4579.085,
      "stop": 4583.952,
      "target": 4569.35,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.34,
        "bb_width_pct": 0.525
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T01-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T01:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4579.085,
      "stop": 4586.086,
      "target": 4565.083,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.34,
        "bb_width_pct": 0.525
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T01-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T01:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4579.085,
      "stop": 4582.702,
      "target": 4571.852,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.34,
        "bb_width_pct": 0.525
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T02-00-00Z_short_vwap_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T02:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4577.325,
      "stop": 4581.128,
      "target": 4569.718,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.21,
        "bb_width_pct": 0.492
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T02-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T02:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4577.325,
      "stop": 4583.375,
      "target": 4565.225,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.21,
        "bb_width_pct": 0.492
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T02-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T02:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4577.325,
      "stop": 4579.801,
      "target": 4572.373,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.21,
        "bb_width_pct": 0.492
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T02-05-00Z_short_vwap_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T02:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4576.78,
      "stop": 4580.163,
      "target": 4570.014,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.36,
        "bb_width_pct": 0.466
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T02-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T02:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4576.78,
      "stop": 4582.142,
      "target": 4566.055,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.36,
        "bb_width_pct": 0.466
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T02-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T02:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4575.665,
      "stop": 4580.47,
      "target": 4566.055,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.66,
        "bb_width_pct": 0.417
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T02-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T02:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4563.8,
      "stop": 4558.634,
      "target": 4574.132,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.22,
        "bb_width_pct": 0.453
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T02-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T02:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4562.675,
      "stop": 4557.084,
      "target": 4573.858,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.19,
        "bb_width_pct": 0.491
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T02-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4561.99,
      "stop": 4556.146,
      "target": 4573.678,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.59,
        "bb_width_pct": 0.518
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T02-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T02:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4563.64,
      "stop": 4558.744,
      "target": 4573.432,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.43,
        "bb_width_pct": 0.545
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T02-50-00Z_long_rsi_range_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T02:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4563.64,
      "stop": 4558.744,
      "target": 4573.432,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.43,
        "bb_width_pct": 0.545
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T02-50-00Z_long_vwap_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T02:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4563.64,
      "stop": 4560.493,
      "target": 4569.934,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.43,
        "bb_width_pct": 0.545
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T02-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T02:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4563.64,
      "stop": 4560.529,
      "target": 4569.861,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.43,
        "bb_width_pct": 0.545
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T02-55-00Z_long_rsi_range_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T02:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4565.085,
      "stop": 4561.066,
      "target": 4573.123,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.67,
        "bb_width_pct": 0.566
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T03-00-00Z_long_rsi_range_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4567.08,
      "stop": 4564.115,
      "target": 4573.011,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.06,
        "bb_width_pct": 0.574
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T03-05-00Z_long_rsi_range_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T03:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4567.535,
      "stop": 4565.101,
      "target": 4572.403,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.82,
        "bb_width_pct": 0.567
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T03-15-00Z_long_rsi_range_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4565.73,
      "stop": 4562.951,
      "target": 4571.289,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.02,
        "bb_width_pct": 0.578
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T03-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4560.57,
      "stop": 4557.385,
      "target": 4566.94,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.54,
        "bb_width_pct": 0.542
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T03-40-00Z_long_vwap_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T03:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4561.735,
      "stop": 4558.297,
      "target": 4568.61,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.51,
        "bb_width_pct": 0.508
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T03-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T03:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4561.735,
      "stop": 4557.475,
      "target": 4570.255,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 3.51,
        "bb_width_pct": 0.508
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T03-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T03:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4561.735,
      "stop": 4559.718,
      "target": 4565.768,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.51,
        "bb_width_pct": 0.508
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T04-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4553.74,
      "stop": 4549.622,
      "target": 4561.975,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.27,
        "bb_width_pct": 0.372
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T04-05-00Z_long_rsi_range_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4553.74,
      "stop": 4549.622,
      "target": 4561.975,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.27,
        "bb_width_pct": 0.372
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T04-05-00Z_long_vwap_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4553.74,
      "stop": 4546.923,
      "target": 4567.374,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.27,
        "bb_width_pct": 0.372
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T04-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4553.74,
      "stop": 4547.214,
      "target": 4566.792,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 25.27,
        "bb_width_pct": 0.372
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T04-10-00Z_long_rsi_range_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T04:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4555.45,
      "stop": 4552.496,
      "target": 4561.358,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.61,
        "bb_width_pct": 0.372
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T04-10-00Z_long_vwap_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T04:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4555.45,
      "stop": 4549.608,
      "target": 4567.134,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.61,
        "bb_width_pct": 0.372
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T04-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T04:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4555.45,
      "stop": 4549.779,
      "target": 4566.792,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 23.61,
        "bb_width_pct": 0.372
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T04-40-00Z_long_rsi_range_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4544.82,
      "stop": 4539.192,
      "target": 4556.076,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.08,
        "bb_width_pct": 0.673
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T04-40-00Z_long_vwap_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4544.82,
      "stop": 4534.719,
      "target": 4565.022,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.08,
        "bb_width_pct": 0.673
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T04-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4544.82,
      "stop": 4536.352,
      "target": 4561.755,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 26.08,
        "bb_width_pct": 0.673
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T04-45-00Z_long_rsi_range_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4547.165,
      "stop": 4543.219,
      "target": 4555.058,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.82,
        "bb_width_pct": 0.652
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T04-45-00Z_long_vwap_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4547.165,
      "stop": 4538.39,
      "target": 4564.715,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.82,
        "bb_width_pct": 0.652
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T04-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4547.165,
      "stop": 4539.87,
      "target": 4561.755,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 25.82,
        "bb_width_pct": 0.652
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T04-50-00Z_long_rsi_range_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T04:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4547.33,
      "stop": 4543.914,
      "target": 4554.162,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.6,
        "bb_width_pct": 0.635
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T04-50-00Z_long_vwap_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T04:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4547.33,
      "stop": 4538.788,
      "target": 4564.415,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.6,
        "bb_width_pct": 0.635
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T04-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T04:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4547.33,
      "stop": 4540.118,
      "target": 4561.755,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 20.6,
        "bb_width_pct": 0.635
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T04-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T04:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4547.33,
      "stop": 4544.497,
      "target": 4552.997,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.6,
        "bb_width_pct": 0.635
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T05-00-00Z_long_vwap_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4546.76,
      "stop": 4538.251,
      "target": 4563.777,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.09,
        "bb_width_pct": 0.592
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T05-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4546.76,
      "stop": 4539.263,
      "target": 4561.755,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.09,
        "bb_width_pct": 0.592
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T05-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4546.76,
      "stop": 4544.41,
      "target": 4551.459,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.09,
        "bb_width_pct": 0.592
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T05-05-00Z_long_vwap_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4552.74,
      "stop": 4547.326,
      "target": 4563.568,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.28,
        "bb_width_pct": 0.547
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T05-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4552.74,
      "stop": 4548.233,
      "target": 4561.755,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.28,
        "bb_width_pct": 0.547
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T05-10-00Z_long_vwap_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4553.29,
      "stop": 4548.236,
      "target": 4563.398,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.71,
        "bb_width_pct": 0.518
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T05-15-00Z_long_vwap_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4553.715,
      "stop": 4548.952,
      "target": 4563.241,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.8,
        "bb_width_pct": 0.496
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T05-20-00Z_long_vwap_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4557.285,
      "stop": 4554.36,
      "target": 4563.134,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.07,
        "bb_width_pct": 0.465
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T05-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4565.82,
      "stop": 4572.23,
      "target": 4553.0,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 27.42,
        "bb_width_pct": 0.721
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T05-50-00Z_short_rsi_range_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4565.82,
      "stop": 4572.23,
      "target": 4553.0,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 27.42,
        "bb_width_pct": 0.721
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T05-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4565.82,
      "stop": 4571.106,
      "target": 4555.247,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 27.42,
        "bb_width_pct": 0.721
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T05-55-00Z_short_rsi_range_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T05:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4562.69,
      "stop": 4567.284,
      "target": 4553.502,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 22.82,
        "bb_width_pct": 0.744
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T05-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T05:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4562.69,
      "stop": 4566.336,
      "target": 4555.398,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 22.82,
        "bb_width_pct": 0.744
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T05-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T05:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4562.69,
      "stop": 4564.964,
      "target": 4558.141,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.82,
        "bb_width_pct": 0.744
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T06-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4562.055,
      "stop": 4565.384,
      "target": 4555.398,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 27.66,
        "bb_width_pct": 0.759
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T06-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4562.055,
      "stop": 4563.825,
      "target": 4558.514,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 27.66,
        "bb_width_pct": 0.759
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T06-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T06:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4566.06,
      "stop": 4569.173,
      "target": 4559.833,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.56,
        "bb_width_pct": 0.749
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T06-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T06:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4567.05,
      "stop": 4570.315,
      "target": 4560.521,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.07,
        "bb_width_pct": 0.723
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T06-25-00Z_short_rsi_range_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T06:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4569.63,
      "stop": 4574.493,
      "target": 4559.904,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 17.5,
        "bb_width_pct": 0.707
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T06-25-00Z_short_vwap_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T06:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4569.63,
      "stop": 4572.751,
      "target": 4563.388,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 17.5,
        "bb_width_pct": 0.707
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T06-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T06:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4569.63,
      "stop": 4576.438,
      "target": 4556.015,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.5,
        "bb_width_pct": 0.707
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T06-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T06:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4569.63,
      "stop": 4573.303,
      "target": 4562.284,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.5,
        "bb_width_pct": 0.707
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T06-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4575.555,
      "stop": 4581.8,
      "target": 4563.064,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.42,
        "bb_width_pct": 0.668
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T06-35-00Z_short_rsi_range_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4575.555,
      "stop": 4581.8,
      "target": 4563.064,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 18.42,
        "bb_width_pct": 0.668
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T06-35-00Z_short_vwap_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4575.555,
      "stop": 4581.484,
      "target": 4563.697,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 18.42,
        "bb_width_pct": 0.668
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T06-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4575.555,
      "stop": 4583.488,
      "target": 4559.69,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.42,
        "bb_width_pct": 0.668
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T06-40-00Z_short_rsi_range_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T06:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4575.3,
      "stop": 4580.704,
      "target": 4564.491,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 14.0,
        "bb_width_pct": 0.621
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T06-40-00Z_short_vwap_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T06:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4575.3,
      "stop": 4581.035,
      "target": 4563.83,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.0,
        "bb_width_pct": 0.621
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T06-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T06:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4575.3,
      "stop": 4583.087,
      "target": 4559.725,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.0,
        "bb_width_pct": 0.621
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T07-20-00Z_short_rsi_range_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T07:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4588.06,
      "stop": 4593.949,
      "target": 4576.283,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 27.25,
        "bb_width_pct": 0.909
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T07-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T07:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4588.06,
      "stop": 4597.901,
      "target": 4568.378,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 27.25,
        "bb_width_pct": 0.909
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T07-30-00Z_short_rsi_range_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4589.085,
      "stop": 4594.293,
      "target": 4578.668,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 25.45,
        "bb_width_pct": 0.928
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T07-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4589.085,
      "stop": 4599.439,
      "target": 4568.378,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 25.45,
        "bb_width_pct": 0.928
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T07-50-00Z_short_rsi_range_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T07:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4600.495,
      "stop": 4608.111,
      "target": 4585.262,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 27.52,
        "bb_width_pct": 0.861
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T07-50-00Z_short_vwap_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T07:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4600.495,
      "stop": 4604.694,
      "target": 4592.096,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 27.52,
        "bb_width_pct": 0.861
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T07-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T07:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4600.495,
      "stop": 4615.291,
      "target": 4570.903,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 27.52,
        "bb_width_pct": 0.861
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T07-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T07:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4598.44,
      "stop": 4604.244,
      "target": 4586.832,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.04,
        "bb_width_pct": 0.813
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T07-55-00Z_short_rsi_range_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T07:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4598.44,
      "stop": 4604.244,
      "target": 4586.832,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 17.04,
        "bb_width_pct": 0.813
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T07-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T07:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4598.44,
      "stop": 4611.866,
      "target": 4571.587,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.04,
        "bb_width_pct": 0.813
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T08-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T08:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4618.795,
      "stop": 4631.071,
      "target": 4594.243,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.54,
        "bb_width_pct": 1.19
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T08-10-00Z_short_rsi_range_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T08:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4618.795,
      "stop": 4631.071,
      "target": 4594.243,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 20.54,
        "bb_width_pct": 1.19
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T08-10-00Z_short_vwap_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T08:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4618.795,
      "stop": 4629.137,
      "target": 4598.112,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 20.54,
        "bb_width_pct": 1.19
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T08-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T08:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4618.795,
      "stop": 4635.264,
      "target": 4585.858,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 20.54,
        "bb_width_pct": 1.19
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T08-15-00Z_short_vwap_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T08:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4614.6,
      "stop": 4622.279,
      "target": 4599.242,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 19.8,
        "bb_width_pct": 1.188
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T08-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T08:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4614.6,
      "stop": 4628.969,
      "target": 4585.863,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 19.8,
        "bb_width_pct": 1.188
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T08-30-00Z_short_rsi_range_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4616.96,
      "stop": 4624.536,
      "target": 4601.807,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 22.07,
        "bb_width_pct": 1.138
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T08-30-00Z_short_vwap_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4616.96,
      "stop": 4624.446,
      "target": 4601.988,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 22.07,
        "bb_width_pct": 1.138
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T08-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4616.96,
      "stop": 4629.975,
      "target": 4590.93,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 22.07,
        "bb_width_pct": 1.138
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T08-35-00Z_short_rsi_range_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4616.3,
      "stop": 4622.88,
      "target": 4603.139,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 23.3,
        "bb_width_pct": 1.142
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T08-35-00Z_short_vwap_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4616.3,
      "stop": 4623.077,
      "target": 4602.746,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 23.3,
        "bb_width_pct": 1.142
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T08-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4616.3,
      "stop": 4628.888,
      "target": 4591.125,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 23.3,
        "bb_width_pct": 1.142
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T08-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4616.3,
      "stop": 4622.436,
      "target": 4604.029,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 23.3,
        "bb_width_pct": 1.142
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T08-40-00Z_short_rsi_range_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T08:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4615.065,
      "stop": 4620.309,
      "target": 4604.576,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 21.6,
        "bb_width_pct": 1.111
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T08-40-00Z_short_vwap_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T08:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4615.065,
      "stop": 4620.931,
      "target": 4603.333,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 21.6,
        "bb_width_pct": 1.111
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T08-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T08:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4617.535,
      "stop": 4623.17,
      "target": 4606.266,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.85,
        "bb_width_pct": 1.119
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T08-50-00Z_short_vwap_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T08:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4616.835,
      "stop": 4622.989,
      "target": 4604.527,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.57,
        "bb_width_pct": 1.101
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T08-55-00Z_short_vwap_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T08:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4616.36,
      "stop": 4622.027,
      "target": 4605.025,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.02,
        "bb_width_pct": 1.048
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T09-10-00Z_short_vwap_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T09:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4618.83,
      "stop": 4625.034,
      "target": 4606.423,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 1.24,
        "bb_width_pct": 0.82
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T09-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T09:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4618.83,
      "stop": 4630.78,
      "target": 4594.93,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.24,
        "bb_width_pct": 0.82
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T09-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T09:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4618.83,
      "stop": 4622.81,
      "target": 4610.87,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.24,
        "bb_width_pct": 0.82
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T09-15-00Z_short_vwap_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T09:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4616.81,
      "stop": 4621.799,
      "target": 4606.832,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.0,
        "bb_width_pct": 0.688
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T09-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T09:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4616.81,
      "stop": 4627.75,
      "target": 4594.93,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.0,
        "bb_width_pct": 0.688
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T09-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T09:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4616.81,
      "stop": 4619.497,
      "target": 4611.436,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.0,
        "bb_width_pct": 0.688
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T09-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4624.34,
      "stop": 4627.692,
      "target": 4617.636,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.64,
        "bb_width_pct": 0.48
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T09-30-00Z_short_rsi_range_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4624.34,
      "stop": 4627.692,
      "target": 4617.636,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 9.64,
        "bb_width_pct": 0.48
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T09-30-00Z_short_vwap_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4624.34,
      "stop": 4632.32,
      "target": 4608.379,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 9.64,
        "bb_width_pct": 0.48
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T09-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4624.34,
      "stop": 4638.177,
      "target": 4596.665,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.64,
        "bb_width_pct": 0.48
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T09-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4624.21,
      "stop": 4626.852,
      "target": 4618.925,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.14,
        "bb_width_pct": 0.31
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T09-35-00Z_short_vwap_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4624.21,
      "stop": 4631.883,
      "target": 4608.863,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.14,
        "bb_width_pct": 0.31
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T09-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4624.21,
      "stop": 4636.82,
      "target": 4598.99,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.14,
        "bb_width_pct": 0.31
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T09-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T09:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4619.285,
      "stop": 4619.664,
      "target": 4618.526,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.13,
        "bb_width_pct": 0.263
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T09-40-00Z_short_vwap_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T09:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4619.285,
      "stop": 4624.314,
      "target": 4609.227,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.13,
        "bb_width_pct": 0.263
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T09-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T09:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4619.285,
      "stop": 4629.198,
      "target": 4599.46,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.13,
        "bb_width_pct": 0.263
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T09-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T09:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4619.285,
      "stop": 4621.023,
      "target": 4615.809,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.13,
        "bb_width_pct": 0.263
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T09-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T09:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4623.79,
      "stop": 4627.4,
      "target": 4616.569,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.16,
        "bb_width_pct": 0.28
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T09-55-00Z_short_vwap_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T09:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4625.23,
      "stop": 4632.606,
      "target": 4610.478,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.56,
        "bb_width_pct": 0.326
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T09-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T09:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4625.23,
      "stop": 4636.82,
      "target": 4602.05,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.56,
        "bb_width_pct": 0.326
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T09-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T09:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4625.23,
      "stop": 4628.703,
      "target": 4618.284,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.56,
        "bb_width_pct": 0.326
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T10-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T10:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4624.025,
      "stop": 4625.984,
      "target": 4620.106,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.25,
        "bb_width_pct": 0.323
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T10-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T10:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4624.025,
      "stop": 4634.355,
      "target": 4603.365,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.25,
        "bb_width_pct": 0.323
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T10-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T10:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4624.025,
      "stop": 4626.622,
      "target": 4618.831,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.25,
        "bb_width_pct": 0.323
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T10-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T10:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4625.81,
      "stop": 4628.453,
      "target": 4620.524,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.03,
        "bb_width_pct": 0.336
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T10-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T10:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4625.81,
      "stop": 4628.967,
      "target": 4619.496,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.03,
        "bb_width_pct": 0.336
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T10-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T10:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4629.085,
      "stop": 4632.801,
      "target": 4621.652,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.99,
        "bb_width_pct": 0.366
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T10-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T10:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4629.085,
      "stop": 4633.111,
      "target": 4621.034,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.99,
        "bb_width_pct": 0.366
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T10-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T10:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4635.935,
      "stop": 4641.461,
      "target": 4624.884,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.75,
        "bb_width_pct": 0.587
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T10-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T10:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4635.935,
      "stop": 4646.631,
      "target": 4614.542,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.75,
        "bb_width_pct": 0.587
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T10-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T10:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4636.625,
      "stop": 4641.469,
      "target": 4626.936,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.48,
        "bb_width_pct": 0.615
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T10-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T10:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4636.625,
      "stop": 4646.443,
      "target": 4616.99,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.48,
        "bb_width_pct": 0.615
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T10-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T10:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4636.625,
      "stop": 4641.142,
      "target": 4627.591,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.48,
        "bb_width_pct": 0.615
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T10-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T10:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4636.89,
      "stop": 4641.096,
      "target": 4628.477,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.88,
        "bb_width_pct": 0.625
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T10-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T10:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4636.975,
      "stop": 4640.819,
      "target": 4629.286,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.36,
        "bb_width_pct": 0.622
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T11-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T11:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4636.035,
      "stop": 4643.144,
      "target": 4621.818,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.63,
        "bb_width_pct": 0.639
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T11-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T11:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4636.035,
      "stop": 4637.568,
      "target": 4632.969,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.63,
        "bb_width_pct": 0.639
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T11-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T11:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4636.805,
      "stop": 4638.413,
      "target": 4633.588,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.21,
        "bb_width_pct": 0.559
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T12-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T12:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4627.895,
      "stop": 4624.742,
      "target": 4634.201,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.64,
        "bb_width_pct": 0.382
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T12-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T12:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4627.04,
      "stop": 4624.492,
      "target": 4632.136,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.11,
        "bb_width_pct": 0.294
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T13-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4640.21,
      "stop": 4644.089,
      "target": 4632.453,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.06,
        "bb_width_pct": 0.34
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T13-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4640.21,
      "stop": 4643.781,
      "target": 4633.068,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.06,
        "bb_width_pct": 0.34
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T13-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T13:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4641.065,
      "stop": 4645.047,
      "target": 4633.1,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.73,
        "bb_width_pct": 0.386
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T13-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T13:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4638.415,
      "stop": 4640.848,
      "target": 4633.549,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.54,
        "bb_width_pct": 0.391
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T13-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T13:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4638.415,
      "stop": 4639.935,
      "target": 4635.375,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.54,
        "bb_width_pct": 0.391
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T13-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T13:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4638.415,
      "stop": 4640.216,
      "target": 4634.813,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.54,
        "bb_width_pct": 0.391
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T13-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T13:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4625.485,
      "stop": 4621.8,
      "target": 4632.854,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.76,
        "bb_width_pct": 0.447
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T13-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T13:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4625.485,
      "stop": 4620.545,
      "target": 4635.365,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.76,
        "bb_width_pct": 0.447
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T13-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T13:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4625.485,
      "stop": 4621.967,
      "target": 4632.522,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.76,
        "bb_width_pct": 0.447
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T14-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4620.545,
      "stop": 4616.089,
      "target": 4629.458,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.26,
        "bb_width_pct": 0.742
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T14-00-00Z_long_vwap_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4620.545,
      "stop": 4615.565,
      "target": 4630.505,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.26,
        "bb_width_pct": 0.742
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T14-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4620.545,
      "stop": 4616.623,
      "target": 4628.39,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 18.26,
        "bb_width_pct": 0.742
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T14-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4620.545,
      "stop": 4617.263,
      "target": 4627.11,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.26,
        "bb_width_pct": 0.742
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T14-05-00Z_long_rsi_range_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T14:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4621.015,
      "stop": 4617.008,
      "target": 4629.029,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.19,
        "bb_width_pct": 0.759
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T14-05-00Z_long_vwap_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T14:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4621.015,
      "stop": 4616.444,
      "target": 4630.157,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.19,
        "bb_width_pct": 0.759
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T14-15-00Z_long_rsi_range_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T14:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4622.055,
      "stop": 4618.998,
      "target": 4628.169,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.53,
        "bb_width_pct": 0.782
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T14-20-00Z_long_rsi_range_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T14:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4623.77,
      "stop": 4621.625,
      "target": 4628.059,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.38,
        "bb_width_pct": 0.786
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T14-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T14:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4612.5,
      "stop": 4607.092,
      "target": 4623.316,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.92,
        "bb_width_pct": 0.804
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T14-40-00Z_long_vwap_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T14:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4617.68,
      "stop": 4612.603,
      "target": 4627.834,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.87,
        "bb_width_pct": 0.762
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T14-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T14:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4617.68,
      "stop": 4612.669,
      "target": 4627.702,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.87,
        "bb_width_pct": 0.762
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T15-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T15:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4623.385,
      "stop": 4621.226,
      "target": 4627.702,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 2.63,
        "bb_width_pct": 0.371
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T15-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T15:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4615.67,
      "stop": 4613.575,
      "target": 4619.86,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.55,
        "bb_width_pct": 0.262
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T15-40-00Z_long_vwap_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T15:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4615.67,
      "stop": 4610.627,
      "target": 4625.757,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.55,
        "bb_width_pct": 0.262
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T15-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T15:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4615.67,
      "stop": 4609.654,
      "target": 4627.702,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 3.55,
        "bb_width_pct": 0.262
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T15-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T15:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4614.425,
      "stop": 4611.872,
      "target": 4619.53,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.8,
        "bb_width_pct": 0.28
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T15-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T15:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4614.615,
      "stop": 4612.306,
      "target": 4619.232,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.82,
        "bb_width_pct": 0.294
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T15-50-00Z_long_vwap_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T15:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4614.615,
      "stop": 4609.292,
      "target": 4625.261,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.82,
        "bb_width_pct": 0.294
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T15-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T15:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4614.615,
      "stop": 4608.071,
      "target": 4627.702,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.82,
        "bb_width_pct": 0.294
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T15-55-00Z_long_vwap_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T15:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4615.3,
      "stop": 4610.421,
      "target": 4625.058,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.16,
        "bb_width_pct": 0.297
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T15-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T15:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4615.3,
      "stop": 4609.099,
      "target": 4627.702,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.16,
        "bb_width_pct": 0.297
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-04-30T16-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4614.425,
      "stop": 4612.424,
      "target": 4618.427,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.52,
        "bb_width_pct": 0.292
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T07-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T07:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4522.71,
      "stop": 4525.315,
      "target": 4517.5,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.22,
        "bb_width_pct": 0.285
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T07-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T07:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4522.71,
      "stop": 4500.165,
      "target": 4567.8,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.22,
        "bb_width_pct": 0.285
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T07-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T07:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4525.34,
      "stop": 4504.11,
      "target": 4567.8,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.97,
        "bb_width_pct": 0.322
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T07-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T07:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4525.34,
      "stop": 4522.557,
      "target": 4530.906,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.97,
        "bb_width_pct": 0.322
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T07-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T07:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4524.345,
      "stop": 4527.36,
      "target": 4518.315,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.86,
        "bb_width_pct": 0.337
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T07-45-00Z_short_vwap_mean_reversion",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T07:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4524.345,
      "stop": 4527.028,
      "target": 4518.978,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.86,
        "bb_width_pct": 0.337
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T07-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T07:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4524.345,
      "stop": 4521.377,
      "target": 4530.281,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.86,
        "bb_width_pct": 0.337
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T07-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T07:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4523.485,
      "stop": 4520.41,
      "target": 4529.634,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.47,
        "bb_width_pct": 0.347
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T07-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T07:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4524.82,
      "stop": 4503.33,
      "target": 4567.8,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.47,
        "bb_width_pct": 0.336
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T08-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T08:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4515.345,
      "stop": 4489.118,
      "target": 4567.8,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.49,
        "bb_width_pct": 0.36
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T08-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T08:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4516.975,
      "stop": 4491.563,
      "target": 4567.8,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.09,
        "bb_width_pct": 0.362
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T08-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T08:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4516.975,
      "stop": 4513.862,
      "target": 4523.2,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.09,
        "bb_width_pct": 0.362
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T08-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4515.115,
      "stop": 4488.773,
      "target": 4567.8,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.3,
        "bb_width_pct": 0.355
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T08-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T08:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4515.265,
      "stop": 4488.998,
      "target": 4567.8,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 13.82,
        "bb_width_pct": 0.359
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T08-50-00Z_long_rsi_range_reversion",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T08:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4513.94,
      "stop": 4512.155,
      "target": 4517.511,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.89,
        "bb_width_pct": 0.386
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T08-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T08:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4513.94,
      "stop": 4488.925,
      "target": 4563.97,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 18.89,
        "bb_width_pct": 0.386
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T08-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T08:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4513.94,
      "stop": 4511.116,
      "target": 4519.588,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.89,
        "bb_width_pct": 0.386
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T08-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T08:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4514.95,
      "stop": 4490.592,
      "target": 4563.665,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.68,
        "bb_width_pct": 0.387
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T08-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T08:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4514.95,
      "stop": 4512.852,
      "target": 4519.146,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.68,
        "bb_width_pct": 0.387
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T09-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4518.845,
      "stop": 4496.435,
      "target": 4563.665,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.43,
        "bb_width_pct": 0.371
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T09-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T09:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4523.97,
      "stop": 4504.123,
      "target": 4563.665,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.55,
        "bb_width_pct": 0.382
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T09-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T09:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4529.095,
      "stop": 4512.16,
      "target": 4562.965,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 20.78,
        "bb_width_pct": 0.433
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T09-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T09:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4528.025,
      "stop": 4532.54,
      "target": 4518.994,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.83,
        "bb_width_pct": 0.463
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T09-15-00Z_short_rsi_range_reversion",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T09:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4528.025,
      "stop": 4532.54,
      "target": 4518.994,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 20.83,
        "bb_width_pct": 0.463
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T09-15-00Z_short_vwap_mean_reversion",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T09:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4528.025,
      "stop": 4532.738,
      "target": 4518.599,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 20.83,
        "bb_width_pct": 0.463
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T09-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T09:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4528.025,
      "stop": 4531.929,
      "target": 4520.217,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 20.83,
        "bb_width_pct": 0.463
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T09-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T09:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4522.745,
      "stop": 4524.009,
      "target": 4520.217,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.4,
        "bb_width_pct": 0.452
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T09-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T09:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4522.745,
      "stop": 4523.442,
      "target": 4521.351,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.4,
        "bb_width_pct": 0.452
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T09-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T09:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4529.14,
      "stop": 4534.158,
      "target": 4519.104,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.14,
        "bb_width_pct": 0.483
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T09-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T09:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4529.14,
      "stop": 4532.664,
      "target": 4522.092,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.14,
        "bb_width_pct": 0.483
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T09-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4528.74,
      "stop": 4533.427,
      "target": 4519.367,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.83,
        "bb_width_pct": 0.512
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T09-30-00Z_short_vwap_mean_reversion",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4528.74,
      "stop": 4533.409,
      "target": 4519.401,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 16.83,
        "bb_width_pct": 0.512
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T09-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4528.74,
      "stop": 4532.495,
      "target": 4521.23,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 16.83,
        "bb_width_pct": 0.512
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T09-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4528.74,
      "stop": 4531.747,
      "target": 4522.726,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.83,
        "bb_width_pct": 0.512
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T09-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T09:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4532.64,
      "stop": 4537.891,
      "target": 4522.137,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 26.41,
        "bb_width_pct": 0.688
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T09-50-00Z_short_rsi_range_reversion",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T09:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4532.64,
      "stop": 4537.891,
      "target": 4522.137,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 26.41,
        "bb_width_pct": 0.688
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T09-50-00Z_short_vwap_mean_reversion",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T09:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4532.64,
      "stop": 4538.51,
      "target": 4520.9,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 26.41,
        "bb_width_pct": 0.688
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T09-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T09:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4532.64,
      "stop": 4537.003,
      "target": 4523.915,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 26.41,
        "bb_width_pct": 0.688
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T09-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T09:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4532.64,
      "stop": 4535.913,
      "target": 4526.094,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 26.41,
        "bb_width_pct": 0.688
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T09-55-00Z_short_rsi_range_reversion",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T09:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4531.315,
      "stop": 4535.452,
      "target": 4523.041,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 22.06,
        "bb_width_pct": 0.684
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T09-55-00Z_short_vwap_mean_reversion",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T09:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4531.315,
      "stop": 4536.375,
      "target": 4521.195,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 22.06,
        "bb_width_pct": 0.684
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T10-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T10:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4537.9,
      "stop": 4541.628,
      "target": 4530.444,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.47,
        "bb_width_pct": 0.432
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T10-40-00Z_short_vwap_mean_reversion",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T10:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4537.9,
      "stop": 4541.104,
      "target": 4531.493,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.47,
        "bb_width_pct": 0.432
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T10-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T10:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4537.9,
      "stop": 4543.534,
      "target": 4526.632,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.47,
        "bb_width_pct": 0.432
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T10-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T10:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4537.095,
      "stop": 4540.092,
      "target": 4531.1,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.96,
        "bb_width_pct": 0.429
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T10-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T10:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4537.095,
      "stop": 4542.326,
      "target": 4526.632,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.96,
        "bb_width_pct": 0.429
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T10-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T10:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4537.095,
      "stop": 4540.135,
      "target": 4531.015,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.96,
        "bb_width_pct": 0.429
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T10-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T10:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4536.705,
      "stop": 4541.741,
      "target": 4526.632,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.73,
        "bb_width_pct": 0.44
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T10-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T10:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4536.705,
      "stop": 4539.279,
      "target": 4531.556,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.73,
        "bb_width_pct": 0.44
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T11-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4535.95,
      "stop": 4540.609,
      "target": 4526.632,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.62,
        "bb_width_pct": 0.421
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T11-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4535.95,
      "stop": 4537.624,
      "target": 4532.601,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.62,
        "bb_width_pct": 0.421
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T12-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4529.48,
      "stop": 4530.904,
      "target": 4526.632,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.32,
        "bb_width_pct": 0.37
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T12-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T12:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4523.715,
      "stop": 4520.302,
      "target": 4530.542,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.94,
        "bb_width_pct": 0.348
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T12-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T12:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4522.275,
      "stop": 4518.535,
      "target": 4529.754,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.38,
        "bb_width_pct": 0.376
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T12-35-00Z_long_vwap_mean_reversion",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T12:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4517.425,
      "stop": 4513.378,
      "target": 4525.519,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.81,
        "bb_width_pct": 0.469
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T12-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T12:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4517.425,
      "stop": 4511.476,
      "target": 4529.323,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.81,
        "bb_width_pct": 0.469
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T12-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T12:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4515.465,
      "stop": 4509.665,
      "target": 4527.066,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.64,
        "bb_width_pct": 0.569
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T12-45-00Z_long_vwap_mean_reversion",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T12:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4515.465,
      "stop": 4511.471,
      "target": 4523.452,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.64,
        "bb_width_pct": 0.569
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T12-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T12:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4515.465,
      "stop": 4509.188,
      "target": 4528.02,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 19.64,
        "bb_width_pct": 0.569
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T12-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T12:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4518.68,
      "stop": 4514.01,
      "target": 4528.02,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.93,
        "bb_width_pct": 0.58
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T12-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T12:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4518.68,
      "stop": 4515.727,
      "target": 4524.587,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.93,
        "bb_width_pct": 0.58
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T12-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T12:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4523.215,
      "stop": 4520.812,
      "target": 4528.02,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.69,
        "bb_width_pct": 0.573
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T13-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4524.525,
      "stop": 4522.777,
      "target": 4528.02,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 16.31,
        "bb_width_pct": 0.563
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T13-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T13:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4533.21,
      "stop": 4537.761,
      "target": 4524.109,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.08,
        "bb_width_pct": 0.47
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T13-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T13:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4533.21,
      "stop": 4536.695,
      "target": 4526.239,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.08,
        "bb_width_pct": 0.47
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T13-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4536.05,
      "stop": 4540.488,
      "target": 4527.174,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 25.12,
        "bb_width_pct": 0.511
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T13-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T13:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4536.725,
      "stop": 4542.482,
      "target": 4525.211,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.36,
        "bb_width_pct": 0.611
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T13-55-00Z_short_rsi_range_reversion",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T13:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4536.725,
      "stop": 4542.482,
      "target": 4525.211,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 20.36,
        "bb_width_pct": 0.611
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T13-55-00Z_short_vwap_mean_reversion",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T13:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4536.725,
      "stop": 4542.207,
      "target": 4525.76,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 20.36,
        "bb_width_pct": 0.611
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T13-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T13:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4536.725,
      "stop": 4541.313,
      "target": 4527.55,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 20.36,
        "bb_width_pct": 0.611
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T13-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T13:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4536.725,
      "stop": 4540.552,
      "target": 4529.071,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.36,
        "bb_width_pct": 0.611
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T14-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T14:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4543.87,
      "stop": 4551.205,
      "target": 4529.201,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.67,
        "bb_width_pct": 0.904
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T14-10-00Z_short_rsi_range_reversion",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T14:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4543.87,
      "stop": 4551.205,
      "target": 4529.201,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 18.67,
        "bb_width_pct": 0.904
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T14-10-00Z_short_vwap_mean_reversion",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T14:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4543.87,
      "stop": 4551.746,
      "target": 4528.117,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 18.67,
        "bb_width_pct": 0.904
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T14-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T14:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4543.87,
      "stop": 4549.459,
      "target": 4532.692,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.67,
        "bb_width_pct": 0.904
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T14-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T14:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4543.87,
      "stop": 4548.88,
      "target": 4533.849,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.67,
        "bb_width_pct": 0.904
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T14-15-00Z_short_vwap_mean_reversion",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T14:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4537.905,
      "stop": 4542.582,
      "target": 4528.551,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.45,
        "bb_width_pct": 0.885
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T14-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T14:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4537.905,
      "stop": 4539.74,
      "target": 4534.235,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.45,
        "bb_width_pct": 0.885
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T14-45-00Z_short_vwap_mean_reversion",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T14:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4539.88,
      "stop": 4545.013,
      "target": 4529.614,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.07,
        "bb_width_pct": 0.673
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T16-15-00Z_long_rsi_range_reversion",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T16:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4565.565,
      "stop": 4563.461,
      "target": 4569.774,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.54,
        "bb_width_pct": 1.18
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T16-20-00Z_short_vwap_mean_reversion",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T16:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4564.415,
      "stop": 4574.143,
      "target": 4544.959,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 26.22,
        "bb_width_pct": 1.031
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T16-25-00Z_short_vwap_mean_reversion",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T16:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4563.195,
      "stop": 4572.149,
      "target": 4545.287,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 23.6,
        "bb_width_pct": 0.839
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T16-30-00Z_long_rsi_range_reversion",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T16:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4569.08,
      "stop": 4567.247,
      "target": 4572.745,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.45,
        "bb_width_pct": 0.785
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T16-40-00Z_short_vwap_mean_reversion",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T16:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4569.585,
      "stop": 4581.095,
      "target": 4546.565,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.09,
        "bb_width_pct": 0.761
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T16-45-00Z_short_vwap_mean_reversion",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4564.92,
      "stop": 4573.927,
      "target": 4546.906,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.04,
        "bb_width_pct": 0.71
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T17-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T17:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4565.655,
      "stop": 4565.211,
      "target": 4566.543,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.13,
        "bb_width_pct": 0.221
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T17-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T17:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4561.47,
      "stop": 4559.21,
      "target": 4565.991,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.51,
        "bb_width_pct": 0.247
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T17-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T17:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4556.15,
      "stop": 4552.089,
      "target": 4564.271,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.43,
        "bb_width_pct": 0.368
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T17-45-00Z_long_rsi_range_reversion",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T17:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4556.15,
      "stop": 4552.089,
      "target": 4564.271,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.43,
        "bb_width_pct": 0.368
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T17-45-00Z_long_vwap_mean_reversion",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T17:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4556.15,
      "stop": 4553.084,
      "target": 4562.283,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.43,
        "bb_width_pct": 0.368
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T17-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T17:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4556.15,
      "stop": 4552.817,
      "target": 4562.816,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.43,
        "bb_width_pct": 0.368
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T17-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T17:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4553.51,
      "stop": 4548.682,
      "target": 4563.165,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.19,
        "bb_width_pct": 0.461
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T18-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T18:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4557.445,
      "stop": 4555.774,
      "target": 4560.788,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.29,
        "bb_width_pct": 0.473
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T18-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T18:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4558.29,
      "stop": 4550.674,
      "target": 4573.523,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.74,
        "bb_width_pct": 0.47
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T18-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T18:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4558.77,
      "stop": 4551.394,
      "target": 4573.523,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.44,
        "bb_width_pct": 0.427
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T18-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T18:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4559.435,
      "stop": 4552.391,
      "target": 4573.523,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 11.32,
        "bb_width_pct": 0.387
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T18-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T18:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4553.18,
      "stop": 4550.308,
      "target": 4558.923,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.02,
        "bb_width_pct": 0.32
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T18-50-00Z_long_vwap_mean_reversion",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T18:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4554.16,
      "stop": 4551.565,
      "target": 4559.35,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.38,
        "bb_width_pct": 0.313
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T18-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T18:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4554.16,
      "stop": 4548.276,
      "target": 4565.927,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.38,
        "bb_width_pct": 0.313
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T18-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T18:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4554.16,
      "stop": 4551.858,
      "target": 4558.764,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.38,
        "bb_width_pct": 0.313
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T19-00-00Z_long_vwap_mean_reversion",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T19:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4554.635,
      "stop": 4552.481,
      "target": 4558.942,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.55,
        "bb_width_pct": 0.251
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T19-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T19:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4554.635,
      "stop": 4550.779,
      "target": 4562.347,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 2.55,
        "bb_width_pct": 0.251
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T19-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T19:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4554.635,
      "stop": 4553.005,
      "target": 4557.896,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.55,
        "bb_width_pct": 0.251
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T19-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T19:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4552.505,
      "stop": 4550.376,
      "target": 4556.763,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.31,
        "bb_width_pct": 0.219
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T20-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T20:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4545.9,
      "stop": 4542.097,
      "target": 4553.506,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.81,
        "bb_width_pct": 0.429
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T20-05-00Z_long_vwap_mean_reversion",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T20:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4545.9,
      "stop": 4540.526,
      "target": 4556.647,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.81,
        "bb_width_pct": 0.429
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T20-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T20:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4545.9,
      "stop": 4540.983,
      "target": 4555.735,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 19.81,
        "bb_width_pct": 0.429
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T20-10-00Z_long_vwap_mean_reversion",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T20:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4548.89,
      "stop": 4545.125,
      "target": 4556.421,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.39,
        "bb_width_pct": 0.41
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T20-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T20:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4548.89,
      "stop": 4545.468,
      "target": 4555.735,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 21.39,
        "bb_width_pct": 0.41
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T20-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T20:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4548.89,
      "stop": 4547.354,
      "target": 4551.961,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.39,
        "bb_width_pct": 0.41
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T20-30-00Z_long_rsi_range_reversion",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T20:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4543.515,
      "stop": 4540.015,
      "target": 4550.515,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.9,
        "bb_width_pct": 0.453
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T20-30-00Z_long_vwap_mean_reversion",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T20:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4543.515,
      "stop": 4537.607,
      "target": 4555.33,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.9,
        "bb_width_pct": 0.453
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T20-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T20:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4543.515,
      "stop": 4537.905,
      "target": 4554.735,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 26.9,
        "bb_width_pct": 0.453
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T20-40-00Z_long_rsi_range_reversion",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4543.775,
      "stop": 4540.928,
      "target": 4549.469,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.6,
        "bb_width_pct": 0.475
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T20-40-00Z_long_vwap_mean_reversion",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4543.775,
      "stop": 4538.268,
      "target": 4554.789,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.6,
        "bb_width_pct": 0.475
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T20-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4543.775,
      "stop": 4538.688,
      "target": 4553.95,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 20.6,
        "bb_width_pct": 0.475
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T20-55-00Z_long_rsi_range_reversion",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T20:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4540.53,
      "stop": 4537.35,
      "target": 4546.89,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.39,
        "bb_width_pct": 0.412
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T20-55-00Z_long_vwap_mean_reversion",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T20:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4540.53,
      "stop": 4533.814,
      "target": 4553.961,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.39,
        "bb_width_pct": 0.412
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-29T20-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T20:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4540.53,
      "stop": 4535.341,
      "target": 4550.907,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.39,
        "bb_width_pct": 0.412
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-31T22-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-05-31",
      "timestamp": "2026-05-31T22:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4534.805,
      "stop": 4530.85,
      "target": 4542.715,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.71,
        "bb_width_pct": 0.661
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-31T22-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-05-31",
      "timestamp": "2026-05-31T22:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4534.805,
      "stop": 4531.764,
      "target": 4540.887,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 23.71,
        "bb_width_pct": 0.661
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-31T22-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-05-31",
      "timestamp": "2026-05-31T22:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4534.805,
      "stop": 4531.404,
      "target": 4541.607,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.71,
        "bb_width_pct": 0.661
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-31T22-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-05-31",
      "timestamp": "2026-05-31T22:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4536.48,
      "stop": 4534.161,
      "target": 4541.119,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.2,
        "bb_width_pct": 0.64
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-31T22-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-05-31",
      "timestamp": "2026-05-31T22:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4533.33,
      "stop": 4529.806,
      "target": 4540.377,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.36,
        "bb_width_pct": 0.628
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-31T22-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-05-31",
      "timestamp": "2026-05-31T22:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4533.4,
      "stop": 4530.244,
      "target": 4539.713,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.95,
        "bb_width_pct": 0.624
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-31T23-15-00Z_short_rsi_range_reversion",
      "date": "2026-05-31",
      "timestamp": "2026-05-31T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4542.165,
      "stop": 4544.975,
      "target": 4536.546,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 11.66,
        "bb_width_pct": 0.492
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-31T23-15-00Z_short_vwap_mean_reversion",
      "date": "2026-05-31",
      "timestamp": "2026-05-31T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4542.165,
      "stop": 4545.863,
      "target": 4534.768,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.66,
        "bb_width_pct": 0.492
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-05-31T23-20-00Z_short_vwap_mean_reversion",
      "date": "2026-05-31",
      "timestamp": "2026-05-31T23:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4542.06,
      "stop": 4545.495,
      "target": 4535.189,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.08,
        "bb_width_pct": 0.483
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T00-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4538.3,
      "stop": 4536.846,
      "target": 4541.207,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.7,
        "bb_width_pct": 0.202
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T00-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4538.3,
      "stop": 4540.199,
      "target": 4534.502,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.7,
        "bb_width_pct": 0.202
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T00-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T00:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4539.0,
      "stop": 4541.926,
      "target": 4533.148,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.1,
        "bb_width_pct": 0.211
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T01-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T01:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4533.935,
      "stop": 4531.201,
      "target": 4539.403,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.76,
        "bb_width_pct": 0.323
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T01-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T01:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4533.935,
      "stop": 4531.832,
      "target": 4538.141,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.76,
        "bb_width_pct": 0.323
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T01-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T01:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4528.87,
      "stop": 4524.415,
      "target": 4537.78,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.11,
        "bb_width_pct": 0.417
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T01-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4533.06,
      "stop": 4530.983,
      "target": 4537.214,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.37,
        "bb_width_pct": 0.404
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T01-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4533.06,
      "stop": 4531.441,
      "target": 4536.298,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.37,
        "bb_width_pct": 0.404
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T01-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T01:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4533.275,
      "stop": 4531.764,
      "target": 4536.298,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.63,
        "bb_width_pct": 0.394
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T01-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T01:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4530.07,
      "stop": 4526.956,
      "target": 4536.298,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 13.7,
        "bb_width_pct": 0.404
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T01-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T01:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4525.47,
      "stop": 4521.037,
      "target": 4534.337,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.05,
        "bb_width_pct": 0.437
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T01-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T01:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4525.47,
      "stop": 4521.583,
      "target": 4533.245,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.05,
        "bb_width_pct": 0.437
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T02-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T02:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4528.58,
      "stop": 4525.374,
      "target": 4534.993,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.9,
        "bb_width_pct": 0.412
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T02-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4527.495,
      "stop": 4525.784,
      "target": 4530.916,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.0,
        "bb_width_pct": 0.298
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T02-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4527.495,
      "stop": 4525.494,
      "target": 4531.498,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.0,
        "bb_width_pct": 0.298
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T02-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4523.54,
      "stop": 4520.584,
      "target": 4529.451,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.9,
        "bb_width_pct": 0.274
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T02-45-00Z_long_vwap_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4523.54,
      "stop": 4518.522,
      "target": 4533.576,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.9,
        "bb_width_pct": 0.274
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T02-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4523.54,
      "stop": 4518.132,
      "target": 4534.355,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.9,
        "bb_width_pct": 0.274
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T02-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4523.54,
      "stop": 4520.41,
      "target": 4529.8,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.9,
        "bb_width_pct": 0.274
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T03-00-00Z_long_vwap_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4524.795,
      "stop": 4520.831,
      "target": 4532.723,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.15,
        "bb_width_pct": 0.317
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T03-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4524.795,
      "stop": 4520.294,
      "target": 4533.798,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.15,
        "bb_width_pct": 0.317
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T03-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4524.795,
      "stop": 4523.171,
      "target": 4528.043,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.15,
        "bb_width_pct": 0.317
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T03-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T03:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4519.085,
      "stop": 4515.224,
      "target": 4526.808,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.46,
        "bb_width_pct": 0.389
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T03-10-00Z_long_vwap_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T03:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4519.085,
      "stop": 4512.611,
      "target": 4532.033,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.46,
        "bb_width_pct": 0.389
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T03-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T03:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4519.085,
      "stop": 4512.66,
      "target": 4531.935,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.46,
        "bb_width_pct": 0.389
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T03-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4519.515,
      "stop": 4516.128,
      "target": 4526.289,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.19,
        "bb_width_pct": 0.408
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T03-15-00Z_long_vwap_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4519.515,
      "stop": 4513.433,
      "target": 4531.679,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.19,
        "bb_width_pct": 0.408
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T03-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4519.515,
      "stop": 4513.784,
      "target": 4530.978,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 21.19,
        "bb_width_pct": 0.408
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T03-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4519.515,
      "stop": 4516.444,
      "target": 4525.657,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.19,
        "bb_width_pct": 0.408
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T03-25-00Z_long_rsi_range_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4520.705,
      "stop": 4518.475,
      "target": 4525.165,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.71,
        "bb_width_pct": 0.412
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T03-25-00Z_long_vwap_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4520.705,
      "stop": 4515.507,
      "target": 4531.101,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.71,
        "bb_width_pct": 0.412
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T03-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4520.705,
      "stop": 4516.257,
      "target": 4529.6,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 18.71,
        "bb_width_pct": 0.412
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T03-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4520.705,
      "stop": 4518.762,
      "target": 4524.59,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.71,
        "bb_width_pct": 0.412
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T03-30-00Z_long_vwap_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4522.02,
      "stop": 4517.584,
      "target": 4530.891,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.18,
        "bb_width_pct": 0.403
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T03-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T03:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4512.695,
      "stop": 4507.661,
      "target": 4522.763,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.57,
        "bb_width_pct": 0.539
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T03-45-00Z_long_rsi_range_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T03:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4512.695,
      "stop": 4507.661,
      "target": 4522.763,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.57,
        "bb_width_pct": 0.539
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T03-45-00Z_long_vwap_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T03:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4512.695,
      "stop": 4504.15,
      "target": 4529.785,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.57,
        "bb_width_pct": 0.539
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T03-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T03:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4512.695,
      "stop": 4505.235,
      "target": 4527.615,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 16.57,
        "bb_width_pct": 0.539
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T03-50-00Z_long_vwap_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T03:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4513.34,
      "stop": 4505.295,
      "target": 4529.43,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.2,
        "bb_width_pct": 0.531
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T03-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T03:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4513.34,
      "stop": 4506.783,
      "target": 4526.455,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 17.2,
        "bb_width_pct": 0.531
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T03-55-00Z_long_vwap_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T03:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4516.555,
      "stop": 4510.265,
      "target": 4529.134,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.78,
        "bb_width_pct": 0.497
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T03-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T03:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4516.555,
      "stop": 4511.605,
      "target": 4526.455,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.78,
        "bb_width_pct": 0.497
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T03-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T03:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4516.555,
      "stop": 4514.709,
      "target": 4520.246,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.78,
        "bb_width_pct": 0.497
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T04-10-00Z_long_vwap_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T04:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4514.895,
      "stop": 4508.173,
      "target": 4528.339,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.64,
        "bb_width_pct": 0.395
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T04-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T04:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4514.895,
      "stop": 4509.323,
      "target": 4526.04,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.64,
        "bb_width_pct": 0.395
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T04-15-00Z_long_vwap_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T04:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4517.105,
      "stop": 4511.598,
      "target": 4528.119,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.42,
        "bb_width_pct": 0.342
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T04-20-00Z_long_vwap_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4517.68,
      "stop": 4512.564,
      "target": 4527.912,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.34,
        "bb_width_pct": 0.327
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T04-35-00Z_long_vwap_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4515.25,
      "stop": 4509.253,
      "target": 4527.243,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.67,
        "bb_width_pct": 0.287
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T04-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4515.25,
      "stop": 4511.148,
      "target": 4523.455,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 13.67,
        "bb_width_pct": 0.287
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T04-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4510.57,
      "stop": 4507.841,
      "target": 4516.028,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.48,
        "bb_width_pct": 0.263
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T04-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T04:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4514.405,
      "stop": 4513.71,
      "target": 4515.794,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.72,
        "bb_width_pct": 0.257
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T04-50-00Z_long_vwap_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T04:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4514.405,
      "stop": 4508.341,
      "target": 4526.532,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.72,
        "bb_width_pct": 0.257
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T04-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T04:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4514.405,
      "stop": 4510.741,
      "target": 4521.733,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 3.72,
        "bb_width_pct": 0.257
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T04-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T04:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4514.405,
      "stop": 4513.32,
      "target": 4516.575,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.72,
        "bb_width_pct": 0.257
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T04-55-00Z_long_vwap_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T04:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4514.64,
      "stop": 4508.796,
      "target": 4526.328,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.9,
        "bb_width_pct": 0.246
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T05-00-00Z_long_vwap_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4516.14,
      "stop": 4511.135,
      "target": 4526.15,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.92,
        "bb_width_pct": 0.238
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T05-05-00Z_long_vwap_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4516.665,
      "stop": 4511.998,
      "target": 4525.999,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.3,
        "bb_width_pct": 0.215
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T05-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4518.275,
      "stop": 4519.897,
      "target": 4515.03,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.44,
        "bb_width_pct": 0.177
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T05-10-00Z_long_vwap_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4518.275,
      "stop": 4514.479,
      "target": 4525.868,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.44,
        "bb_width_pct": 0.177
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T05-15-00Z_long_vwap_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4521.645,
      "stop": 4519.576,
      "target": 4525.783,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.23,
        "bb_width_pct": 0.218
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T05-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4521.645,
      "stop": 4523.939,
      "target": 4517.057,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.23,
        "bb_width_pct": 0.218
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T05-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4520.66,
      "stop": 4522.837,
      "target": 4516.307,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.7,
        "bb_width_pct": 0.246
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T05-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4520.66,
      "stop": 4522.055,
      "target": 4517.871,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.7,
        "bb_width_pct": 0.246
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T05-35-00Z_long_vwap_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4520.34,
      "stop": 4517.798,
      "target": 4525.423,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.03,
        "bb_width_pct": 0.256
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T06-05-00Z_long_vwap_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4517.14,
      "stop": 4513.235,
      "target": 4524.951,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.46,
        "bb_width_pct": 0.317
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T06-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T06:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4514.65,
      "stop": 4513.351,
      "target": 4517.248,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.67,
        "bb_width_pct": 0.382
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T06-25-00Z_long_vwap_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T06:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4514.65,
      "stop": 4509.843,
      "target": 4524.264,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.67,
        "bb_width_pct": 0.382
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T06-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T06:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4514.65,
      "stop": 4514.412,
      "target": 4515.125,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.67,
        "bb_width_pct": 0.382
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T06-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T06:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4514.65,
      "stop": 4513.852,
      "target": 4516.246,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.67,
        "bb_width_pct": 0.382
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T06-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T06:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4504.775,
      "stop": 4499.162,
      "target": 4516.002,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.91,
        "bb_width_pct": 0.517
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T06-40-00Z_long_vwap_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T06:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4504.775,
      "stop": 4495.34,
      "target": 4523.645,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.91,
        "bb_width_pct": 0.517
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T06-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T06:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4504.775,
      "stop": 4500.427,
      "target": 4513.47,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 18.91,
        "bb_width_pct": 0.517
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T06-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T06:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4504.73,
      "stop": 4499.392,
      "target": 4515.405,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.53,
        "bb_width_pct": 0.56
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T06-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T06:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4504.73,
      "stop": 4500.657,
      "target": 4512.876,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.53,
        "bb_width_pct": 0.56
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T06-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T06:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4503.56,
      "stop": 4498.005,
      "target": 4514.669,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 27.11,
        "bb_width_pct": 0.601
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T07-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T07:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4507.795,
      "stop": 4505.295,
      "target": 4512.795,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 13.61,
        "bb_width_pct": 0.617
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T07-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T07:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4507.795,
      "stop": 4506.345,
      "target": 4510.695,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.61,
        "bb_width_pct": 0.617
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T07-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4504.76,
      "stop": 4500.743,
      "target": 4512.795,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.55,
        "bb_width_pct": 0.438
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T07-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T07:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4495.855,
      "stop": 4491.362,
      "target": 4504.841,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.99,
        "bb_width_pct": 0.416
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T07-50-00Z_long_vwap_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T07:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4495.855,
      "stop": 4492.035,
      "target": 4503.496,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.99,
        "bb_width_pct": 0.416
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T07-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T07:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4495.855,
      "stop": 4489.235,
      "target": 4509.095,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 13.99,
        "bb_width_pct": 0.416
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T07-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T07:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4503.345,
      "stop": 4502.789,
      "target": 4504.458,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.32,
        "bb_width_pct": 0.397
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T07-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T07:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4503.345,
      "stop": 4500.552,
      "target": 4508.93,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.32,
        "bb_width_pct": 0.397
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T07-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T07:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4503.345,
      "stop": 4502.65,
      "target": 4504.735,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.32,
        "bb_width_pct": 0.397
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T08-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T08:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4494.235,
      "stop": 4489.893,
      "target": 4502.919,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.32,
        "bb_width_pct": 0.409
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T08-10-00Z_long_vwap_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T08:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4495.79,
      "stop": 4492.686,
      "target": 4501.997,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.89,
        "bb_width_pct": 0.398
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T08-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T08:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4495.79,
      "stop": 4489.22,
      "target": 4508.93,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.89,
        "bb_width_pct": 0.398
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T08-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T08:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4495.79,
      "stop": 4492.541,
      "target": 4502.288,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.89,
        "bb_width_pct": 0.398
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T08-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T08:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4495.055,
      "stop": 4491.739,
      "target": 4501.688,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.11,
        "bb_width_pct": 0.417
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T08-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T08:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4495.055,
      "stop": 4491.783,
      "target": 4501.599,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.11,
        "bb_width_pct": 0.417
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T08-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T08:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4492.955,
      "stop": 4488.884,
      "target": 4501.096,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.58,
        "bb_width_pct": 0.445
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T08-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T08:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4492.955,
      "stop": 4489.045,
      "target": 4500.776,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.58,
        "bb_width_pct": 0.445
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T08-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T08:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4496.135,
      "stop": 4490.273,
      "target": 4507.86,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.27,
        "bb_width_pct": 0.448
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T08-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T08:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4500.27,
      "stop": 4496.475,
      "target": 4507.86,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.13,
        "bb_width_pct": 0.436
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T09-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T09:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4499.745,
      "stop": 4500.676,
      "target": 4497.884,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.95,
        "bb_width_pct": 0.29
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T09-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4490.95,
      "stop": 4487.559,
      "target": 4497.732,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.66,
        "bb_width_pct": 0.313
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T09-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4498.09,
      "stop": 4496.114,
      "target": 4502.042,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 2.97,
        "bb_width_pct": 0.292
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T09-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4498.09,
      "stop": 4497.72,
      "target": 4498.829,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.97,
        "bb_width_pct": 0.292
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T10-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T10:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4503.18,
      "stop": 4505.03,
      "target": 4499.479,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.75,
        "bb_width_pct": 0.288
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T10-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T10:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4503.18,
      "stop": 4505.535,
      "target": 4498.47,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 19.75,
        "bb_width_pct": 0.288
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T10-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T10:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4503.18,
      "stop": 4504.719,
      "target": 4500.101,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.75,
        "bb_width_pct": 0.288
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T10-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T10:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4506.04,
      "stop": 4509.188,
      "target": 4499.745,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.74,
        "bb_width_pct": 0.315
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T10-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T10:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4506.04,
      "stop": 4508.727,
      "target": 4500.667,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.74,
        "bb_width_pct": 0.315
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T10-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T10:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4507.505,
      "stop": 4510.952,
      "target": 4500.61,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.61,
        "bb_width_pct": 0.391
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T10-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T10:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4507.505,
      "stop": 4511.323,
      "target": 4499.87,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 21.61,
        "bb_width_pct": 0.391
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T10-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T10:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4507.505,
      "stop": 4510.226,
      "target": 4502.064,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.61,
        "bb_width_pct": 0.391
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T11-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T11:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4508.785,
      "stop": 4511.767,
      "target": 4502.82,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.53,
        "bb_width_pct": 0.372
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T11-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T11:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4508.785,
      "stop": 4513.116,
      "target": 4500.122,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.53,
        "bb_width_pct": 0.372
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T11-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T11:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4508.785,
      "stop": 4511.245,
      "target": 4503.865,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.53,
        "bb_width_pct": 0.372
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T11-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T11:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4510.7,
      "stop": 4514.262,
      "target": 4503.577,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.81,
        "bb_width_pct": 0.371
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T11-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T11:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4510.7,
      "stop": 4513.792,
      "target": 4504.516,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.81,
        "bb_width_pct": 0.371
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T11-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T11:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4506.805,
      "stop": 4508.201,
      "target": 4504.013,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.81,
        "bb_width_pct": 0.359
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T11-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T11:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4506.805,
      "stop": 4509.664,
      "target": 4501.087,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.81,
        "bb_width_pct": 0.359
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T11-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T11:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4506.805,
      "stop": 4507.84,
      "target": 4504.734,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.81,
        "bb_width_pct": 0.359
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T11-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T11:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4507.295,
      "stop": 4510.399,
      "target": 4501.087,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.23,
        "bb_width_pct": 0.313
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T12-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T12:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4503.505,
      "stop": 4504.714,
      "target": 4501.087,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.81,
        "bb_width_pct": 0.228
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T12-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T12:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4503.495,
      "stop": 4501.875,
      "target": 4506.735,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.47,
        "bb_width_pct": 0.226
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T12-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T12:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4501.945,
      "stop": 4499.652,
      "target": 4506.53,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.98,
        "bb_width_pct": 0.244
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T12-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T12:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4501.945,
      "stop": 4500.271,
      "target": 4505.293,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.98,
        "bb_width_pct": 0.244
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T12-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T12:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4501.21,
      "stop": 4498.798,
      "target": 4506.033,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.62,
        "bb_width_pct": 0.256
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T12-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T12:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4501.21,
      "stop": 4499.347,
      "target": 4504.937,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.62,
        "bb_width_pct": 0.256
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T12-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T12:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4503.44,
      "stop": 4502.16,
      "target": 4505.999,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.17,
        "bb_width_pct": 0.259
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T12-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T12:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4506.975,
      "stop": 4509.919,
      "target": 4501.087,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.47,
        "bb_width_pct": 0.232
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T12-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T12:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4502.215,
      "stop": 4500.285,
      "target": 4506.076,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.54,
        "bb_width_pct": 0.234
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T13-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4501.9,
      "stop": 4499.984,
      "target": 4505.731,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.1,
        "bb_width_pct": 0.24
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T13-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4501.9,
      "stop": 4500.503,
      "target": 4504.694,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.1,
        "bb_width_pct": 0.24
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T13-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T13:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4501.265,
      "stop": 4499.268,
      "target": 4505.26,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.92,
        "bb_width_pct": 0.232
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T14-40-00Z_long_vwap_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T14:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4460.155,
      "stop": 4449.996,
      "target": 4480.474,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.85,
        "bb_width_pct": 1.077
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T14-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T14:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4460.155,
      "stop": 4450.161,
      "target": 4480.142,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.85,
        "bb_width_pct": 1.077
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T14-50-00Z_long_vwap_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T14:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4456.195,
      "stop": 4444.757,
      "target": 4479.07,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.9,
        "bb_width_pct": 0.655
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T14-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T14:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4456.195,
      "stop": 4444.557,
      "target": 4479.47,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.9,
        "bb_width_pct": 0.655
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T14-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T14:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4456.195,
      "stop": 4451.985,
      "target": 4464.615,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.9,
        "bb_width_pct": 0.655
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T14-55-00Z_long_vwap_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T14:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4458.81,
      "stop": 4448.977,
      "target": 4478.476,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.03,
        "bb_width_pct": 0.489
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T14-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T14:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4458.81,
      "stop": 4448.536,
      "target": 4479.358,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.03,
        "bb_width_pct": 0.489
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T15-00-00Z_long_vwap_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T15:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4460.36,
      "stop": 4451.549,
      "target": 4477.981,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.03,
        "bb_width_pct": 0.472
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T15-05-00Z_long_vwap_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T15:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4462.7,
      "stop": 4455.28,
      "target": 4477.54,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.12,
        "bb_width_pct": 0.464
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T15-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T15:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4462.7,
      "stop": 4454.448,
      "target": 4479.205,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.12,
        "bb_width_pct": 0.464
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T15-10-00Z_long_vwap_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T15:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4464.255,
      "stop": 4457.793,
      "target": 4477.179,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.92,
        "bb_width_pct": 0.454
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T15-15-00Z_long_vwap_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T15:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4465.355,
      "stop": 4459.591,
      "target": 4476.883,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.65,
        "bb_width_pct": 0.379
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T15-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T15:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4467.12,
      "stop": 4471.184,
      "target": 4458.992,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.18,
        "bb_width_pct": 0.377
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T15-20-00Z_long_vwap_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T15:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4467.12,
      "stop": 4462.367,
      "target": 4476.626,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.18,
        "bb_width_pct": 0.377
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T15-25-00Z_long_vwap_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T15:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4468.42,
      "stop": 4464.417,
      "target": 4476.427,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.28,
        "bb_width_pct": 0.406
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T15-35-00Z_short_rsi_range_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T15:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4476.8,
      "stop": 4484.393,
      "target": 4461.613,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 21.72,
        "bb_width_pct": 0.579
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T15-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T15:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4472.275,
      "stop": 4477.167,
      "target": 4462.492,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.03,
        "bb_width_pct": 0.596
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T15-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T15:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4472.275,
      "stop": 4474.748,
      "target": 4467.329,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.03,
        "bb_width_pct": 0.596
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T15-45-00Z_short_rsi_range_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T15:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4469.88,
      "stop": 4473.339,
      "target": 4462.961,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 11.74,
        "bb_width_pct": 0.611
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T16-00-00Z_short_rsi_range_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4473.575,
      "stop": 4477.756,
      "target": 4465.212,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 19.04,
        "bb_width_pct": 0.649
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T16-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4473.575,
      "stop": 4475.855,
      "target": 4469.016,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.04,
        "bb_width_pct": 0.649
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T16-20-00Z_long_vwap_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T16:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4468.295,
      "stop": 4464.738,
      "target": 4475.409,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.03,
        "bb_width_pct": 0.552
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T17-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T17:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4476.39,
      "stop": 4478.62,
      "target": 4471.931,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.3,
        "bb_width_pct": 0.372
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T17-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T17:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4476.39,
      "stop": 4482.052,
      "target": 4465.065,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.3,
        "bb_width_pct": 0.372
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T17-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T17:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4476.39,
      "stop": 4478.828,
      "target": 4471.514,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.3,
        "bb_width_pct": 0.372
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T17-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T17:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4473.615,
      "stop": 4477.89,
      "target": 4465.065,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.06,
        "bb_width_pct": 0.366
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T17-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T17:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4481.4,
      "stop": 4485.43,
      "target": 4473.34,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.87,
        "bb_width_pct": 0.441
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T17-30-00Z_short_rsi_range_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T17:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4481.4,
      "stop": 4485.43,
      "target": 4473.34,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 20.87,
        "bb_width_pct": 0.441
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T17-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T17:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4481.4,
      "stop": 4488.896,
      "target": 4466.407,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 20.87,
        "bb_width_pct": 0.441
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T17-55-00Z_short_rsi_range_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T17:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4487.46,
      "stop": 4492.162,
      "target": 4478.057,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 10.24,
        "bb_width_pct": 0.699
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T17-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T17:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4487.46,
      "stop": 4494.205,
      "target": 4473.97,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.24,
        "bb_width_pct": 0.699
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T17-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T17:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4487.46,
      "stop": 4491.09,
      "target": 4480.2,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.24,
        "bb_width_pct": 0.699
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T18-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T18:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4487.025,
      "stop": 4490.113,
      "target": 4480.85,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.63,
        "bb_width_pct": 0.69
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T18-10-00Z_short_rsi_range_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T18:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4488.725,
      "stop": 4492.567,
      "target": 4481.042,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 24.77,
        "bb_width_pct": 0.665
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T18-10-00Z_short_vwap_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T18:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4488.725,
      "stop": 4491.478,
      "target": 4483.22,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 24.77,
        "bb_width_pct": 0.665
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T18-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T18:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4488.725,
      "stop": 4495.426,
      "target": 4475.323,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 24.77,
        "bb_width_pct": 0.665
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T18-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T18:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4488.725,
      "stop": 4491.903,
      "target": 4482.37,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 24.77,
        "bb_width_pct": 0.665
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T18-20-00Z_short_rsi_range_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T18:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4489.225,
      "stop": 4492.291,
      "target": 4483.093,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 23.68,
        "bb_width_pct": 0.585
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T18-20-00Z_short_vwap_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T18:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4489.225,
      "stop": 4491.891,
      "target": 4483.893,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 23.68,
        "bb_width_pct": 0.585
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T18-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T18:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4489.225,
      "stop": 4496.054,
      "target": 4475.568,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 23.68,
        "bb_width_pct": 0.585
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T18-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T18:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4489.225,
      "stop": 4492.028,
      "target": 4483.619,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 23.68,
        "bb_width_pct": 0.585
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T19-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T19:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4483.945,
      "stop": 4482.417,
      "target": 4487.001,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.43,
        "bb_width_pct": 0.14
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T19-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T19:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4484.46,
      "stop": 4483.264,
      "target": 4486.851,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.77,
        "bb_width_pct": 0.148
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T19-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T19:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4481.265,
      "stop": 4479.129,
      "target": 4485.538,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.69,
        "bb_width_pct": 0.199
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T19-55-00Z_long_rsi_range_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T19:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4481.265,
      "stop": 4479.129,
      "target": 4485.538,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.69,
        "bb_width_pct": 0.199
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T19-55-00Z_long_vwap_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T19:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4481.265,
      "stop": 4479.52,
      "target": 4484.756,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.69,
        "bb_width_pct": 0.199
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T19-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T19:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4481.265,
      "stop": 4479.787,
      "target": 4484.222,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.69,
        "bb_width_pct": 0.199
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T20-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T20:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4482.925,
      "stop": 4481.776,
      "target": 4485.223,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.26,
        "bb_width_pct": 0.19
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T20-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T20:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4482.925,
      "stop": 4482.338,
      "target": 4484.098,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.26,
        "bb_width_pct": 0.19
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T20-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T20:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4484.03,
      "stop": 4482.37,
      "target": 4487.35,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 2.0,
        "bb_width_pct": 0.122
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T22-10-00Z_long_vwap_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T22:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4484.51,
      "stop": 4475.416,
      "target": 4502.699,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.76,
        "bb_width_pct": 0.097
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T22-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T22:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4482.76,
      "stop": 4482.515,
      "target": 4483.249,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.05,
        "bb_width_pct": 0.082
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T22-35-00Z_long_vwap_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T22:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4482.76,
      "stop": 4474.349,
      "target": 4499.582,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.05,
        "bb_width_pct": 0.082
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T22-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T22:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4482.76,
      "stop": 4481.8,
      "target": 4484.68,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.05,
        "bb_width_pct": 0.082
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T22-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T22:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4481.545,
      "stop": 4480.727,
      "target": 4483.181,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.96,
        "bb_width_pct": 0.089
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T22-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T22:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4484.08,
      "stop": 4484.516,
      "target": 4483.208,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.18,
        "bb_width_pct": 0.09
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T22-45-00Z_long_vwap_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T22:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4484.08,
      "stop": 4476.819,
      "target": 4498.603,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.18,
        "bb_width_pct": 0.09
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T22-55-00Z_long_vwap_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T22:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4485.765,
      "stop": 4479.732,
      "target": 4497.83,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.45,
        "bb_width_pct": 0.103
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T23-00-00Z_long_vwap_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4486.205,
      "stop": 4480.562,
      "target": 4497.492,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.91,
        "bb_width_pct": 0.116
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T23-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4486.205,
      "stop": 4487.448,
      "target": 4483.718,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.91,
        "bb_width_pct": 0.116
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T23-10-00Z_long_vwap_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4486.085,
      "stop": 4480.685,
      "target": 4496.884,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.92,
        "bb_width_pct": 0.128
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T23-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4486.57,
      "stop": 4487.938,
      "target": 4483.833,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.54,
        "bb_width_pct": 0.139
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T23-15-00Z_long_vwap_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4486.57,
      "stop": 4481.538,
      "target": 4496.634,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.54,
        "bb_width_pct": 0.139
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T23-20-00Z_long_vwap_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T23:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4487.685,
      "stop": 4483.329,
      "target": 4496.397,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.29,
        "bb_width_pct": 0.156
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T23-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T23:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4487.205,
      "stop": 4488.686,
      "target": 4484.244,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.16,
        "bb_width_pct": 0.167
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T23-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T23:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4487.205,
      "stop": 4488.996,
      "target": 4483.622,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.16,
        "bb_width_pct": 0.167
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T23-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4484.685,
      "stop": 4485.151,
      "target": 4483.753,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.82,
        "bb_width_pct": 0.166
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T23-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4484.515,
      "stop": 4484.359,
      "target": 4484.826,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.13,
        "bb_width_pct": 0.166
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T23-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4481.0,
      "stop": 4479.376,
      "target": 4484.248,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.33,
        "bb_width_pct": 0.174
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T23-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4481.0,
      "stop": 4479.33,
      "target": 4484.341,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.33,
        "bb_width_pct": 0.174
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-01T23-50-00Z_long_vwap_mean_reversion",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T23:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4484.815,
      "stop": 4479.794,
      "target": 4494.857,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.73,
        "bb_width_pct": 0.174
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T00-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T00:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4481.33,
      "stop": 4479.888,
      "target": 4484.215,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.58,
        "bb_width_pct": 0.198
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T00-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T00:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4481.33,
      "stop": 4480.681,
      "target": 4482.628,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.58,
        "bb_width_pct": 0.198
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T00-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T00:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4481.33,
      "stop": 4480.19,
      "target": 4483.61,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.58,
        "bb_width_pct": 0.198
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T00-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4489.33,
      "stop": 4491.235,
      "target": 4485.52,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.43,
        "bb_width_pct": 0.286
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T00-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4489.33,
      "stop": 4491.288,
      "target": 4485.415,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.43,
        "bb_width_pct": 0.286
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T00-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4489.33,
      "stop": 4491.173,
      "target": 4485.643,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.43,
        "bb_width_pct": 0.286
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T01-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4481.97,
      "stop": 4480.551,
      "target": 4484.809,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.33,
        "bb_width_pct": 0.323
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T01-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4481.97,
      "stop": 4479.444,
      "target": 4487.023,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 3.33,
        "bb_width_pct": 0.323
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T01-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4481.97,
      "stop": 4480.625,
      "target": 4484.661,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.33,
        "bb_width_pct": 0.323
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T01-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T01:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4475.31,
      "stop": 4471.21,
      "target": 4483.51,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.37,
        "bb_width_pct": 0.394
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T01-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T01:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4473.545,
      "stop": 4469.037,
      "target": 4482.561,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.04,
        "bb_width_pct": 0.446
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T01-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T01:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4474.03,
      "stop": 4469.19,
      "target": 4483.709,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.13,
        "bb_width_pct": 0.487
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T01-55-00Z_long_vwap_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T01:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4474.03,
      "stop": 4469.208,
      "target": 4483.675,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.13,
        "bb_width_pct": 0.487
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T03-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4488.05,
      "stop": 4492.078,
      "target": 4479.994,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.52,
        "bb_width_pct": 0.414
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T03-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4488.05,
      "stop": 4491.526,
      "target": 4481.098,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.52,
        "bb_width_pct": 0.414
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T03-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T03:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4486.53,
      "stop": 4489.8,
      "target": 4479.99,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.39,
        "bb_width_pct": 0.414
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T03-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4489.92,
      "stop": 4494.657,
      "target": 4480.446,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.3,
        "bb_width_pct": 0.463
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T03-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4489.92,
      "stop": 4493.39,
      "target": 4482.981,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.3,
        "bb_width_pct": 0.463
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T03-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4493.96,
      "stop": 4499.456,
      "target": 4482.969,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.66,
        "bb_width_pct": 0.576
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T03-30-00Z_short_vwap_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4493.96,
      "stop": 4499.163,
      "target": 4483.554,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 16.66,
        "bb_width_pct": 0.576
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T03-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4493.96,
      "stop": 4500.747,
      "target": 4480.385,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 16.66,
        "bb_width_pct": 0.576
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T03-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T03:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4494.77,
      "stop": 4500.152,
      "target": 4484.006,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.95,
        "bb_width_pct": 0.589
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T04-20-00Z_short_rsi_range_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4505.645,
      "stop": 4511.474,
      "target": 4493.987,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 27.83,
        "bb_width_pct": 0.755
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T04-20-00Z_short_vwap_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4505.645,
      "stop": 4515.08,
      "target": 4486.775,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 27.83,
        "bb_width_pct": 0.755
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T04-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4505.645,
      "stop": 4515.179,
      "target": 4486.578,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 27.83,
        "bb_width_pct": 0.755
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T04-25-00Z_short_rsi_range_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T04:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4504.67,
      "stop": 4509.262,
      "target": 4495.486,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 26.35,
        "bb_width_pct": 0.671
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T04-25-00Z_short_vwap_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T04:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4504.67,
      "stop": 4513.449,
      "target": 4487.112,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 26.35,
        "bb_width_pct": 0.671
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T04-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T04:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4504.67,
      "stop": 4513.716,
      "target": 4486.578,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 26.35,
        "bb_width_pct": 0.671
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T05-45-00Z_short_rsi_range_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T05:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4523.65,
      "stop": 4527.987,
      "target": 4514.976,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 23.53,
        "bb_width_pct": 0.599
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T05-45-00Z_short_vwap_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T05:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4523.65,
      "stop": 4538.493,
      "target": 4493.964,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 23.53,
        "bb_width_pct": 0.599
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T05-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T05:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4523.65,
      "stop": 4535.026,
      "target": 4500.898,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 23.53,
        "bb_width_pct": 0.599
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T05-50-00Z_short_vwap_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4519.715,
      "stop": 4532.402,
      "target": 4494.341,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.0,
        "bb_width_pct": 0.568
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T05-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4519.715,
      "stop": 4529.124,
      "target": 4500.898,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.0,
        "bb_width_pct": 0.568
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T05-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4519.715,
      "stop": 4521.861,
      "target": 4515.423,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.0,
        "bb_width_pct": 0.568
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T05-55-00Z_short_vwap_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T05:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4517.195,
      "stop": 4528.459,
      "target": 4494.666,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.4,
        "bb_width_pct": 0.546
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T06-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4521.065,
      "stop": 4523.318,
      "target": 4516.558,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.12,
        "bb_width_pct": 0.447
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T06-10-00Z_short_vwap_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T06:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4519.11,
      "stop": 4530.811,
      "target": 4495.707,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.53,
        "bb_width_pct": 0.399
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T06-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T06:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4519.11,
      "stop": 4526.87,
      "target": 4503.59,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.53,
        "bb_width_pct": 0.399
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T06-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T06:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4520.42,
      "stop": 4522.057,
      "target": 4517.146,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.69,
        "bb_width_pct": 0.353
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T06-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4534.075,
      "stop": 4539.697,
      "target": 4522.831,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.09,
        "bb_width_pct": 0.514
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T06-35-00Z_short_vwap_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4534.075,
      "stop": 4552.19,
      "target": 4497.845,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.09,
        "bb_width_pct": 0.514
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T06-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4534.075,
      "stop": 4545.366,
      "target": 4511.493,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.09,
        "bb_width_pct": 0.514
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T06-40-00Z_short_vwap_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T06:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4532.91,
      "stop": 4550.225,
      "target": 4498.281,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.16,
        "bb_width_pct": 0.528
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T06-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T06:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4532.91,
      "stop": 4542.334,
      "target": 4514.062,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.16,
        "bb_width_pct": 0.528
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T06-50-00Z_short_vwap_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T06:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4533.035,
      "stop": 4549.987,
      "target": 4499.132,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.9,
        "bb_width_pct": 0.547
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T06-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T06:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4533.035,
      "stop": 4541.487,
      "target": 4516.13,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.9,
        "bb_width_pct": 0.547
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T07-20-00Z_short_rsi_range_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T07:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4536.81,
      "stop": 4540.211,
      "target": 4530.008,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 25.55,
        "bb_width_pct": 0.669
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T07-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T07:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4536.81,
      "stop": 4544.743,
      "target": 4520.945,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 25.55,
        "bb_width_pct": 0.669
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T07-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T07:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4536.81,
      "stop": 4539.744,
      "target": 4530.943,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 25.55,
        "bb_width_pct": 0.669
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T07-25-00Z_short_rsi_range_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T07:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4534.11,
      "stop": 4535.9,
      "target": 4530.531,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 7.73,
        "bb_width_pct": 0.661
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T07-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T07:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4534.11,
      "stop": 4540.181,
      "target": 4521.968,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.73,
        "bb_width_pct": 0.661
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T08-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4534.49,
      "stop": 4538.827,
      "target": 4525.815,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.85,
        "bb_width_pct": 0.214
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T08-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T08:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4535.555,
      "stop": 4537.09,
      "target": 4532.484,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.29,
        "bb_width_pct": 0.212
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T08-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T08:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4534.93,
      "stop": 4538.763,
      "target": 4527.265,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.15,
        "bb_width_pct": 0.211
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T08-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T08:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4534.225,
      "stop": 4533.946,
      "target": 4534.783,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.91,
        "bb_width_pct": 0.212
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T09-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4527.375,
      "stop": 4525.143,
      "target": 4531.839,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.02,
        "bb_width_pct": 0.23
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T09-00-00Z_long_vwap_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4527.375,
      "stop": 4524.502,
      "target": 4533.121,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.02,
        "bb_width_pct": 0.23
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T09-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4527.375,
      "stop": 4525.714,
      "target": 4530.697,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.02,
        "bb_width_pct": 0.23
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T09-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T09:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4526.82,
      "stop": 4524.575,
      "target": 4531.31,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.02,
        "bb_width_pct": 0.259
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T09-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T09:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4526.82,
      "stop": 4524.902,
      "target": 4530.656,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.02,
        "bb_width_pct": 0.259
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T09-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4525.79,
      "stop": 4523.153,
      "target": 4531.064,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.94,
        "bb_width_pct": 0.28
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T09-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4525.79,
      "stop": 4523.589,
      "target": 4530.193,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.94,
        "bb_width_pct": 0.28
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T09-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4524.71,
      "stop": 4521.794,
      "target": 4530.542,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.3,
        "bb_width_pct": 0.292
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T09-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4524.71,
      "stop": 4522.23,
      "target": 4529.671,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.3,
        "bb_width_pct": 0.292
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T09-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T09:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4525.595,
      "stop": 4523.344,
      "target": 4530.098,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.61,
        "bb_width_pct": 0.296
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T09-40-00Z_long_vwap_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T09:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4525.595,
      "stop": 4522.372,
      "target": 4532.04,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.61,
        "bb_width_pct": 0.296
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T09-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T09:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4525.595,
      "stop": 4522.426,
      "target": 4531.932,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.61,
        "bb_width_pct": 0.296
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T09-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T09:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4525.595,
      "stop": 4523.751,
      "target": 4529.282,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.61,
        "bb_width_pct": 0.296
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T09-45-00Z_long_vwap_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T09:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4526.44,
      "stop": 4523.724,
      "target": 4531.872,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.99,
        "bb_width_pct": 0.282
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T11-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4531.34,
      "stop": 4532.742,
      "target": 4528.535,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.2,
        "bb_width_pct": 0.207
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T11-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4531.34,
      "stop": 4532.184,
      "target": 4529.652,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.2,
        "bb_width_pct": 0.207
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T12-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T12:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4527.365,
      "stop": 4526.505,
      "target": 4529.084,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.76,
        "bb_width_pct": 0.155
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T12-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T12:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4526.85,
      "stop": 4525.774,
      "target": 4529.002,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.07,
        "bb_width_pct": 0.162
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T12-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T12:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4529.515,
      "stop": 4529.745,
      "target": 4529.055,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.83,
        "bb_width_pct": 0.164
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T12-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T12:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4529.515,
      "stop": 4529.904,
      "target": 4528.738,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.83,
        "bb_width_pct": 0.164
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T12-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T12:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4529.515,
      "stop": 4529.951,
      "target": 4528.643,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.83,
        "bb_width_pct": 0.164
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T12-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T12:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4527.91,
      "stop": 4527.447,
      "target": 4528.836,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.25,
        "bb_width_pct": 0.152
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T12-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T12:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4527.91,
      "stop": 4527.578,
      "target": 4528.573,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.25,
        "bb_width_pct": 0.152
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T12-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T12:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4525.14,
      "stop": 4523.654,
      "target": 4528.112,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.42,
        "bb_width_pct": 0.141
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T12-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T12:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4520.33,
      "stop": 4516.889,
      "target": 4527.212,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.13,
        "bb_width_pct": 0.201
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T13-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4520.405,
      "stop": 4517.675,
      "target": 4525.864,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.46,
        "bb_width_pct": 0.402
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T13-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4520.405,
      "stop": 4518.507,
      "target": 4524.2,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.46,
        "bb_width_pct": 0.402
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T13-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4520.405,
      "stop": 4518.336,
      "target": 4524.542,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.46,
        "bb_width_pct": 0.402
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T13-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T13:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4516.665,
      "stop": 4512.403,
      "target": 4525.189,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.56,
        "bb_width_pct": 0.429
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T13-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T13:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4516.665,
      "stop": 4513.101,
      "target": 4523.792,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.56,
        "bb_width_pct": 0.429
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T13-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T13:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4514.155,
      "stop": 4509.034,
      "target": 4524.396,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.27,
        "bb_width_pct": 0.467
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T13-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T13:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4514.155,
      "stop": 4509.795,
      "target": 4522.874,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.27,
        "bb_width_pct": 0.467
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T13-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T13:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4513.1,
      "stop": 4508.155,
      "target": 4522.99,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.17,
        "bb_width_pct": 0.546
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T13-20-00Z_long_rsi_range_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T13:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4513.1,
      "stop": 4508.155,
      "target": 4522.99,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.17,
        "bb_width_pct": 0.546
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T13-20-00Z_long_vwap_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T13:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4513.1,
      "stop": 4508.477,
      "target": 4522.346,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.17,
        "bb_width_pct": 0.546
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T13-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T13:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4513.1,
      "stop": 4507.954,
      "target": 4523.392,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.17,
        "bb_width_pct": 0.546
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T13-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T13:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4513.1,
      "stop": 4509.106,
      "target": 4521.088,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.17,
        "bb_width_pct": 0.546
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T13-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T13:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4510.87,
      "stop": 4506.247,
      "target": 4520.115,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.84,
        "bb_width_pct": 0.578
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T13-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4508.375,
      "stop": 4502.03,
      "target": 4521.066,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.13,
        "bb_width_pct": 0.619
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T13-35-00Z_long_rsi_range_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4511.16,
      "stop": 4506.619,
      "target": 4520.242,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.4,
        "bb_width_pct": 0.632
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T13-35-00Z_long_vwap_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4511.16,
      "stop": 4506.464,
      "target": 4520.552,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.4,
        "bb_width_pct": 0.632
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T13-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4511.16,
      "stop": 4506.299,
      "target": 4520.882,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 18.4,
        "bb_width_pct": 0.632
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T13-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4511.16,
      "stop": 4507.615,
      "target": 4518.251,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.4,
        "bb_width_pct": 0.632
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T13-45-00Z_long_rsi_range_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4509.86,
      "stop": 4505.587,
      "target": 4518.405,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.34,
        "bb_width_pct": 0.652
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T13-45-00Z_long_vwap_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4509.86,
      "stop": 4505.003,
      "target": 4519.574,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.34,
        "bb_width_pct": 0.652
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T13-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4509.86,
      "stop": 4504.499,
      "target": 4520.583,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 18.34,
        "bb_width_pct": 0.652
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T13-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4509.86,
      "stop": 4506.477,
      "target": 4516.626,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.34,
        "bb_width_pct": 0.652
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T14-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4502.47,
      "stop": 4496.353,
      "target": 4514.703,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.24,
        "bb_width_pct": 0.685
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T14-05-00Z_long_rsi_range_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T14:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4502.965,
      "stop": 4497.76,
      "target": 4513.376,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.06,
        "bb_width_pct": 0.651
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T14-05-00Z_long_vwap_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T14:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4502.965,
      "stop": 4495.838,
      "target": 4517.219,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.06,
        "bb_width_pct": 0.651
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T14-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T14:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4502.965,
      "stop": 4496.123,
      "target": 4516.65,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 20.06,
        "bb_width_pct": 0.651
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T14-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T14:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4502.965,
      "stop": 4498.346,
      "target": 4512.203,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.06,
        "bb_width_pct": 0.651
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T14-10-00Z_long_rsi_range_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T14:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4504.365,
      "stop": 4500.448,
      "target": 4512.199,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.73,
        "bb_width_pct": 0.602
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T14-10-00Z_long_vwap_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T14:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4504.365,
      "stop": 4498.169,
      "target": 4516.757,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.73,
        "bb_width_pct": 0.602
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T14-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T14:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4504.365,
      "stop": 4498.222,
      "target": 4516.65,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.73,
        "bb_width_pct": 0.602
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T14-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T14:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4495.745,
      "stop": 4489.653,
      "target": 4507.929,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.96,
        "bb_width_pct": 0.643
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T14-25-00Z_long_rsi_range_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T14:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4495.745,
      "stop": 4489.653,
      "target": 4507.929,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.96,
        "bb_width_pct": 0.643
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T14-25-00Z_long_vwap_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T14:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4495.745,
      "stop": 4486.289,
      "target": 4514.657,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.96,
        "bb_width_pct": 0.643
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T14-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T14:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4495.745,
      "stop": 4487.461,
      "target": 4512.312,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 19.96,
        "bb_width_pct": 0.643
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T14-30-00Z_long_vwap_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4499.505,
      "stop": 4492.192,
      "target": 4514.131,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.14,
        "bb_width_pct": 0.646
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T14-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4499.505,
      "stop": 4493.101,
      "target": 4512.312,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 13.14,
        "bb_width_pct": 0.646
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T14-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4499.505,
      "stop": 4496.028,
      "target": 4506.46,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.14,
        "bb_width_pct": 0.646
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T14-35-00Z_long_vwap_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T14:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4502.89,
      "stop": 4497.456,
      "target": 4513.759,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.39,
        "bb_width_pct": 0.631
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T14-40-00Z_long_vwap_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T14:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4504.49,
      "stop": 4500.007,
      "target": 4513.455,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.8,
        "bb_width_pct": 0.565
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T14-50-00Z_long_vwap_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T14:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4504.23,
      "stop": 4499.891,
      "target": 4512.909,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.07,
        "bb_width_pct": 0.487
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T14-55-00Z_long_vwap_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T14:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4504.27,
      "stop": 4500.077,
      "target": 4512.655,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.45,
        "bb_width_pct": 0.457
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T15-15-00Z_long_vwap_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T15:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4504.56,
      "stop": 4500.912,
      "target": 4511.856,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.27,
        "bb_width_pct": 0.353
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T15-25-00Z_long_vwap_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T15:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4505.425,
      "stop": 4502.392,
      "target": 4511.49,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.81,
        "bb_width_pct": 0.305
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T16-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T16:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4501.97,
      "stop": 4501.094,
      "target": 4503.722,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.48,
        "bb_width_pct": 0.156
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T16-05-00Z_long_vwap_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T16:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4501.97,
      "stop": 4497.854,
      "target": 4510.202,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.48,
        "bb_width_pct": 0.156
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T16-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T16:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4489.895,
      "stop": 4484.899,
      "target": 4499.887,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.92,
        "bb_width_pct": 0.547
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T16-40-00Z_long_rsi_range_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T16:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4489.895,
      "stop": 4484.899,
      "target": 4499.887,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.92,
        "bb_width_pct": 0.547
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T16-40-00Z_long_vwap_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T16:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4489.895,
      "stop": 4480.813,
      "target": 4508.058,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.92,
        "bb_width_pct": 0.547
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T16-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T16:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4489.895,
      "stop": 4484.264,
      "target": 4501.157,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 26.92,
        "bb_width_pct": 0.547
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T16-45-00Z_long_rsi_range_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4490.905,
      "stop": 4486.81,
      "target": 4499.094,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.83,
        "bb_width_pct": 0.555
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T16-45-00Z_long_vwap_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4490.905,
      "stop": 4482.478,
      "target": 4507.759,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.83,
        "bb_width_pct": 0.555
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T16-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4490.905,
      "stop": 4486.134,
      "target": 4500.448,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 21.83,
        "bb_width_pct": 0.555
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T16-55-00Z_long_rsi_range_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4491.965,
      "stop": 4489.066,
      "target": 4497.764,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.82,
        "bb_width_pct": 0.575
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T16-55-00Z_long_vwap_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4491.965,
      "stop": 4484.353,
      "target": 4507.19,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.82,
        "bb_width_pct": 0.575
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T16-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4491.965,
      "stop": 4487.724,
      "target": 4500.448,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 24.82,
        "bb_width_pct": 0.575
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T16-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4491.965,
      "stop": 4489.962,
      "target": 4495.971,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.82,
        "bb_width_pct": 0.575
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T17-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T17:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4490.48,
      "stop": 4487.996,
      "target": 4495.448,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.22,
        "bb_width_pct": 0.578
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T17-10-00Z_long_rsi_range_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T17:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4489.635,
      "stop": 4486.783,
      "target": 4495.339,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.18,
        "bb_width_pct": 0.557
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T17-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T17:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4489.635,
      "stop": 4485.704,
      "target": 4497.497,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 24.18,
        "bb_width_pct": 0.557
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T17-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T17:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4489.635,
      "stop": 4487.368,
      "target": 4494.168,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.18,
        "bb_width_pct": 0.557
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T17-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T17:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4488.295,
      "stop": 4483.694,
      "target": 4497.497,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 13.81,
        "bb_width_pct": 0.531
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T17-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T17:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4488.295,
      "stop": 4485.932,
      "target": 4493.022,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.81,
        "bb_width_pct": 0.531
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T17-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T17:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4491.23,
      "stop": 4488.096,
      "target": 4497.497,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.18,
        "bb_width_pct": 0.472
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T17-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T17:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4491.23,
      "stop": 4490.419,
      "target": 4492.851,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.18,
        "bb_width_pct": 0.472
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T17-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T17:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4482.98,
      "stop": 4478.816,
      "target": 4491.308,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.49,
        "bb_width_pct": 0.408
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T17-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T17:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4484.66,
      "stop": 4479.295,
      "target": 4495.39,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.29,
        "bb_width_pct": 0.379
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T17-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T17:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4486.135,
      "stop": 4481.507,
      "target": 4495.39,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.78,
        "bb_width_pct": 0.306
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T17-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T17:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4486.135,
      "stop": 4483.986,
      "target": 4490.434,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.78,
        "bb_width_pct": 0.306
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T17-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T17:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4484.615,
      "stop": 4479.227,
      "target": 4495.39,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.41,
        "bb_width_pct": 0.258
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T17-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T17:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4484.615,
      "stop": 4482.265,
      "target": 4489.316,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.41,
        "bb_width_pct": 0.258
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T18-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T18:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4486.635,
      "stop": 4482.257,
      "target": 4495.39,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.97,
        "bb_width_pct": 0.227
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T18-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T18:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4487.625,
      "stop": 4483.743,
      "target": 4495.39,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.91,
        "bb_width_pct": 0.222
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T18-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T18:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4487.66,
      "stop": 4483.795,
      "target": 4495.39,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.68,
        "bb_width_pct": 0.226
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T18-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T18:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4486.7,
      "stop": 4483.194,
      "target": 4493.712,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.22,
        "bb_width_pct": 0.217
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T18-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T18:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4486.7,
      "stop": 4486.454,
      "target": 4487.192,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.22,
        "bb_width_pct": 0.217
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T20-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T20:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4489.495,
      "stop": 4491.538,
      "target": 4485.41,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.35,
        "bb_width_pct": 0.126
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T20-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T20:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4489.695,
      "stop": 4490.536,
      "target": 4488.013,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.17,
        "bb_width_pct": 0.134
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T20-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T20:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4489.695,
      "stop": 4491.897,
      "target": 4485.29,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.17,
        "bb_width_pct": 0.134
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T20-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T20:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4489.63,
      "stop": 4491.8,
      "target": 4485.29,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.06,
        "bb_width_pct": 0.137
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T20-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4489.11,
      "stop": 4491.02,
      "target": 4485.29,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 16.72,
        "bb_width_pct": 0.138
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T20-45-00Z_short_rsi_range_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T20:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4488.935,
      "stop": 4489.323,
      "target": 4488.159,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 5.61,
        "bb_width_pct": 0.139
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T20-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T20:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4488.935,
      "stop": 4490.765,
      "target": 4485.275,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.61,
        "bb_width_pct": 0.139
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T22-00-00Z_long_vwap_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T22:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4490.235,
      "stop": 4471.603,
      "target": 4527.499,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.66,
        "bb_width_pct": 0.135
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T22-05-00Z_long_vwap_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T22:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4492.11,
      "stop": 4475.115,
      "target": 4526.101,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.34,
        "bb_width_pct": 0.151
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T22-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T22:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4489.7,
      "stop": 4490.195,
      "target": 4488.711,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.29,
        "bb_width_pct": 0.147
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T22-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T22:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4489.7,
      "stop": 4491.524,
      "target": 4486.052,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.29,
        "bb_width_pct": 0.147
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T22-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T22:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4489.7,
      "stop": 4490.047,
      "target": 4489.006,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.29,
        "bb_width_pct": 0.147
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T22-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T22:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4488.805,
      "stop": 4490.181,
      "target": 4486.052,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.31,
        "bb_width_pct": 0.115
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T22-25-00Z_long_vwap_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T22:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4490.205,
      "stop": 4474.675,
      "target": 4521.264,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.5,
        "bb_width_pct": 0.111
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T22-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T22:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4488.495,
      "stop": 4489.716,
      "target": 4486.052,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.16,
        "bb_width_pct": 0.096
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T22-35-00Z_long_vwap_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T22:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4488.755,
      "stop": 4473.509,
      "target": 4519.246,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.07,
        "bb_width_pct": 0.094
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T22-40-00Z_long_vwap_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T22:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4489.04,
      "stop": 4474.396,
      "target": 4518.327,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.91,
        "bb_width_pct": 0.087
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T22-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T22:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4489.015,
      "stop": 4488.812,
      "target": 4489.421,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.25,
        "bb_width_pct": 0.084
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T22-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T22:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4489.015,
      "stop": 4490.496,
      "target": 4486.052,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.25,
        "bb_width_pct": 0.084
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T22-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T22:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4489.015,
      "stop": 4489.007,
      "target": 4489.032,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.25,
        "bb_width_pct": 0.084
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T23-00-00Z_long_vwap_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4485.27,
      "stop": 4470.431,
      "target": 4514.948,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.72,
        "bb_width_pct": 0.142
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T23-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4485.27,
      "stop": 4483.82,
      "target": 4488.17,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.72,
        "bb_width_pct": 0.142
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T23-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4482.59,
      "stop": 4480.066,
      "target": 4487.639,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.01,
        "bb_width_pct": 0.184
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T23-40-00Z_long_rsi_range_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4475.225,
      "stop": 4471.931,
      "target": 4481.812,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.79,
        "bb_width_pct": 0.815
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T23-40-00Z_long_vwap_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4475.225,
      "stop": 4459.199,
      "target": 4507.278,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.79,
        "bb_width_pct": 0.815
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T23-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4475.225,
      "stop": 4473.935,
      "target": 4477.805,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.79,
        "bb_width_pct": 0.815
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T23-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4475.225,
      "stop": 4473.473,
      "target": 4478.729,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.79,
        "bb_width_pct": 0.815
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T23-50-00Z_long_rsi_range_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T23:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4473.62,
      "stop": 4470.431,
      "target": 4479.998,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.83,
        "bb_width_pct": 0.799
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T23-50-00Z_long_vwap_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T23:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4473.62,
      "stop": 4457.527,
      "target": 4505.807,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.83,
        "bb_width_pct": 0.799
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T23-55-00Z_long_rsi_range_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T23:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4474.465,
      "stop": 4472.068,
      "target": 4479.259,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.6,
        "bb_width_pct": 0.782
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-02T23-55-00Z_long_vwap_mean_reversion",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T23:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4474.465,
      "stop": 4459.129,
      "target": 4505.136,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.6,
        "bb_width_pct": 0.782
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T00-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T00:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4491.085,
      "stop": 4497.965,
      "target": 4477.326,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.09,
        "bb_width_pct": 0.745
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T00-45-00Z_short_rsi_range_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T00:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4491.085,
      "stop": 4497.965,
      "target": 4477.326,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 21.09,
        "bb_width_pct": 0.745
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T00-45-00Z_short_vwap_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T00:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4491.085,
      "stop": 4495.148,
      "target": 4482.96,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 21.09,
        "bb_width_pct": 0.745
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T00-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T00:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4491.085,
      "stop": 4496.834,
      "target": 4479.587,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 21.09,
        "bb_width_pct": 0.745
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T00-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T00:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4489.06,
      "stop": 4493.796,
      "target": 4479.587,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 25.2,
        "bb_width_pct": 0.779
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T00-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T00:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4489.06,
      "stop": 4492.072,
      "target": 4483.037,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 25.2,
        "bb_width_pct": 0.779
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T01-05-00Z_long_vwap_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T01:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4474.43,
      "stop": 4470.294,
      "target": 4482.701,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.38,
        "bb_width_pct": 0.725
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T01-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T01:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4474.43,
      "stop": 4471.851,
      "target": 4479.587,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.38,
        "bb_width_pct": 0.725
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T01-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T01:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4474.43,
      "stop": 4470.809,
      "target": 4481.672,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.38,
        "bb_width_pct": 0.725
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T01-25-00Z_long_vwap_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T01:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4467.305,
      "stop": 4461.092,
      "target": 4479.732,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.5,
        "bb_width_pct": 0.738
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T01-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T01:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4467.305,
      "stop": 4461.164,
      "target": 4479.587,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 13.5,
        "bb_width_pct": 0.738
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T01-30-00Z_long_vwap_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4471.415,
      "stop": 4467.498,
      "target": 4479.248,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.55,
        "bb_width_pct": 0.745
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T01-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4471.415,
      "stop": 4467.329,
      "target": 4479.587,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 13.55,
        "bb_width_pct": 0.745
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T01-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4471.415,
      "stop": 4468.744,
      "target": 4476.757,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.55,
        "bb_width_pct": 0.745
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T01-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T01:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4470.555,
      "stop": 4466.039,
      "target": 4479.587,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 22.92,
        "bb_width_pct": 0.796
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T01-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T01:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4470.555,
      "stop": 4468.192,
      "target": 4475.281,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.92,
        "bb_width_pct": 0.796
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T02-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T02:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4479.0,
      "stop": 4481.247,
      "target": 4474.507,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.72,
        "bb_width_pct": 0.414
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T02-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T02:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4479.0,
      "stop": 4479.817,
      "target": 4477.367,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.72,
        "bb_width_pct": 0.414
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T03-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4485.925,
      "stop": 4490.606,
      "target": 4476.563,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.11,
        "bb_width_pct": 0.427
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T03-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4485.925,
      "stop": 4489.58,
      "target": 4478.615,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.11,
        "bb_width_pct": 0.427
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T03-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T03:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4485.52,
      "stop": 4489.543,
      "target": 4477.474,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.35,
        "bb_width_pct": 0.416
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T03-05-00Z_short_vwap_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T03:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4485.52,
      "stop": 4489.101,
      "target": 4478.358,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 16.35,
        "bb_width_pct": 0.416
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T03-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T03:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4485.52,
      "stop": 4488.644,
      "target": 4479.273,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.35,
        "bb_width_pct": 0.416
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T03-15-00Z_short_vwap_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4485.435,
      "stop": 4488.801,
      "target": 4478.702,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.9,
        "bb_width_pct": 0.375
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T03-40-00Z_short_vwap_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T03:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4484.54,
      "stop": 4487.122,
      "target": 4479.377,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.49,
        "bb_width_pct": 0.294
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T04-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T04:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4481.235,
      "stop": 4483.99,
      "target": 4475.725,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.82,
        "bb_width_pct": 0.253
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T04-40-00Z_long_rsi_range_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4473.515,
      "stop": 4469.047,
      "target": 4482.451,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 27.38,
        "bb_width_pct": 0.396
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T04-40-00Z_long_vwap_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4473.515,
      "stop": 4470.396,
      "target": 4479.753,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 27.38,
        "bb_width_pct": 0.396
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T05-10-00Z_long_rsi_range_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4473.45,
      "stop": 4471.034,
      "target": 4478.282,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 27.04,
        "bb_width_pct": 0.561
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T05-10-00Z_long_vwap_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4473.45,
      "stop": 4470.722,
      "target": 4478.906,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 27.04,
        "bb_width_pct": 0.561
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T05-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4473.45,
      "stop": 4471.205,
      "target": 4477.94,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 27.04,
        "bb_width_pct": 0.561
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T05-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4473.45,
      "stop": 4472.134,
      "target": 4476.083,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 27.04,
        "bb_width_pct": 0.561
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T05-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4465.045,
      "stop": 4459.959,
      "target": 4475.217,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.24,
        "bb_width_pct": 0.584
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T05-35-00Z_long_rsi_range_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4466.965,
      "stop": 4463.277,
      "target": 4474.341,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.91,
        "bb_width_pct": 0.573
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T05-35-00Z_long_vwap_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4466.965,
      "stop": 4461.377,
      "target": 4478.141,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.91,
        "bb_width_pct": 0.573
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T05-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4466.965,
      "stop": 4463.549,
      "target": 4473.797,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 13.91,
        "bb_width_pct": 0.573
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T05-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4466.965,
      "stop": 4463.975,
      "target": 4472.945,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.91,
        "bb_width_pct": 0.573
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T05-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4462.07,
      "stop": 4456.532,
      "target": 4473.145,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.16,
        "bb_width_pct": 0.568
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T05-45-00Z_long_vwap_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T05:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4466.065,
      "stop": 4460.229,
      "target": 4477.736,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.23,
        "bb_width_pct": 0.515
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T05-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T05:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4466.065,
      "stop": 4462.199,
      "target": 4473.797,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.23,
        "bb_width_pct": 0.515
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T05-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T05:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4466.065,
      "stop": 4463.421,
      "target": 4471.353,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.23,
        "bb_width_pct": 0.515
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T06-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4467.08,
      "stop": 4466.084,
      "target": 4469.073,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.12,
        "bb_width_pct": 0.413
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T06-00-00Z_long_vwap_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4467.08,
      "stop": 4462.062,
      "target": 4477.117,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.12,
        "bb_width_pct": 0.413
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T06-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4467.08,
      "stop": 4464.333,
      "target": 4472.575,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 3.12,
        "bb_width_pct": 0.413
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T06-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4467.08,
      "stop": 4466.067,
      "target": 4469.105,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.12,
        "bb_width_pct": 0.413
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T06-10-00Z_long_vwap_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T06:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4466.195,
      "stop": 4460.894,
      "target": 4476.796,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.71,
        "bb_width_pct": 0.363
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T06-15-00Z_long_vwap_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T06:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4468.325,
      "stop": 4464.145,
      "target": 4476.685,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.39,
        "bb_width_pct": 0.355
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T06-25-00Z_long_vwap_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T06:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4462.785,
      "stop": 4456.017,
      "target": 4476.322,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.85,
        "bb_width_pct": 0.363
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T06-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T06:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4462.785,
      "stop": 4457.89,
      "target": 4472.575,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.85,
        "bb_width_pct": 0.363
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T06-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4459.695,
      "stop": 4456.414,
      "target": 4466.257,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.59,
        "bb_width_pct": 0.38
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T06-35-00Z_long_vwap_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4463.09,
      "stop": 4456.661,
      "target": 4475.948,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.06,
        "bb_width_pct": 0.379
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T06-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4463.09,
      "stop": 4458.347,
      "target": 4472.575,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 2.06,
        "bb_width_pct": 0.379
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T06-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T06:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4459.23,
      "stop": 4456.417,
      "target": 4464.855,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.14,
        "bb_width_pct": 0.379
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T06-55-00Z_long_vwap_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T06:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4463.2,
      "stop": 4457.206,
      "target": 4475.188,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.26,
        "bb_width_pct": 0.311
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T06-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T06:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4463.2,
      "stop": 4458.842,
      "target": 4471.915,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.26,
        "bb_width_pct": 0.311
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T07-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T07:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4465.29,
      "stop": 4461.977,
      "target": 4471.915,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.41,
        "bb_width_pct": 0.294
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T07-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T07:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4469.54,
      "stop": 4472.454,
      "target": 4463.713,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.36,
        "bb_width_pct": 0.319
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T07-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4461.575,
      "stop": 4460.841,
      "target": 4463.044,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.55,
        "bb_width_pct": 0.338
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T07-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4461.575,
      "stop": 4456.405,
      "target": 4471.915,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.55,
        "bb_width_pct": 0.338
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T07-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4461.575,
      "stop": 4460.399,
      "target": 4463.927,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.55,
        "bb_width_pct": 0.338
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T07-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T07:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4458.95,
      "stop": 4457.071,
      "target": 4462.708,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.32,
        "bb_width_pct": 0.329
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T07-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T07:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4458.95,
      "stop": 4454.609,
      "target": 4467.632,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.32,
        "bb_width_pct": 0.329
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T07-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T07:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4459.065,
      "stop": 4455.647,
      "target": 4465.9,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 2.2,
        "bb_width_pct": 0.331
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T07-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T07:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4453.46,
      "stop": 4449.438,
      "target": 4461.504,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.47,
        "bb_width_pct": 0.34
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T08-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4457.855,
      "stop": 4456.181,
      "target": 4461.203,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.37,
        "bb_width_pct": 0.346
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T08-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4457.855,
      "stop": 4454.912,
      "target": 4463.74,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.37,
        "bb_width_pct": 0.346
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T08-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4457.855,
      "stop": 4456.204,
      "target": 4461.157,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.37,
        "bb_width_pct": 0.346
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T08-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T08:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4455.65,
      "stop": 4452.102,
      "target": 4462.745,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 16.66,
        "bb_width_pct": 0.376
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T08-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T08:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4457.505,
      "stop": 4454.961,
      "target": 4462.592,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.49,
        "bb_width_pct": 0.43
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T09-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4451.24,
      "stop": 4449.277,
      "target": 4455.165,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.68,
        "bb_width_pct": 0.394
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T09-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4451.24,
      "stop": 4448.675,
      "target": 4456.37,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 2.68,
        "bb_width_pct": 0.394
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T09-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4451.24,
      "stop": 4449.399,
      "target": 4454.923,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.68,
        "bb_width_pct": 0.394
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T09-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4442.12,
      "stop": 4437.231,
      "target": 4451.898,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.67,
        "bb_width_pct": 0.473
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T09-30-00Z_long_vwap_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4442.12,
      "stop": 4435.263,
      "target": 4455.835,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.67,
        "bb_width_pct": 0.473
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T09-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4442.12,
      "stop": 4435.206,
      "target": 4455.948,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 17.67,
        "bb_width_pct": 0.473
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T09-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4447.14,
      "stop": 4444.919,
      "target": 4451.582,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.73,
        "bb_width_pct": 0.481
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T09-35-00Z_long_vwap_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4447.14,
      "stop": 4442.97,
      "target": 4455.48,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.73,
        "bb_width_pct": 0.481
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T09-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4447.14,
      "stop": 4442.736,
      "target": 4455.948,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.73,
        "bb_width_pct": 0.481
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T09-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4447.14,
      "stop": 4445.188,
      "target": 4451.045,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.73,
        "bb_width_pct": 0.481
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T09-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T09:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4447.275,
      "stop": 4443.046,
      "target": 4455.733,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.34,
        "bb_width_pct": 0.468
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T10-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T10:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4448.12,
      "stop": 4444.314,
      "target": 4455.733,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.7,
        "bb_width_pct": 0.483
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T10-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T10:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4462.75,
      "stop": 4469.023,
      "target": 4450.205,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.54,
        "bb_width_pct": 0.613
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T10-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T10:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4457.335,
      "stop": 4460.881,
      "target": 4450.243,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.53,
        "bb_width_pct": 0.616
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T10-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T10:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4457.335,
      "stop": 4459.513,
      "target": 4452.979,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.53,
        "bb_width_pct": 0.616
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T10-35-00Z_short_rsi_range_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T10:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4459.265,
      "stop": 4462.867,
      "target": 4452.061,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 19.6,
        "bb_width_pct": 0.658
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T11-05-00Z_short_rsi_range_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T11:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4463.22,
      "stop": 4467.344,
      "target": 4454.972,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 17.75,
        "bb_width_pct": 0.67
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T11-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T11:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4463.22,
      "stop": 4468.261,
      "target": 4453.138,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.75,
        "bb_width_pct": 0.67
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T11-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T11:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4463.22,
      "stop": 4466.276,
      "target": 4457.109,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.75,
        "bb_width_pct": 0.67
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T11-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T11:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4462.13,
      "stop": 4466.375,
      "target": 4453.64,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.31,
        "bb_width_pct": 0.629
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T11-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T11:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4462.89,
      "stop": 4465.137,
      "target": 4458.396,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.22,
        "bb_width_pct": 0.584
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T11-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T11:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4463.49,
      "stop": 4468.415,
      "target": 4453.64,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.84,
        "bb_width_pct": 0.365
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T11-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T11:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4463.49,
      "stop": 4465.222,
      "target": 4460.026,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.84,
        "bb_width_pct": 0.365
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T11-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T11:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4460.39,
      "stop": 4463.765,
      "target": 4453.64,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.03,
        "bb_width_pct": 0.262
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T12-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T12:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4458.465,
      "stop": 4460.878,
      "target": 4453.64,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.06,
        "bb_width_pct": 0.26
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T12-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T12:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4458.06,
      "stop": 4456.431,
      "target": 4461.317,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.2,
        "bb_width_pct": 0.247
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T12-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T12:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4452.93,
      "stop": 4449.726,
      "target": 4459.338,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.27,
        "bb_width_pct": 0.278
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T12-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T12:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4459.07,
      "stop": 4458.576,
      "target": 4460.057,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.1,
        "bb_width_pct": 0.386
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T12-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T12:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4460.66,
      "stop": 4464.17,
      "target": 4453.64,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.41,
        "bb_width_pct": 0.379
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T12-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T12:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4460.66,
      "stop": 4461.756,
      "target": 4458.467,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.41,
        "bb_width_pct": 0.379
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T13-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T13:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4462.68,
      "stop": 4466.694,
      "target": 4454.653,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.37,
        "bb_width_pct": 0.372
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T13-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T13:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4462.315,
      "stop": 4466.146,
      "target": 4454.653,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.63,
        "bb_width_pct": 0.354
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T13-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T13:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4450.43,
      "stop": 4446.249,
      "target": 4458.792,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.56,
        "bb_width_pct": 0.386
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T13-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T13:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4450.43,
      "stop": 4446.331,
      "target": 4458.628,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.56,
        "bb_width_pct": 0.386
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T13-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T13:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4448.705,
      "stop": 4444.006,
      "target": 4458.104,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.09,
        "bb_width_pct": 0.425
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T13-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T13:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4448.705,
      "stop": 4444.216,
      "target": 4457.683,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.09,
        "bb_width_pct": 0.425
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T13-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4448.525,
      "stop": 4444.088,
      "target": 4457.399,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.75,
        "bb_width_pct": 0.454
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T13-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4448.525,
      "stop": 4444.382,
      "target": 4456.811,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.75,
        "bb_width_pct": 0.454
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T13-35-00Z_long_vwap_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4448.825,
      "stop": 4444.666,
      "target": 4457.142,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.1,
        "bb_width_pct": 0.47
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T13-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4448.825,
      "stop": 4444.721,
      "target": 4457.032,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 3.1,
        "bb_width_pct": 0.47
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T13-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4437.355,
      "stop": 4429.113,
      "target": 4453.838,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.86,
        "bb_width_pct": 0.793
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T13-45-00Z_long_vwap_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4437.355,
      "stop": 4428.488,
      "target": 4455.09,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.86,
        "bb_width_pct": 0.793
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T13-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4437.355,
      "stop": 4432.122,
      "target": 4447.82,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 18.86,
        "bb_width_pct": 0.793
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T13-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T13:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4444.615,
      "stop": 4441.362,
      "target": 4451.121,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.5,
        "bb_width_pct": 0.805
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T14-55-00Z_short_rsi_range_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T14:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4457.24,
      "stop": 4461.495,
      "target": 4448.729,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 12.36,
        "bb_width_pct": 0.596
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T15-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T15:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4443.145,
      "stop": 4440.019,
      "target": 4449.398,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.96,
        "bb_width_pct": 0.441
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T15-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T15:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4443.145,
      "stop": 4439.675,
      "target": 4450.085,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.96,
        "bb_width_pct": 0.441
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T15-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T15:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4445.185,
      "stop": 4442.883,
      "target": 4449.789,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.27,
        "bb_width_pct": 0.376
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T15-25-00Z_long_vwap_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T15:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4445.185,
      "stop": 4441.519,
      "target": 4452.516,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.27,
        "bb_width_pct": 0.376
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T15-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T15:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4445.185,
      "stop": 4442.968,
      "target": 4449.618,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.27,
        "bb_width_pct": 0.376
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T15-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T15:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4441.24,
      "stop": 4437.05,
      "target": 4449.62,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.16,
        "bb_width_pct": 0.4
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T15-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T15:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4439.27,
      "stop": 4434.95,
      "target": 4447.911,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.01,
        "bb_width_pct": 0.446
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T15-40-00Z_long_vwap_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T15:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4440.265,
      "stop": 4434.527,
      "target": 4451.74,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.33,
        "bb_width_pct": 0.477
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T15-45-00Z_long_vwap_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T15:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4441.89,
      "stop": 4437.084,
      "target": 4451.502,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.08,
        "bb_width_pct": 0.495
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T15-55-00Z_long_rsi_range_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T15:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4442.405,
      "stop": 4439.842,
      "target": 4447.531,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.26,
        "bb_width_pct": 0.508
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T15-55-00Z_long_vwap_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T15:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4442.405,
      "stop": 4438.056,
      "target": 4451.104,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.26,
        "bb_width_pct": 0.508
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T16-00-00Z_long_rsi_range_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4443.01,
      "stop": 4440.914,
      "target": 4447.202,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.64,
        "bb_width_pct": 0.514
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T16-00-00Z_long_vwap_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4443.01,
      "stop": 4439.056,
      "target": 4450.919,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.64,
        "bb_width_pct": 0.514
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T16-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T16:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4436.285,
      "stop": 4432.844,
      "target": 4443.167,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.01,
        "bb_width_pct": 0.569
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T16-25-00Z_long_vwap_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T16:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4437.73,
      "stop": 4431.718,
      "target": 4449.754,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.19,
        "bb_width_pct": 0.55
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T16-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T16:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4437.73,
      "stop": 4435.27,
      "target": 4442.649,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.19,
        "bb_width_pct": 0.55
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T16-30-00Z_long_vwap_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T16:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4440.4,
      "stop": 4435.816,
      "target": 4449.568,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.64,
        "bb_width_pct": 0.458
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T16-40-00Z_long_vwap_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T16:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4439.12,
      "stop": 4434.102,
      "target": 4449.157,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.25,
        "bb_width_pct": 0.296
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T16-50-00Z_long_vwap_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T16:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4438.18,
      "stop": 4432.872,
      "target": 4448.797,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.69,
        "bb_width_pct": 0.232
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T16-55-00Z_long_vwap_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4442.0,
      "stop": 4438.668,
      "target": 4448.664,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.15,
        "bb_width_pct": 0.207
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T17-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T17:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4444.72,
      "stop": 4446.955,
      "target": 4440.249,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.14,
        "bb_width_pct": 0.218
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T17-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T17:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4447.12,
      "stop": 4449.704,
      "target": 4441.952,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.0,
        "bb_width_pct": 0.238
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T17-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T17:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4442.015,
      "stop": 4442.83,
      "target": 4440.385,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.07,
        "bb_width_pct": 0.24
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T17-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T17:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4440.08,
      "stop": 4436.702,
      "target": 4446.835,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.24,
        "bb_width_pct": 0.244
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T18-15-00Z_long_rsi_range_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T18:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4438.2,
      "stop": 4437.192,
      "target": 4440.217,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.51,
        "bb_width_pct": 0.226
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T18-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T18:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4438.2,
      "stop": 4434.19,
      "target": 4446.22,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.51,
        "bb_width_pct": 0.226
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T18-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T18:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4439.015,
      "stop": 4436.745,
      "target": 4443.555,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.38,
        "bb_width_pct": 0.226
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T19-05-00Z_short_rsi_range_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T19:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4447.99,
      "stop": 4451.838,
      "target": 4440.295,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 19.22,
        "bb_width_pct": 0.272
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T19-05-00Z_short_vwap_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T19:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4447.99,
      "stop": 4451.613,
      "target": 4440.744,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 19.22,
        "bb_width_pct": 0.272
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T19-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T19:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4447.99,
      "stop": 4451.146,
      "target": 4441.677,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 19.22,
        "bb_width_pct": 0.272
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T19-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T19:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4448.145,
      "stop": 4451.357,
      "target": 4441.722,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.06,
        "bb_width_pct": 0.414
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T19-20-00Z_short_rsi_range_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T19:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4448.145,
      "stop": 4451.357,
      "target": 4441.722,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 22.06,
        "bb_width_pct": 0.414
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T19-20-00Z_short_vwap_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T19:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4448.145,
      "stop": 4451.377,
      "target": 4441.68,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 22.06,
        "bb_width_pct": 0.414
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T19-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T19:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4448.145,
      "stop": 4450.711,
      "target": 4443.013,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 22.06,
        "bb_width_pct": 0.414
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T19-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T19:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4448.145,
      "stop": 4450.374,
      "target": 4443.687,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.06,
        "bb_width_pct": 0.414
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T19-25-00Z_short_rsi_range_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T19:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4448.125,
      "stop": 4451.083,
      "target": 4442.208,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 20.39,
        "bb_width_pct": 0.426
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T19-25-00Z_short_vwap_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T19:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4448.125,
      "stop": 4451.245,
      "target": 4441.885,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 20.39,
        "bb_width_pct": 0.426
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T19-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T19:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4448.455,
      "stop": 4450.421,
      "target": 4444.524,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.2,
        "bb_width_pct": 0.434
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T19-35-00Z_short_vwap_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T19:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4447.835,
      "stop": 4450.607,
      "target": 4442.292,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 20.94,
        "bb_width_pct": 0.439
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T19-40-00Z_short_rsi_range_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T19:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4446.905,
      "stop": 4448.597,
      "target": 4443.522,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 20.21,
        "bb_width_pct": 0.438
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T19-40-00Z_short_vwap_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T19:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4446.905,
      "stop": 4449.133,
      "target": 4442.448,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 20.21,
        "bb_width_pct": 0.438
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T20-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T20:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4441.46,
      "stop": 4439.92,
      "target": 4444.54,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.1,
        "bb_width_pct": 0.36
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T20-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T20:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4440.07,
      "stop": 4438.048,
      "target": 4444.115,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.68,
        "bb_width_pct": 0.353
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T20-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T20:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4439.11,
      "stop": 4437.282,
      "target": 4442.767,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.49,
        "bb_width_pct": 0.366
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T20-55-00Z_long_rsi_range_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T20:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4434.715,
      "stop": 4431.606,
      "target": 4440.932,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.2,
        "bb_width_pct": 0.513
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T20-55-00Z_long_vwap_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T20:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4434.715,
      "stop": 4431.425,
      "target": 4441.295,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.2,
        "bb_width_pct": 0.513
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T20-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T20:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4434.715,
      "stop": 4431.333,
      "target": 4441.48,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 26.2,
        "bb_width_pct": 0.513
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T20-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T20:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4434.715,
      "stop": 4432.731,
      "target": 4438.683,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.2,
        "bb_width_pct": 0.513
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T22-05-00Z_long_rsi_range_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T22:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4434.875,
      "stop": 4432.571,
      "target": 4439.484,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.51,
        "bb_width_pct": 0.499
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T22-05-00Z_long_vwap_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T22:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4434.875,
      "stop": 4423.076,
      "target": 4458.473,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.51,
        "bb_width_pct": 0.499
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T22-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T22:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4434.875,
      "stop": 4431.573,
      "target": 4441.48,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 17.51,
        "bb_width_pct": 0.499
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T22-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T22:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4434.875,
      "stop": 4433.422,
      "target": 4437.781,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.51,
        "bb_width_pct": 0.499
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T22-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T22:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4427.4,
      "stop": 4422.281,
      "target": 4437.637,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.57,
        "bb_width_pct": 0.493
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T22-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T22:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4430.25,
      "stop": 4426.973,
      "target": 4436.805,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.12,
        "bb_width_pct": 0.474
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T22-20-00Z_long_vwap_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T22:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4430.25,
      "stop": 4417.628,
      "target": 4455.494,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.12,
        "bb_width_pct": 0.474
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T22-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T22:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4430.25,
      "stop": 4426.302,
      "target": 4438.145,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.12,
        "bb_width_pct": 0.474
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T22-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T22:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4430.25,
      "stop": 4427.517,
      "target": 4435.716,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.12,
        "bb_width_pct": 0.474
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T22-25-00Z_long_vwap_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T22:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4434.3,
      "stop": 4424.07,
      "target": 4454.759,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.93,
        "bb_width_pct": 0.426
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T22-30-00Z_long_vwap_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T22:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4439.98,
      "stop": 4432.859,
      "target": 4454.223,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.48,
        "bb_width_pct": 0.388
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T22-40-00Z_long_vwap_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T22:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4436.935,
      "stop": 4428.801,
      "target": 4453.202,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.98,
        "bb_width_pct": 0.324
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T22-45-00Z_long_vwap_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T22:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4438.87,
      "stop": 4431.923,
      "target": 4452.764,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.08,
        "bb_width_pct": 0.307
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T22-50-00Z_long_vwap_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T22:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4439.65,
      "stop": 4433.28,
      "target": 4452.39,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.07,
        "bb_width_pct": 0.305
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T23-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4446.7,
      "stop": 4450.751,
      "target": 4438.597,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 16.59,
        "bb_width_pct": 0.459
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T23-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4446.7,
      "stop": 4450.67,
      "target": 4438.761,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.59,
        "bb_width_pct": 0.459
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T23-10-00Z_short_rsi_range_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4447.975,
      "stop": 4453.364,
      "target": 4437.197,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 16.94,
        "bb_width_pct": 0.559
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T23-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4448.07,
      "stop": 4451.512,
      "target": 4441.186,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.39,
        "bb_width_pct": 0.594
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T23-35-00Z_short_rsi_range_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4450.355,
      "stop": 4454.889,
      "target": 4441.287,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 16.29,
        "bb_width_pct": 0.695
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T23-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4450.355,
      "stop": 4456.234,
      "target": 4438.597,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 16.29,
        "bb_width_pct": 0.695
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T23-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4450.355,
      "stop": 4453.402,
      "target": 4444.261,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.29,
        "bb_width_pct": 0.695
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T23-55-00Z_short_rsi_range_reversion",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T23:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4457.54,
      "stop": 4463.078,
      "target": 4446.465,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 24.27,
        "bb_width_pct": 0.735
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-03T23-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T23:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4457.54,
      "stop": 4464.101,
      "target": 4444.417,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 24.27,
        "bb_width_pct": 0.735
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T00-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4460.44,
      "stop": 4466.673,
      "target": 4447.974,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.01,
        "bb_width_pct": 0.703
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T00-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T00:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4456.26,
      "stop": 4462.034,
      "target": 4444.712,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.18,
        "bb_width_pct": 0.661
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T00-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T00:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4456.26,
      "stop": 4459.178,
      "target": 4450.424,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.18,
        "bb_width_pct": 0.661
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T01-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T01:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4465.905,
      "stop": 4470.884,
      "target": 4455.947,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.49,
        "bb_width_pct": 0.583
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T01-25-00Z_short_vwap_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T01:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4465.905,
      "stop": 4471.178,
      "target": 4455.359,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 17.49,
        "bb_width_pct": 0.583
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T01-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T01:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4465.905,
      "stop": 4474.379,
      "target": 4448.958,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.49,
        "bb_width_pct": 0.583
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T01-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T01:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4465.905,
      "stop": 4470.638,
      "target": 4456.439,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.49,
        "bb_width_pct": 0.583
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T01-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4465.9,
      "stop": 4470.718,
      "target": 4456.263,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.25,
        "bb_width_pct": 0.612
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T01-30-00Z_short_rsi_range_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4465.9,
      "stop": 4470.718,
      "target": 4456.263,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 17.25,
        "bb_width_pct": 0.612
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T01-30-00Z_short_vwap_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4465.9,
      "stop": 4470.861,
      "target": 4455.977,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 17.25,
        "bb_width_pct": 0.612
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T01-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4465.9,
      "stop": 4474.371,
      "target": 4448.958,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.25,
        "bb_width_pct": 0.612
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T01-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4465.9,
      "stop": 4470.18,
      "target": 4457.34,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.25,
        "bb_width_pct": 0.612
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T01-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T01:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4459.405,
      "stop": 4463.056,
      "target": 4452.102,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.61,
        "bb_width_pct": 0.655
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T01-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T01:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4459.405,
      "stop": 4459.859,
      "target": 4458.497,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.61,
        "bb_width_pct": 0.655
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T02-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4470.445,
      "stop": 4473.858,
      "target": 4463.618,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.54,
        "bb_width_pct": 0.311
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T02-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4470.445,
      "stop": 4474.898,
      "target": 4461.538,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.54,
        "bb_width_pct": 0.311
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T03-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4473.09,
      "stop": 4477.239,
      "target": 4464.791,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.29,
        "bb_width_pct": 0.455
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T03-00-00Z_short_vwap_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4473.09,
      "stop": 4479.577,
      "target": 4460.117,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 9.29,
        "bb_width_pct": 0.455
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T03-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4473.09,
      "stop": 4479.663,
      "target": 4459.945,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.29,
        "bb_width_pct": 0.455
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T03-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4473.09,
      "stop": 4477.22,
      "target": 4464.831,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.29,
        "bb_width_pct": 0.455
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T03-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T03:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4474.145,
      "stop": 4478.616,
      "target": 4465.203,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.46,
        "bb_width_pct": 0.49
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T03-10-00Z_short_vwap_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T03:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4472.17,
      "stop": 4477.846,
      "target": 4460.818,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 18.26,
        "bb_width_pct": 0.508
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T03-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T03:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4472.17,
      "stop": 4478.118,
      "target": 4460.275,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.26,
        "bb_width_pct": 0.508
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T03-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T03:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4472.17,
      "stop": 4475.089,
      "target": 4466.332,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.26,
        "bb_width_pct": 0.508
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T03-15-00Z_short_vwap_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4469.735,
      "stop": 4474.071,
      "target": 4461.063,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.78,
        "bb_width_pct": 0.512
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T03-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4469.735,
      "stop": 4474.465,
      "target": 4460.275,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.78,
        "bb_width_pct": 0.512
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T03-20-00Z_short_vwap_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T03:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4467.75,
      "stop": 4471.004,
      "target": 4461.242,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.59,
        "bb_width_pct": 0.497
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T03-30-00Z_short_vwap_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4467.69,
      "stop": 4470.746,
      "target": 4461.578,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.74,
        "bb_width_pct": 0.493
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T03-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T03:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4459.965,
      "stop": 4457.073,
      "target": 4465.749,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.86,
        "bb_width_pct": 0.491
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T04-00-00Z_long_rsi_range_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T04:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4464.01,
      "stop": 4462.648,
      "target": 4466.735,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.57,
        "bb_width_pct": 0.471
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T04-05-00Z_long_rsi_range_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4464.3,
      "stop": 4462.99,
      "target": 4466.92,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.61,
        "bb_width_pct": 0.457
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T04-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T04:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4471.835,
      "stop": 4474.586,
      "target": 4466.333,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.62,
        "bb_width_pct": 0.415
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T05-00-00Z_short_rsi_range_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4477.635,
      "stop": 4480.595,
      "target": 4471.715,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 24.12,
        "bb_width_pct": 0.667
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T05-00-00Z_short_vwap_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4477.635,
      "stop": 4484.135,
      "target": 4464.636,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 24.12,
        "bb_width_pct": 0.667
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T05-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4477.635,
      "stop": 4481.531,
      "target": 4469.843,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 24.12,
        "bb_width_pct": 0.667
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T05-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4477.635,
      "stop": 4479.419,
      "target": 4474.066,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 24.12,
        "bb_width_pct": 0.667
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T05-05-00Z_short_vwap_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4473.9,
      "stop": 4478.445,
      "target": 4464.811,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 16.68,
        "bb_width_pct": 0.667
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T05-15-00Z_short_vwap_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4476.495,
      "stop": 4482.156,
      "target": 4465.173,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.22,
        "bb_width_pct": 0.657
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T05-20-00Z_short_vwap_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4472.63,
      "stop": 4476.292,
      "target": 4465.307,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 1.34,
        "bb_width_pct": 0.609
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T05-35-00Z_short_vwap_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4471.4,
      "stop": 4474.276,
      "target": 4465.648,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.47,
        "bb_width_pct": 0.451
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T05-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4469.215,
      "stop": 4465.97,
      "target": 4475.705,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.71,
        "bb_width_pct": 0.367
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T05-50-00Z_long_rsi_range_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4469.215,
      "stop": 4465.97,
      "target": 4475.705,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.71,
        "bb_width_pct": 0.367
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T05-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T05:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4469.34,
      "stop": 4466.22,
      "target": 4475.581,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.64,
        "bb_width_pct": 0.38
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T06-10-00Z_short_vwap_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T06:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4474.09,
      "stop": 4478.013,
      "target": 4466.244,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.29,
        "bb_width_pct": 0.369
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T06-35-00Z_short_vwap_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4473.045,
      "stop": 4476.285,
      "target": 4466.565,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.76,
        "bb_width_pct": 0.26
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T06-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T06:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4467.195,
      "stop": 4464.675,
      "target": 4472.234,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.38,
        "bb_width_pct": 0.269
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T06-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T06:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4467.195,
      "stop": 4464.852,
      "target": 4471.881,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.38,
        "bb_width_pct": 0.269
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T07-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T07:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4470.3,
      "stop": 4469.841,
      "target": 4471.217,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.38,
        "bb_width_pct": 0.252
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T07-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T07:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4465.9,
      "stop": 4463.432,
      "target": 4470.837,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.1,
        "bb_width_pct": 0.267
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T07-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T07:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4464.31,
      "stop": 4461.278,
      "target": 4470.373,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.1,
        "bb_width_pct": 0.289
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T07-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T07:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4464.31,
      "stop": 4461.473,
      "target": 4469.984,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.1,
        "bb_width_pct": 0.289
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T07-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T07:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4469.46,
      "stop": 4469.052,
      "target": 4470.276,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.43,
        "bb_width_pct": 0.289
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T07-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T07:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4469.46,
      "stop": 4467.57,
      "target": 4473.24,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.43,
        "bb_width_pct": 0.289
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T07-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T07:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4465.365,
      "stop": 4463.188,
      "target": 4469.72,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.71,
        "bb_width_pct": 0.296
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T07-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T07:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4461.59,
      "stop": 4458.115,
      "target": 4468.54,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.62,
        "bb_width_pct": 0.354
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T07-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T07:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4461.59,
      "stop": 4458.619,
      "target": 4467.532,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.62,
        "bb_width_pct": 0.354
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T07-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T07:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4461.63,
      "stop": 4456.475,
      "target": 4471.94,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.9,
        "bb_width_pct": 0.338
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T07-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T07:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4461.795,
      "stop": 4456.722,
      "target": 4471.94,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.45,
        "bb_width_pct": 0.35
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T07-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T07:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4461.795,
      "stop": 4459.694,
      "target": 4465.998,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.45,
        "bb_width_pct": 0.35
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T08-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4465.885,
      "stop": 4462.989,
      "target": 4471.677,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 3.25,
        "bb_width_pct": 0.35
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T08-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T08:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4464.29,
      "stop": 4460.91,
      "target": 4471.05,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.03,
        "bb_width_pct": 0.256
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T08-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T08:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4460.045,
      "stop": 4457.706,
      "target": 4464.723,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.97,
        "bb_width_pct": 0.258
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T08-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T08:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4463.68,
      "stop": 4463.246,
      "target": 4464.548,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.83,
        "bb_width_pct": 0.254
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T08-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T08:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4463.68,
      "stop": 4460.906,
      "target": 4469.227,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 3.83,
        "bb_width_pct": 0.254
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T08-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4464.905,
      "stop": 4463.25,
      "target": 4468.215,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.7,
        "bb_width_pct": 0.245
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T08-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T08:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4463.565,
      "stop": 4461.367,
      "target": 4467.96,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.05,
        "bb_width_pct": 0.207
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T08-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T08:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4463.73,
      "stop": 4461.615,
      "target": 4467.96,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 3.63,
        "bb_width_pct": 0.212
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T09-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4467.535,
      "stop": 4467.323,
      "target": 4467.96,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.0,
        "bb_width_pct": 0.184
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T09-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T09:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4463.695,
      "stop": 4463.877,
      "target": 4463.331,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.73,
        "bb_width_pct": 0.207
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T09-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4467.44,
      "stop": 4468.965,
      "target": 4464.389,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.66,
        "bb_width_pct": 0.218
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T09-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T09:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4470.595,
      "stop": 4472.988,
      "target": 4465.808,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.39,
        "bb_width_pct": 0.329
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T09-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T09:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4470.595,
      "stop": 4472.295,
      "target": 4467.195,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.39,
        "bb_width_pct": 0.329
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T09-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T09:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4470.595,
      "stop": 4472.273,
      "target": 4467.24,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.39,
        "bb_width_pct": 0.329
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T11-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4472.375,
      "stop": 4473.651,
      "target": 4469.824,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.26,
        "bb_width_pct": 0.223
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T11-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4472.375,
      "stop": 4474.965,
      "target": 4467.195,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.26,
        "bb_width_pct": 0.223
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T11-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T11:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4473.615,
      "stop": 4475.018,
      "target": 4470.809,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.01,
        "bb_width_pct": 0.238
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T11-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T11:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4473.615,
      "stop": 4476.176,
      "target": 4468.493,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.01,
        "bb_width_pct": 0.238
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T11-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T11:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4473.615,
      "stop": 4475.035,
      "target": 4470.775,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.01,
        "bb_width_pct": 0.238
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T11-30-00Z_short_rsi_range_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T11:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4485.23,
      "stop": 4491.168,
      "target": 4473.355,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 23.44,
        "bb_width_pct": 0.517
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T11-30-00Z_short_vwap_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T11:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4485.23,
      "stop": 4491.229,
      "target": 4473.233,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 23.44,
        "bb_width_pct": 0.517
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T11-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T11:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4485.23,
      "stop": 4490.274,
      "target": 4475.142,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 23.44,
        "bb_width_pct": 0.517
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T12-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4497.405,
      "stop": 4505.025,
      "target": 4482.164,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.28,
        "bb_width_pct": 1.15
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T12-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4497.405,
      "stop": 4502.46,
      "target": 4487.295,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 21.28,
        "bb_width_pct": 1.15
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T12-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4497.405,
      "stop": 4503.01,
      "target": 4486.196,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.28,
        "bb_width_pct": 1.15
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T12-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T12:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4498.425,
      "stop": 4503.957,
      "target": 4487.36,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.74,
        "bb_width_pct": 1.151
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T12-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T12:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4504.185,
      "stop": 4511.5,
      "target": 4489.555,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.36,
        "bb_width_pct": 0.692
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T12-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T12:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4504.185,
      "stop": 4508.175,
      "target": 4496.205,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.36,
        "bb_width_pct": 0.692
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T13-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4505.16,
      "stop": 4509.211,
      "target": 4497.058,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.17,
        "bb_width_pct": 0.597
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T13-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T13:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4504.885,
      "stop": 4512.55,
      "target": 4489.555,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.55,
        "bb_width_pct": 0.579
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T13-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T13:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4504.885,
      "stop": 4508.426,
      "target": 4497.804,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.55,
        "bb_width_pct": 0.579
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T13-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T13:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4507.865,
      "stop": 4512.176,
      "target": 4499.244,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.61,
        "bb_width_pct": 0.461
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T13-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T13:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4504.895,
      "stop": 4512.565,
      "target": 4489.555,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.23,
        "bb_width_pct": 0.419
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T13-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T13:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4504.895,
      "stop": 4507.452,
      "target": 4499.782,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.23,
        "bb_width_pct": 0.419
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T13-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4509.37,
      "stop": 4512.959,
      "target": 4502.192,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.21,
        "bb_width_pct": 0.412
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T13-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4509.37,
      "stop": 4513.23,
      "target": 4501.651,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.21,
        "bb_width_pct": 0.412
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T13-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4510.165,
      "stop": 4513.428,
      "target": 4503.639,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.82,
        "bb_width_pct": 0.473
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T13-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4510.165,
      "stop": 4519.841,
      "target": 4490.812,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.82,
        "bb_width_pct": 0.473
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T13-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4510.165,
      "stop": 4513.459,
      "target": 4503.577,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.82,
        "bb_width_pct": 0.473
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T13-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T13:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4498.605,
      "stop": 4502.104,
      "target": 4491.608,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.17,
        "bb_width_pct": 0.444
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T14-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T14:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4490.085,
      "stop": 4484.806,
      "target": 4500.643,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.42,
        "bb_width_pct": 0.498
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T14-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T14:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4487.76,
      "stop": 4482.487,
      "target": 4498.307,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.02,
        "bb_width_pct": 0.647
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T14-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T14:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4485.295,
      "stop": 4477.194,
      "target": 4501.498,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.31,
        "bb_width_pct": 0.727
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T14-25-00Z_long_rsi_range_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T14:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4486.26,
      "stop": 4479.107,
      "target": 4500.566,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.92,
        "bb_width_pct": 0.78
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T14-25-00Z_long_vwap_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T14:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4486.26,
      "stop": 4479.212,
      "target": 4500.357,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.92,
        "bb_width_pct": 0.78
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T14-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T14:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4486.26,
      "stop": 4481.371,
      "target": 4496.038,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.92,
        "bb_width_pct": 0.78
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T14-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4484.365,
      "stop": 4479.084,
      "target": 4494.927,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.73,
        "bb_width_pct": 0.822
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T14-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T14:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4480.42,
      "stop": 4471.545,
      "target": 4498.169,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.31,
        "bb_width_pct": 0.893
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T15-25-00Z_long_rsi_range_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T15:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4470.965,
      "stop": 4466.663,
      "target": 4479.569,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.81,
        "bb_width_pct": 0.949
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T15-25-00Z_long_vwap_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T15:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4470.965,
      "stop": 4460.312,
      "target": 4492.27,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.81,
        "bb_width_pct": 0.949
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T15-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T15:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4470.965,
      "stop": 4467.035,
      "target": 4478.825,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.81,
        "bb_width_pct": 0.949
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T15-30-00Z_long_rsi_range_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T15:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4472.05,
      "stop": 4468.954,
      "target": 4478.241,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.1,
        "bb_width_pct": 0.875
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T15-30-00Z_long_vwap_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T15:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4472.05,
      "stop": 4462.18,
      "target": 4491.79,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.1,
        "bb_width_pct": 0.875
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T15-35-00Z_long_vwap_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T15:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4477.2,
      "stop": 4470.093,
      "target": 4491.414,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.38,
        "bb_width_pct": 0.797
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T15-45-00Z_long_vwap_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T15:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4474.465,
      "stop": 4466.378,
      "target": 4490.639,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.63,
        "bb_width_pct": 0.649
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T15-50-00Z_long_vwap_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T15:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4478.06,
      "stop": 4471.914,
      "target": 4490.353,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.09,
        "bb_width_pct": 0.601
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T16-00-00Z_short_rsi_range_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4476.43,
      "stop": 4477.673,
      "target": 4473.944,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 16.39,
        "bb_width_pct": 0.498
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T16-05-00Z_long_vwap_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T16:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4482.56,
      "stop": 4479.025,
      "target": 4489.631,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.04,
        "bb_width_pct": 0.465
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T16-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T16:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4479.2,
      "stop": 4482.049,
      "target": 4473.501,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.31,
        "bb_width_pct": 0.428
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T16-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T16:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4483.335,
      "stop": 4488.179,
      "target": 4473.647,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.4,
        "bb_width_pct": 0.45
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T16-15-00Z_long_vwap_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T16:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4483.335,
      "stop": 4480.341,
      "target": 4489.324,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.4,
        "bb_width_pct": 0.45
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T16-35-00Z_long_vwap_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4481.995,
      "stop": 4478.569,
      "target": 4488.847,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.56,
        "bb_width_pct": 0.43
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T16-45-00Z_long_vwap_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4481.72,
      "stop": 4478.276,
      "target": 4488.608,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.11,
        "bb_width_pct": 0.403
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T16-50-00Z_long_vwap_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T16:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4481.84,
      "stop": 4478.515,
      "target": 4488.489,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.31,
        "bb_width_pct": 0.392
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T16-55-00Z_long_vwap_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4482.855,
      "stop": 4480.085,
      "target": 4488.396,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.23,
        "bb_width_pct": 0.389
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T17-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T17:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4475.57,
      "stop": 4473.52,
      "target": 4479.67,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.79,
        "bb_width_pct": 0.292
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T17-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T17:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4475.545,
      "stop": 4473.679,
      "target": 4479.277,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.86,
        "bb_width_pct": 0.269
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T17-25-00Z_long_rsi_range_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T17:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4476.86,
      "stop": 4475.268,
      "target": 4480.043,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.77,
        "bb_width_pct": 0.253
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T18-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T18:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4474.41,
      "stop": 4472.931,
      "target": 4477.369,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.46,
        "bb_width_pct": 0.171
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T18-40-00Z_long_vwap_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T18:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4474.41,
      "stop": 4472.735,
      "target": 4477.761,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.46,
        "bb_width_pct": 0.171
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T18-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T18:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4474.41,
      "stop": 4472.871,
      "target": 4477.487,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.46,
        "bb_width_pct": 0.171
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T19-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T19:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4481.465,
      "stop": 4483.342,
      "target": 4477.711,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.48,
        "bb_width_pct": 0.179
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T19-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T19:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4481.465,
      "stop": 4483.269,
      "target": 4477.856,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.48,
        "bb_width_pct": 0.179
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T19-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T19:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4480.77,
      "stop": 4482.085,
      "target": 4478.14,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.67,
        "bb_width_pct": 0.189
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T20-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T20:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4477.81,
      "stop": 4477.294,
      "target": 4478.842,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.72,
        "bb_width_pct": 0.091
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T20-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T20:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4476.225,
      "stop": 4475.024,
      "target": 4478.628,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.75,
        "bb_width_pct": 0.117
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T20-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T20:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4475.935,
      "stop": 4474.897,
      "target": 4478.012,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.94,
        "bb_width_pct": 0.144
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T22-05-00Z_long_rsi_range_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T22:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4475.115,
      "stop": 4474.023,
      "target": 4477.299,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.68,
        "bb_width_pct": 0.163
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T22-05-00Z_long_vwap_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T22:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4475.115,
      "stop": 4473.644,
      "target": 4478.057,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.68,
        "bb_width_pct": 0.163
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T22-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T22:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4475.115,
      "stop": 4473.59,
      "target": 4478.165,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 19.68,
        "bb_width_pct": 0.163
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T22-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T22:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4475.115,
      "stop": 4474.337,
      "target": 4476.67,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.68,
        "bb_width_pct": 0.163
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T22-10-00Z_long_rsi_range_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T22:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4475.445,
      "stop": 4474.602,
      "target": 4477.13,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.79,
        "bb_width_pct": 0.164
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T22-10-00Z_long_vwap_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T22:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4475.445,
      "stop": 4474.191,
      "target": 4477.954,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.79,
        "bb_width_pct": 0.164
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T22-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T22:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4475.445,
      "stop": 4474.085,
      "target": 4478.165,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 17.79,
        "bb_width_pct": 0.164
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T22-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T22:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4479.11,
      "stop": 4480.068,
      "target": 4477.193,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.2,
        "bb_width_pct": 0.169
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T22-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T22:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4479.11,
      "stop": 4480.079,
      "target": 4477.173,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.2,
        "bb_width_pct": 0.169
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T22-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T22:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4478.21,
      "stop": 4478.72,
      "target": 4477.191,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.39,
        "bb_width_pct": 0.169
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T22-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T22:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4478.21,
      "stop": 4478.679,
      "target": 4477.271,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.39,
        "bb_width_pct": 0.169
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T22-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T22:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4473.625,
      "stop": 4472.135,
      "target": 4476.605,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.56,
        "bb_width_pct": 0.156
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T22-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T22:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4473.625,
      "stop": 4471.987,
      "target": 4476.901,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.56,
        "bb_width_pct": 0.156
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T22-55-00Z_long_vwap_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T22:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4469.87,
      "stop": 4466.042,
      "target": 4477.525,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.58,
        "bb_width_pct": 0.233
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T22-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T22:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4469.87,
      "stop": 4466.495,
      "target": 4476.62,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.58,
        "bb_width_pct": 0.233
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T23-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4470.08,
      "stop": 4467.407,
      "target": 4475.426,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.62,
        "bb_width_pct": 0.254
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T23-00-00Z_long_vwap_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4470.08,
      "stop": 4466.478,
      "target": 4477.284,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.62,
        "bb_width_pct": 0.254
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T23-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4470.08,
      "stop": 4466.981,
      "target": 4476.278,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 11.62,
        "bb_width_pct": 0.254
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T23-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4471.725,
      "stop": 4470.026,
      "target": 4475.122,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.38,
        "bb_width_pct": 0.259
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T23-05-00Z_long_vwap_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4471.725,
      "stop": 4469.032,
      "target": 4477.112,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.38,
        "bb_width_pct": 0.259
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T23-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4471.725,
      "stop": 4470.649,
      "target": 4473.878,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.38,
        "bb_width_pct": 0.259
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T23-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4471.725,
      "stop": 4470.2,
      "target": 4474.775,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.38,
        "bb_width_pct": 0.259
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T23-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T23:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4471.73,
      "stop": 4470.394,
      "target": 4474.401,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.43,
        "bb_width_pct": 0.288
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T23-20-00Z_long_vwap_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T23:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4471.73,
      "stop": 4469.269,
      "target": 4476.652,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.43,
        "bb_width_pct": 0.288
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T23-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T23:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4471.73,
      "stop": 4470.937,
      "target": 4473.315,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 11.43,
        "bb_width_pct": 0.288
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T23-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T23:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4471.73,
      "stop": 4470.694,
      "target": 4473.802,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.43,
        "bb_width_pct": 0.288
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T23-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4463.38,
      "stop": 4458.81,
      "target": 4472.52,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.49,
        "bb_width_pct": 0.432
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T23-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4464.165,
      "stop": 4460.262,
      "target": 4471.972,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.82,
        "bb_width_pct": 0.458
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T23-45-00Z_long_rsi_range_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4464.165,
      "stop": 4460.262,
      "target": 4471.972,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.82,
        "bb_width_pct": 0.458
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T23-45-00Z_long_vwap_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4464.165,
      "stop": 4458.522,
      "target": 4475.451,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.82,
        "bb_width_pct": 0.458
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T23-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4464.165,
      "stop": 4460.114,
      "target": 4472.267,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 17.82,
        "bb_width_pct": 0.458
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T23-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4464.165,
      "stop": 4461.07,
      "target": 4470.356,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.82,
        "bb_width_pct": 0.458
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T23-50-00Z_long_rsi_range_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T23:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4464.385,
      "stop": 4460.868,
      "target": 4471.419,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.06,
        "bb_width_pct": 0.475
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T23-50-00Z_long_vwap_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T23:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4464.385,
      "stop": 4458.968,
      "target": 4475.219,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.06,
        "bb_width_pct": 0.475
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T23-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T23:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4464.385,
      "stop": 4460.802,
      "target": 4471.55,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.06,
        "bb_width_pct": 0.475
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-04T23-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T23:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4464.385,
      "stop": 4461.684,
      "target": 4469.787,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.06,
        "bb_width_pct": 0.475
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T00-00-00Z_long_rsi_range_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4462.55,
      "stop": 4458.944,
      "target": 4469.761,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.99,
        "bb_width_pct": 0.477
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T00-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4462.55,
      "stop": 4458.05,
      "target": 4471.55,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 11.99,
        "bb_width_pct": 0.477
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T00-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4462.55,
      "stop": 4459.615,
      "target": 4468.42,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.99,
        "bb_width_pct": 0.477
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T00-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T00:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4461.375,
      "stop": 4458.188,
      "target": 4467.749,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.77,
        "bb_width_pct": 0.463
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T00-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T00:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4454.555,
      "stop": 4449.15,
      "target": 4465.365,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.24,
        "bb_width_pct": 0.533
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T00-20-00Z_long_rsi_range_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T00:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4454.555,
      "stop": 4449.15,
      "target": 4465.365,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.24,
        "bb_width_pct": 0.533
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T00-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T00:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4454.555,
      "stop": 4448.371,
      "target": 4466.923,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 24.24,
        "bb_width_pct": 0.533
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T00-25-00Z_long_rsi_range_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T00:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4457.64,
      "stop": 4454.177,
      "target": 4464.566,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.99,
        "bb_width_pct": 0.526
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T00-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T00:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4457.64,
      "stop": 4453.356,
      "target": 4466.208,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 20.99,
        "bb_width_pct": 0.526
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T00-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T00:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4457.64,
      "stop": 4454.665,
      "target": 4463.59,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.99,
        "bb_width_pct": 0.526
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T01-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T01:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4464.68,
      "stop": 4466.187,
      "target": 4461.666,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.48,
        "bb_width_pct": 0.341
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T01-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T01:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4458.815,
      "stop": 4457.873,
      "target": 4460.698,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.47,
        "bb_width_pct": 0.343
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T01-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T01:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4458.815,
      "stop": 4455.119,
      "target": 4466.208,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.47,
        "bb_width_pct": 0.343
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T01-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T01:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4458.815,
      "stop": 4457.165,
      "target": 4462.114,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.47,
        "bb_width_pct": 0.343
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T01-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T01:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4449.745,
      "stop": 4444.498,
      "target": 4460.24,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.98,
        "bb_width_pct": 0.409
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T01-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T01:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4446.635,
      "stop": 4440.941,
      "target": 4458.023,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.64,
        "bb_width_pct": 0.531
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T01-45-00Z_long_vwap_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T01:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4446.635,
      "stop": 4440.629,
      "target": 4458.646,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.64,
        "bb_width_pct": 0.531
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T01-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T01:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4446.635,
      "stop": 4438.151,
      "target": 4463.602,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 16.64,
        "bb_width_pct": 0.531
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T01-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T01:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4450.6,
      "stop": 4447.012,
      "target": 4457.776,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.7,
        "bb_width_pct": 0.549
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T01-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T01:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4450.6,
      "stop": 4444.811,
      "target": 4462.177,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.7,
        "bb_width_pct": 0.549
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T01-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T01:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4450.6,
      "stop": 4447.369,
      "target": 4457.063,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.7,
        "bb_width_pct": 0.549
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T02-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T02:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4449.605,
      "stop": 4445.777,
      "target": 4457.26,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.29,
        "bb_width_pct": 0.597
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T02-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T02:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4449.605,
      "stop": 4444.265,
      "target": 4460.285,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.29,
        "bb_width_pct": 0.597
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T02-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T02:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4449.605,
      "stop": 4446.664,
      "target": 4455.487,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.29,
        "bb_width_pct": 0.597
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T02-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T02:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4449.54,
      "stop": 4445.163,
      "target": 4458.295,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.88,
        "bb_width_pct": 0.633
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T02-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4445.29,
      "stop": 4441.627,
      "target": 4452.615,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.79,
        "bb_width_pct": 0.58
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T02-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T02:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4445.18,
      "stop": 4441.816,
      "target": 4451.907,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.22,
        "bb_width_pct": 0.587
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T02-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T02:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4443.23,
      "stop": 4439.097,
      "target": 4451.495,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.47,
        "bb_width_pct": 0.541
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T02-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T02:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4443.23,
      "stop": 4439.305,
      "target": 4451.081,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.47,
        "bb_width_pct": 0.541
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T02-45-00Z_long_vwap_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4445.9,
      "stop": 4441.479,
      "target": 4454.741,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.48,
        "bb_width_pct": 0.478
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T02-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4445.9,
      "stop": 4441.666,
      "target": 4454.368,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.48,
        "bb_width_pct": 0.478
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T02-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T02:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4440.575,
      "stop": 4436.356,
      "target": 4449.013,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.06,
        "bb_width_pct": 0.391
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T03-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4438.69,
      "stop": 4434.166,
      "target": 4447.737,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.19,
        "bb_width_pct": 0.41
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T03-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T03:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4440.18,
      "stop": 4436.867,
      "target": 4446.805,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.81,
        "bb_width_pct": 0.367
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T03-05-00Z_long_vwap_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T03:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4440.18,
      "stop": 4433.607,
      "target": 4453.326,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.81,
        "bb_width_pct": 0.367
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T03-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T03:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4440.18,
      "stop": 4433.626,
      "target": 4453.288,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 11.81,
        "bb_width_pct": 0.367
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T03-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T03:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4440.18,
      "stop": 4436.629,
      "target": 4447.282,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.81,
        "bb_width_pct": 0.367
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T03-10-00Z_long_vwap_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T03:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4441.17,
      "stop": 4435.26,
      "target": 4452.991,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.33,
        "bb_width_pct": 0.351
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T03-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T03:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4441.17,
      "stop": 4435.111,
      "target": 4453.288,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.33,
        "bb_width_pct": 0.351
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T03-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T03:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4441.17,
      "stop": 4438.405,
      "target": 4446.7,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.33,
        "bb_width_pct": 0.351
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T03-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T03:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4437.48,
      "stop": 4433.632,
      "target": 4445.176,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.74,
        "bb_width_pct": 0.403
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T03-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T03:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4437.48,
      "stop": 4433.648,
      "target": 4445.144,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.74,
        "bb_width_pct": 0.403
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T03-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4436.855,
      "stop": 4433.105,
      "target": 4444.355,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.62,
        "bb_width_pct": 0.433
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T03-30-00Z_long_rsi_range_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4439.87,
      "stop": 4437.73,
      "target": 4444.15,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.01,
        "bb_width_pct": 0.425
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T03-30-00Z_long_vwap_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4439.87,
      "stop": 4433.977,
      "target": 4451.656,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.01,
        "bb_width_pct": 0.425
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T03-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4439.87,
      "stop": 4433.467,
      "target": 4452.675,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 16.01,
        "bb_width_pct": 0.425
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T03-35-00Z_long_rsi_range_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T03:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4440.755,
      "stop": 4439.214,
      "target": 4443.837,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.36,
        "bb_width_pct": 0.425
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T03-35-00Z_long_vwap_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T03:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4440.755,
      "stop": 4435.441,
      "target": 4451.383,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.36,
        "bb_width_pct": 0.425
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T03-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T03:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4440.755,
      "stop": 4434.795,
      "target": 4452.675,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.36,
        "bb_width_pct": 0.425
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T03-40-00Z_long_vwap_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T03:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4441.205,
      "stop": 4436.226,
      "target": 4451.162,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.21,
        "bb_width_pct": 0.411
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T03-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T03:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4441.205,
      "stop": 4435.47,
      "target": 4452.675,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.21,
        "bb_width_pct": 0.411
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T03-45-00Z_long_vwap_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T03:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4441.25,
      "stop": 4436.403,
      "target": 4450.944,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.29,
        "bb_width_pct": 0.401
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T03-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T03:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4441.25,
      "stop": 4435.538,
      "target": 4452.675,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 3.29,
        "bb_width_pct": 0.401
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T03-55-00Z_long_vwap_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T03:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4442.615,
      "stop": 4438.646,
      "target": 4450.554,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.39,
        "bb_width_pct": 0.366
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T04-00-00Z_long_vwap_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T04:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4442.73,
      "stop": 4438.895,
      "target": 4450.4,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.15,
        "bb_width_pct": 0.292
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T04-10-00Z_long_vwap_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T04:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4441.69,
      "stop": 4437.519,
      "target": 4450.032,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.99,
        "bb_width_pct": 0.201
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T04-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T04:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4441.69,
      "stop": 4436.197,
      "target": 4452.675,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 2.99,
        "bb_width_pct": 0.201
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T04-20-00Z_long_vwap_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4439.925,
      "stop": 4435.05,
      "target": 4449.676,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.12,
        "bb_width_pct": 0.179
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T04-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4439.925,
      "stop": 4433.55,
      "target": 4452.675,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 2.12,
        "bb_width_pct": 0.179
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T04-35-00Z_long_vwap_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4441.715,
      "stop": 4437.984,
      "target": 4449.177,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.82,
        "bb_width_pct": 0.134
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T04-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4441.715,
      "stop": 4437.709,
      "target": 4449.727,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 3.82,
        "bb_width_pct": 0.134
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T04-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4440.875,
      "stop": 4441.125,
      "target": 4440.376,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.25,
        "bb_width_pct": 0.131
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T04-45-00Z_long_vwap_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4441.185,
      "stop": 4437.325,
      "target": 4448.905,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.04,
        "bb_width_pct": 0.132
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T04-50-00Z_long_vwap_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T04:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4444.35,
      "stop": 4442.12,
      "target": 4448.81,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.62,
        "bb_width_pct": 0.152
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T05-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4447.735,
      "stop": 4450.275,
      "target": 4442.654,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.95,
        "bb_width_pct": 0.203
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T05-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4447.425,
      "stop": 4449.583,
      "target": 4443.108,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.12,
        "bb_width_pct": 0.213
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T05-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4449.06,
      "stop": 4451.752,
      "target": 4443.675,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.3,
        "bb_width_pct": 0.25
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T05-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4445.51,
      "stop": 4446.948,
      "target": 4442.635,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.3,
        "bb_width_pct": 0.255
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T05-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4443.87,
      "stop": 4444.414,
      "target": 4442.783,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.45,
        "bb_width_pct": 0.262
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T06-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4437.665,
      "stop": 4434.653,
      "target": 4443.689,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.91,
        "bb_width_pct": 0.276
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T06-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4437.665,
      "stop": 4434.819,
      "target": 4443.357,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.91,
        "bb_width_pct": 0.276
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T06-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4440.575,
      "stop": 4438.997,
      "target": 4443.732,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.29,
        "bb_width_pct": 0.272
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T06-05-00Z_long_vwap_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4440.575,
      "stop": 4436.886,
      "target": 4447.954,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.29,
        "bb_width_pct": 0.272
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T06-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4440.575,
      "stop": 4439.471,
      "target": 4442.783,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.29,
        "bb_width_pct": 0.272
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T06-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T06:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4436.905,
      "stop": 4433.685,
      "target": 4443.344,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.27,
        "bb_width_pct": 0.321
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T06-15-00Z_long_vwap_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T06:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4436.905,
      "stop": 4431.533,
      "target": 4447.65,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.27,
        "bb_width_pct": 0.321
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T06-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T06:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4436.905,
      "stop": 4433.966,
      "target": 4442.783,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 16.27,
        "bb_width_pct": 0.321
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T06-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T06:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4436.905,
      "stop": 4434.382,
      "target": 4441.952,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.27,
        "bb_width_pct": 0.321
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T06-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T06:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4448.455,
      "stop": 4452.938,
      "target": 4439.49,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.19,
        "bb_width_pct": 0.337
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T06-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T06:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4453.49,
      "stop": 4457.919,
      "target": 4444.632,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.22,
        "bb_width_pct": 0.381
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T06-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T06:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4451.27,
      "stop": 4454.744,
      "target": 4444.323,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.14,
        "bb_width_pct": 0.394
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T06-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T06:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4451.27,
      "stop": 4455.709,
      "target": 4442.392,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.14,
        "bb_width_pct": 0.394
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T06-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T06:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4451.27,
      "stop": 4454.273,
      "target": 4445.264,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.14,
        "bb_width_pct": 0.394
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T07-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T07:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4454.87,
      "stop": 4459.708,
      "target": 4445.193,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.51,
        "bb_width_pct": 0.473
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T07-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T07:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4454.87,
      "stop": 4458.884,
      "target": 4446.841,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.51,
        "bb_width_pct": 0.473
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T07-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T07:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4457.25,
      "stop": 4462.968,
      "target": 4445.814,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 23.5,
        "bb_width_pct": 0.529
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T07-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T07:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4458.69,
      "stop": 4464.732,
      "target": 4446.605,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.7,
        "bb_width_pct": 0.581
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T07-35-00Z_short_rsi_range_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T07:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4462.015,
      "stop": 4467.219,
      "target": 4451.607,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 21.11,
        "bb_width_pct": 0.865
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T07-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T07:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4462.015,
      "stop": 4469.007,
      "target": 4448.03,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 21.11,
        "bb_width_pct": 0.865
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T07-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T07:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4462.015,
      "stop": 4465.554,
      "target": 4454.937,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.11,
        "bb_width_pct": 0.865
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T07-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T07:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4462.125,
      "stop": 4465.377,
      "target": 4455.621,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.37,
        "bb_width_pct": 0.838
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T07-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T07:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4462.68,
      "stop": 4465.873,
      "target": 4456.294,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.79,
        "bb_width_pct": 0.819
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T07-50-00Z_short_rsi_range_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T07:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4461.92,
      "stop": 4465.282,
      "target": 4455.196,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 11.56,
        "bb_width_pct": 0.751
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T07-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T07:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4461.92,
      "stop": 4468.865,
      "target": 4448.03,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.56,
        "bb_width_pct": 0.751
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T07-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T07:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4461.92,
      "stop": 4464.465,
      "target": 4456.83,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.56,
        "bb_width_pct": 0.751
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T07-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T07:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4460.955,
      "stop": 4467.417,
      "target": 4448.03,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.68,
        "bb_width_pct": 0.656
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T08-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T08:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4460.58,
      "stop": 4466.855,
      "target": 4448.03,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.83,
        "bb_width_pct": 0.535
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T08-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T08:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4463.9,
      "stop": 4466.25,
      "target": 4459.2,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.51,
        "bb_width_pct": 0.38
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T08-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4463.495,
      "stop": 4471.227,
      "target": 4448.03,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.74,
        "bb_width_pct": 0.317
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T08-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4463.495,
      "stop": 4465.097,
      "target": 4460.291,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.74,
        "bb_width_pct": 0.317
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T08-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4461.95,
      "stop": 4468.656,
      "target": 4448.538,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.25,
        "bb_width_pct": 0.261
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T08-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T08:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4461.89,
      "stop": 4468.566,
      "target": 4448.538,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.25,
        "bb_width_pct": 0.214
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T08-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T08:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4462.795,
      "stop": 4469.924,
      "target": 4448.538,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.0,
        "bb_width_pct": 0.164
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T09-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4461.12,
      "stop": 4467.411,
      "target": 4448.538,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.39,
        "bb_width_pct": 0.168
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T09-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T09:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4460.825,
      "stop": 4466.969,
      "target": 4448.538,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.25,
        "bb_width_pct": 0.149
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T09-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T09:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4466.35,
      "stop": 4468.659,
      "target": 4461.733,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.69,
        "bb_width_pct": 0.15
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T09-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T09:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4467.72,
      "stop": 4470.428,
      "target": 4462.303,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.74,
        "bb_width_pct": 0.179
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T09-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T09:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4466.675,
      "stop": 4468.427,
      "target": 4463.172,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.99,
        "bb_width_pct": 0.192
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T09-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T09:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4466.675,
      "stop": 4475.466,
      "target": 4449.093,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.99,
        "bb_width_pct": 0.192
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T09-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T09:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4466.675,
      "stop": 4468.653,
      "target": 4462.72,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.99,
        "bb_width_pct": 0.192
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T09-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T09:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4463.15,
      "stop": 4470.179,
      "target": 4449.093,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.4,
        "bb_width_pct": 0.192
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T09-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4463.425,
      "stop": 4469.005,
      "target": 4452.265,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.12,
        "bb_width_pct": 0.185
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T09-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T09:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4465.48,
      "stop": 4466.28,
      "target": 4463.88,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.4,
        "bb_width_pct": 0.181
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T09-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T09:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4465.48,
      "stop": 4470.251,
      "target": 4455.938,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.4,
        "bb_width_pct": 0.181
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T10-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T10:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4466.45,
      "stop": 4467.627,
      "target": 4464.095,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.86,
        "bb_width_pct": 0.125
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T11-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T11:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4461.925,
      "stop": 4460.377,
      "target": 4465.022,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.73,
        "bb_width_pct": 0.143
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T11-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T11:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4461.745,
      "stop": 4460.215,
      "target": 4464.804,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.83,
        "bb_width_pct": 0.155
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T11-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T11:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4461.745,
      "stop": 4460.514,
      "target": 4464.207,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.83,
        "bb_width_pct": 0.155
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T11-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T11:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4470.22,
      "stop": 4472.588,
      "target": 4465.484,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.89,
        "bb_width_pct": 0.235
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T11-55-00Z_short_vwap_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T11:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4470.22,
      "stop": 4472.67,
      "target": 4465.32,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.89,
        "bb_width_pct": 0.235
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T11-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T11:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4470.22,
      "stop": 4472.408,
      "target": 4465.843,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.89,
        "bb_width_pct": 0.235
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T12-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4465.475,
      "stop": 4465.516,
      "target": 4465.393,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.92,
        "bb_width_pct": 0.232
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T12-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T12:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4469.405,
      "stop": 4471.202,
      "target": 4465.811,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.14,
        "bb_width_pct": 0.244
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T12-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T12:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4468.615,
      "stop": 4469.682,
      "target": 4466.48,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.08,
        "bb_width_pct": 0.276
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T12-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T12:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4468.615,
      "stop": 4469.521,
      "target": 4466.802,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.08,
        "bb_width_pct": 0.276
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T12-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T12:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4468.615,
      "stop": 4469.358,
      "target": 4467.129,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.08,
        "bb_width_pct": 0.276
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T12-40-00Z_long_vwap_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T12:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4446.34,
      "stop": 4438.496,
      "target": 4462.028,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.7,
        "bb_width_pct": 0.67
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T12-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T12:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4446.34,
      "stop": 4440.601,
      "target": 4457.818,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 17.7,
        "bb_width_pct": 0.67
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T15-15-00Z_long_vwap_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T15:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4355.285,
      "stop": 4332.461,
      "target": 4400.932,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.14,
        "bb_width_pct": 1.049
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T15-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T15:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4355.285,
      "stop": 4327.805,
      "target": 4410.245,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.14,
        "bb_width_pct": 1.049
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T15-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T15:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4338.975,
      "stop": 4329.949,
      "target": 4357.027,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.86,
        "bb_width_pct": 0.885
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T15-45-00Z_long_vwap_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T15:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4339.415,
      "stop": 4312.256,
      "target": 4393.732,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.18,
        "bb_width_pct": 0.868
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T15-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T15:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4339.415,
      "stop": 4308.725,
      "target": 4400.795,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.18,
        "bb_width_pct": 0.868
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T15-50-00Z_long_vwap_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T15:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4341.165,
      "stop": 4315.452,
      "target": 4392.59,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.85,
        "bb_width_pct": 0.879
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T15-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T15:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4341.165,
      "stop": 4314.305,
      "target": 4394.885,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.85,
        "bb_width_pct": 0.879
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T16-10-00Z_long_rsi_range_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T16:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4333.265,
      "stop": 4325.541,
      "target": 4348.713,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 27.26,
        "bb_width_pct": 1.041
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T16-10-00Z_long_vwap_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T16:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4333.265,
      "stop": 4305.879,
      "target": 4388.038,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 27.26,
        "bb_width_pct": 1.041
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T16-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T16:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4333.265,
      "stop": 4312.338,
      "target": 4375.12,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 27.26,
        "bb_width_pct": 1.041
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T16-25-00Z_long_rsi_range_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T16:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4329.775,
      "stop": 4321.943,
      "target": 4345.439,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.74,
        "bb_width_pct": 1.195
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T16-25-00Z_long_vwap_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T16:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4329.775,
      "stop": 4302.266,
      "target": 4384.793,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.74,
        "bb_width_pct": 1.195
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T16-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T16:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4329.775,
      "stop": 4307.997,
      "target": 4373.33,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 22.74,
        "bb_width_pct": 1.195
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T16-35-00Z_long_rsi_range_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4331.815,
      "stop": 4326.813,
      "target": 4341.819,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.23,
        "bb_width_pct": 1.063
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T16-35-00Z_long_vwap_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4331.815,
      "stop": 4306.33,
      "target": 4382.786,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.23,
        "bb_width_pct": 1.063
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T16-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4331.815,
      "stop": 4311.724,
      "target": 4371.998,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.23,
        "bb_width_pct": 1.063
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T16-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4331.815,
      "stop": 4326.849,
      "target": 4341.747,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.23,
        "bb_width_pct": 1.063
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T16-45-00Z_long_vwap_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4334.19,
      "stop": 4310.801,
      "target": 4380.967,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.15,
        "bb_width_pct": 0.812
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T16-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4334.19,
      "stop": 4318.039,
      "target": 4366.493,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.15,
        "bb_width_pct": 0.812
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T16-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4334.19,
      "stop": 4331.372,
      "target": 4339.825,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.15,
        "bb_width_pct": 0.812
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T16-50-00Z_long_vwap_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T16:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4338.245,
      "stop": 4317.258,
      "target": 4380.218,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.27,
        "bb_width_pct": 0.749
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T16-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T16:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4338.245,
      "stop": 4325.191,
      "target": 4364.353,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.27,
        "bb_width_pct": 0.749
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T16-55-00Z_long_vwap_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4344.68,
      "stop": 4327.227,
      "target": 4379.585,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.67,
        "bb_width_pct": 0.669
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T18-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T18:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4326.365,
      "stop": 4320.631,
      "target": 4337.833,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.52,
        "bb_width_pct": 0.589
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T18-15-00Z_long_vwap_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T18:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4326.365,
      "stop": 4320.337,
      "target": 4338.422,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.52,
        "bb_width_pct": 0.589
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T18-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T18:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4326.365,
      "stop": 4315.686,
      "target": 4347.722,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 16.52,
        "bb_width_pct": 0.589
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T18-20-00Z_long_vwap_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T18:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4327.4,
      "stop": 4322.192,
      "target": 4337.817,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.82,
        "bb_width_pct": 0.592
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T18-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T18:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4327.4,
      "stop": 4318.233,
      "target": 4345.735,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 13.82,
        "bb_width_pct": 0.592
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T18-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T18:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4327.4,
      "stop": 4323.118,
      "target": 4335.963,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.82,
        "bb_width_pct": 0.592
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T18-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T18:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4325.935,
      "stop": 4320.203,
      "target": 4337.4,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.59,
        "bb_width_pct": 0.635
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T18-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4325.2,
      "stop": 4319.426,
      "target": 4336.748,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.29,
        "bb_width_pct": 0.681
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T18-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T18:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4320.385,
      "stop": 4312.811,
      "target": 4335.533,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 27.98,
        "bb_width_pct": 0.734
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T18-45-00Z_long_rsi_range_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T18:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4321.765,
      "stop": 4315.966,
      "target": 4333.363,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.23,
        "bb_width_pct": 0.819
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T18-45-00Z_long_vwap_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T18:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4321.765,
      "stop": 4315.547,
      "target": 4334.201,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.23,
        "bb_width_pct": 0.819
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T18-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T18:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4321.765,
      "stop": 4315.062,
      "target": 4335.17,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 23.23,
        "bb_width_pct": 0.819
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T18-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T18:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4321.765,
      "stop": 4317.417,
      "target": 4330.461,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.23,
        "bb_width_pct": 0.819
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T18-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T18:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4320.795,
      "stop": 4316.422,
      "target": 4329.541,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.62,
        "bb_width_pct": 0.845
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T18-55-00Z_long_rsi_range_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T18:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4322.485,
      "stop": 4317.922,
      "target": 4331.61,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.89,
        "bb_width_pct": 0.857
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T18-55-00Z_long_vwap_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T18:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4322.485,
      "stop": 4317.161,
      "target": 4333.132,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.89,
        "bb_width_pct": 0.857
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T18-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T18:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4322.485,
      "stop": 4318.028,
      "target": 4331.4,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 24.89,
        "bb_width_pct": 0.857
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T18-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T18:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4322.485,
      "stop": 4319.293,
      "target": 4328.869,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.89,
        "bb_width_pct": 0.857
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T19-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T19:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4320.95,
      "stop": 4317.368,
      "target": 4328.115,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.15,
        "bb_width_pct": 0.867
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T19-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T19:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4319.92,
      "stop": 4316.213,
      "target": 4327.334,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.35,
        "bb_width_pct": 0.854
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T19-15-00Z_long_vwap_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T19:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4318.565,
      "stop": 4312.327,
      "target": 4331.041,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.97,
        "bb_width_pct": 0.787
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T19-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T19:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4318.565,
      "stop": 4312.159,
      "target": 4331.378,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.97,
        "bb_width_pct": 0.787
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T19-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T19:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4318.565,
      "stop": 4315.11,
      "target": 4325.475,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.97,
        "bb_width_pct": 0.787
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T19-20-00Z_long_vwap_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T19:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4319.26,
      "stop": 4313.58,
      "target": 4330.621,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.57,
        "bb_width_pct": 0.738
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T19-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T19:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4319.26,
      "stop": 4313.525,
      "target": 4330.73,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.57,
        "bb_width_pct": 0.738
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T19-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T19:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4319.26,
      "stop": 4316.449,
      "target": 4324.883,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.57,
        "bb_width_pct": 0.738
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T19-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T19:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4323.94,
      "stop": 4320.545,
      "target": 4330.73,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.15,
        "bb_width_pct": 0.672
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T19-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T19:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4318.905,
      "stop": 4317.265,
      "target": 4322.184,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.8,
        "bb_width_pct": 0.321
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T19-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T19:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4318.905,
      "stop": 4316.419,
      "target": 4323.877,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.8,
        "bb_width_pct": 0.321
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T19-45-00Z_long_vwap_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T19:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4320.895,
      "stop": 4316.712,
      "target": 4329.26,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.45,
        "bb_width_pct": 0.274
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T19-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T19:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4320.895,
      "stop": 4315.978,
      "target": 4330.73,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 3.45,
        "bb_width_pct": 0.274
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T19-55-00Z_long_vwap_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T19:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4318.73,
      "stop": 4313.734,
      "target": 4328.722,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.63,
        "bb_width_pct": 0.266
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T19-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T19:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4318.73,
      "stop": 4312.73,
      "target": 4330.73,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 2.63,
        "bb_width_pct": 0.266
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T20-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T20:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4313.935,
      "stop": 4309.975,
      "target": 4321.854,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.68,
        "bb_width_pct": 0.269
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T20-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T20:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4314.05,
      "stop": 4311.147,
      "target": 4319.856,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.21,
        "bb_width_pct": 0.272
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T20-05-00Z_long_vwap_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T20:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4314.05,
      "stop": 4307.09,
      "target": 4327.97,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.21,
        "bb_width_pct": 0.272
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T20-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T20:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4314.05,
      "stop": 4306.014,
      "target": 4330.122,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.21,
        "bb_width_pct": 0.272
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T20-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T20:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4314.05,
      "stop": 4310.519,
      "target": 4321.111,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.21,
        "bb_width_pct": 0.272
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T20-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T20:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4315.78,
      "stop": 4313.977,
      "target": 4319.385,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.69,
        "bb_width_pct": 0.259
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T20-10-00Z_long_vwap_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T20:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4315.78,
      "stop": 4309.848,
      "target": 4327.644,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.69,
        "bb_width_pct": 0.259
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T20-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T20:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4315.78,
      "stop": 4308.824,
      "target": 4329.693,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.69,
        "bb_width_pct": 0.259
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T20-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T20:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4315.78,
      "stop": 4313.368,
      "target": 4320.603,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.69,
        "bb_width_pct": 0.259
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T20-20-00Z_long_vwap_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T20:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4320.01,
      "stop": 4316.453,
      "target": 4327.123,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.03,
        "bb_width_pct": 0.269
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T20-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T20:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4320.01,
      "stop": 4315.169,
      "target": 4329.693,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 2.03,
        "bb_width_pct": 0.269
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T20-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T20:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4322.95,
      "stop": 4324.778,
      "target": 4319.294,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.0,
        "bb_width_pct": 0.274
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T20-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T20:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4327.6,
      "stop": 4330.527,
      "target": 4321.747,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.59,
        "bb_width_pct": 0.339
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T20-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T20:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4327.565,
      "stop": 4331.069,
      "target": 4320.557,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.16,
        "bb_width_pct": 0.357
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T20-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T20:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4327.565,
      "stop": 4330.197,
      "target": 4322.301,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.16,
        "bb_width_pct": 0.357
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T20-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T20:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4327.885,
      "stop": 4331.316,
      "target": 4321.023,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.59,
        "bb_width_pct": 0.384
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-05T20-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T20:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4327.885,
      "stop": 4330.411,
      "target": 4322.833,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.59,
        "bb_width_pct": 0.384
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-07T22-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-07",
      "timestamp": "2026-06-07T22:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4319.015,
      "stop": 4318.083,
      "target": 4320.88,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.6,
        "bb_width_pct": 0.379
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-07T22-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-07",
      "timestamp": "2026-06-07T22:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4319.015,
      "stop": 4317.353,
      "target": 4322.338,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.6,
        "bb_width_pct": 0.379
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-07T22-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-07",
      "timestamp": "2026-06-07T22:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4317.53,
      "stop": 4314.46,
      "target": 4323.669,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.26,
        "bb_width_pct": 0.326
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-07T23-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-07",
      "timestamp": "2026-06-07T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4330.96,
      "stop": 4334.144,
      "target": 4324.591,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.77,
        "bb_width_pct": 0.349
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-07T23-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-07",
      "timestamp": "2026-06-07T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4331.3,
      "stop": 4334.451,
      "target": 4324.998,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.75,
        "bb_width_pct": 0.373
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-07T23-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-07",
      "timestamp": "2026-06-07T23:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4330.335,
      "stop": 4334.405,
      "target": 4322.195,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.34,
        "bb_width_pct": 0.387
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-07T23-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-07",
      "timestamp": "2026-06-07T23:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4334.345,
      "stop": 4338.69,
      "target": 4325.654,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.91,
        "bb_width_pct": 0.426
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-07T23-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-07",
      "timestamp": "2026-06-07T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4333.945,
      "stop": 4337.931,
      "target": 4325.973,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.91,
        "bb_width_pct": 0.456
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-07T23-30-00Z_short_vwap_mean_reversion",
      "date": "2026-06-07",
      "timestamp": "2026-06-07T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4333.945,
      "stop": 4338.203,
      "target": 4325.43,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 19.91,
        "bb_width_pct": 0.456
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-07T23-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-07",
      "timestamp": "2026-06-07T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4333.945,
      "stop": 4339.655,
      "target": 4322.525,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 19.91,
        "bb_width_pct": 0.456
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-07T23-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-07",
      "timestamp": "2026-06-07T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4333.945,
      "stop": 4337.412,
      "target": 4327.01,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.91,
        "bb_width_pct": 0.456
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-07T23-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-07",
      "timestamp": "2026-06-07T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4336.87,
      "stop": 4342.094,
      "target": 4326.423,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.2,
        "bb_width_pct": 0.506
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-07T23-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-07",
      "timestamp": "2026-06-07T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4339.095,
      "stop": 4344.987,
      "target": 4327.311,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.69,
        "bb_width_pct": 0.554
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-07T23-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-07",
      "timestamp": "2026-06-07T23:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4343.435,
      "stop": 4350.599,
      "target": 4329.108,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 25.4,
        "bb_width_pct": 0.67
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-07T23-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-07",
      "timestamp": "2026-06-07T23:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4344.16,
      "stop": 4351.266,
      "target": 4329.949,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 25.74,
        "bb_width_pct": 0.733
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T00-10-00Z_short_rsi_range_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T00:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4343.795,
      "stop": 4348.941,
      "target": 4333.503,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 23.32,
        "bb_width_pct": 0.776
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T00-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T00:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4343.795,
      "stop": 4351.389,
      "target": 4328.608,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 23.32,
        "bb_width_pct": 0.776
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T00-30-00Z_short_rsi_range_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4349.28,
      "stop": 4354.643,
      "target": 4338.554,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 20.38,
        "bb_width_pct": 0.841
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T00-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4349.28,
      "stop": 4358.029,
      "target": 4331.782,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 20.38,
        "bb_width_pct": 0.841
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T00-35-00Z_short_rsi_range_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T00:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4347.815,
      "stop": 4351.688,
      "target": 4340.068,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 18.83,
        "bb_width_pct": 0.732
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T00-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T00:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4347.815,
      "stop": 4355.831,
      "target": 4331.782,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.83,
        "bb_width_pct": 0.732
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T00-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T00:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4347.815,
      "stop": 4351.125,
      "target": 4341.194,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.83,
        "bb_width_pct": 0.732
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T00-40-00Z_short_rsi_range_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T00:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4345.535,
      "stop": 4347.782,
      "target": 4341.04,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 11.3,
        "bb_width_pct": 0.676
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T00-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T00:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4345.535,
      "stop": 4352.411,
      "target": 4331.782,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.3,
        "bb_width_pct": 0.676
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T01-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T01:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4337.35,
      "stop": 4334.267,
      "target": 4343.516,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.99,
        "bb_width_pct": 0.422
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T01-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T01:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4337.35,
      "stop": 4335.458,
      "target": 4341.134,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.99,
        "bb_width_pct": 0.422
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T01-20-00Z_long_rsi_range_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T01:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4321.985,
      "stop": 4312.288,
      "target": 4341.378,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.17,
        "bb_width_pct": 0.812
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T01-20-00Z_long_vwap_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T01:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4321.985,
      "stop": 4312.422,
      "target": 4341.111,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.17,
        "bb_width_pct": 0.812
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T01-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T01:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4321.985,
      "stop": 4317.086,
      "target": 4331.782,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 24.17,
        "bb_width_pct": 0.812
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T01-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T01:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4317.47,
      "stop": 4307.566,
      "target": 4337.279,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.79,
        "bb_width_pct": 1.159
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T01-35-00Z_long_rsi_range_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T01:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4317.47,
      "stop": 4307.566,
      "target": 4337.279,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.79,
        "bb_width_pct": 1.159
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T01-35-00Z_long_vwap_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T01:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4317.47,
      "stop": 4307.647,
      "target": 4337.116,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.79,
        "bb_width_pct": 1.159
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T01-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T01:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4317.47,
      "stop": 4310.718,
      "target": 4330.974,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.79,
        "bb_width_pct": 1.159
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T01-40-00Z_long_rsi_range_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T01:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4326.2,
      "stop": 4321.13,
      "target": 4336.341,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.26,
        "bb_width_pct": 1.168
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T01-50-00Z_long_rsi_range_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T01:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4324.115,
      "stop": 4319.049,
      "target": 4334.247,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.71,
        "bb_width_pct": 1.183
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T02-20-00Z_long_vwap_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T02:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4316.425,
      "stop": 4308.559,
      "target": 4332.158,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.32,
        "bb_width_pct": 0.904
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T02-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4309.545,
      "stop": 4303.27,
      "target": 4322.094,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.46,
        "bb_width_pct": 0.804
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T02-35-00Z_long_vwap_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T02:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4311.945,
      "stop": 4302.771,
      "target": 4330.293,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.06,
        "bb_width_pct": 0.706
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T02-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T02:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4311.945,
      "stop": 4304.549,
      "target": 4326.737,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 3.06,
        "bb_width_pct": 0.706
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T02-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T02:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4311.945,
      "stop": 4307.354,
      "target": 4321.128,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.06,
        "bb_width_pct": 0.706
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T02-40-00Z_long_vwap_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T02:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4315.975,
      "stop": 4309.059,
      "target": 4329.808,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.47,
        "bb_width_pct": 0.592
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T02-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T02:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4315.975,
      "stop": 4313.644,
      "target": 4320.637,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.47,
        "bb_width_pct": 0.592
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T02-45-00Z_long_vwap_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4317.435,
      "stop": 4311.429,
      "target": 4329.447,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.56,
        "bb_width_pct": 0.457
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T03-00-00Z_long_vwap_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4311.455,
      "stop": 4303.15,
      "target": 4328.065,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.22,
        "bb_width_pct": 0.465
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T03-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T03:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4308.255,
      "stop": 4303.835,
      "target": 4317.095,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.52,
        "bb_width_pct": 0.496
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T03-15-00Z_long_vwap_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4307.675,
      "stop": 4298.264,
      "target": 4326.497,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.96,
        "bb_width_pct": 0.574
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T03-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4307.675,
      "stop": 4298.144,
      "target": 4326.737,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.96,
        "bb_width_pct": 0.574
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T03-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4307.675,
      "stop": 4303.937,
      "target": 4315.152,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.96,
        "bb_width_pct": 0.574
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T03-20-00Z_long_vwap_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T03:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4310.64,
      "stop": 4302.915,
      "target": 4326.089,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.9,
        "bb_width_pct": 0.535
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T03-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T03:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4310.64,
      "stop": 4302.591,
      "target": 4326.737,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.9,
        "bb_width_pct": 0.535
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T03-35-00Z_long_vwap_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T03:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4307.955,
      "stop": 4299.513,
      "target": 4324.838,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.0,
        "bb_width_pct": 0.423
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T03-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T03:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4307.955,
      "stop": 4298.564,
      "target": 4326.737,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 2.0,
        "bb_width_pct": 0.423
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T03-40-00Z_long_vwap_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T03:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4310.175,
      "stop": 4303.019,
      "target": 4324.487,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.37,
        "bb_width_pct": 0.359
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T03-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T03:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4310.175,
      "stop": 4301.894,
      "target": 4326.737,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 2.37,
        "bb_width_pct": 0.359
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T03-45-00Z_long_vwap_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T03:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4312.51,
      "stop": 4306.659,
      "target": 4324.212,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.7,
        "bb_width_pct": 0.326
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T03-50-00Z_long_vwap_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T03:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4315.19,
      "stop": 4310.781,
      "target": 4324.009,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.17,
        "bb_width_pct": 0.314
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T03-55-00Z_long_vwap_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T03:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4317.145,
      "stop": 4313.795,
      "target": 4323.845,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.49,
        "bb_width_pct": 0.336
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T04-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T04:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4314.92,
      "stop": 4316.675,
      "target": 4311.41,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.3,
        "bb_width_pct": 0.328
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T04-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T04:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4314.92,
      "stop": 4315.677,
      "target": 4313.406,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.3,
        "bb_width_pct": 0.328
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T04-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4318.235,
      "stop": 4321.566,
      "target": 4311.572,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.5,
        "bb_width_pct": 0.349
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T04-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T04:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4318.6,
      "stop": 4321.715,
      "target": 4312.37,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.02,
        "bb_width_pct": 0.398
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T04-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T04:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4318.6,
      "stop": 4320.527,
      "target": 4314.746,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.02,
        "bb_width_pct": 0.398
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T04-20-00Z_short_rsi_range_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4318.155,
      "stop": 4320.993,
      "target": 4312.479,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 17.26,
        "bb_width_pct": 0.409
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T04-45-00Z_long_vwap_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4310.415,
      "stop": 4304.417,
      "target": 4322.411,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.38,
        "bb_width_pct": 0.429
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T04-50-00Z_long_vwap_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T04:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4311.81,
      "stop": 4306.598,
      "target": 4322.234,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.1,
        "bb_width_pct": 0.398
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T04-55-00Z_long_vwap_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T04:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4312.98,
      "stop": 4308.439,
      "target": 4322.062,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.43,
        "bb_width_pct": 0.381
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T05-00-00Z_long_vwap_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4315.295,
      "stop": 4311.973,
      "target": 4321.938,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.95,
        "bb_width_pct": 0.379
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T05-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4309.46,
      "stop": 4307.39,
      "target": 4313.6,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.91,
        "bb_width_pct": 0.374
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T05-15-00Z_long_vwap_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4309.46,
      "stop": 4303.521,
      "target": 4321.339,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.91,
        "bb_width_pct": 0.374
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T05-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4309.46,
      "stop": 4305.561,
      "target": 4317.257,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 13.91,
        "bb_width_pct": 0.374
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T05-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4309.46,
      "stop": 4308.005,
      "target": 4312.37,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.91,
        "bb_width_pct": 0.374
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T05-20-00Z_long_vwap_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4311.355,
      "stop": 4306.437,
      "target": 4321.192,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.38,
        "bb_width_pct": 0.371
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T05-25-00Z_long_vwap_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4311.91,
      "stop": 4307.343,
      "target": 4321.045,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.93,
        "bb_width_pct": 0.372
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T05-35-00Z_long_rsi_range_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4290.94,
      "stop": 4280.956,
      "target": 4310.907,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.04,
        "bb_width_pct": 0.772
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T05-35-00Z_long_vwap_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4290.94,
      "stop": 4276.349,
      "target": 4320.122,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.04,
        "bb_width_pct": 0.772
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T05-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4290.94,
      "stop": 4284.221,
      "target": 4304.378,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 20.04,
        "bb_width_pct": 0.772
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T05-50-00Z_long_vwap_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4289.73,
      "stop": 4275.196,
      "target": 4318.797,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.66,
        "bb_width_pct": 1.024
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T05-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4289.73,
      "stop": 4283.156,
      "target": 4302.877,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.66,
        "bb_width_pct": 1.024
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T05-55-00Z_long_vwap_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T05:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4292.19,
      "stop": 4279.079,
      "target": 4318.412,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.16,
        "bb_width_pct": 1.03
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T05-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T05:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4292.19,
      "stop": 4287.355,
      "target": 4301.859,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.16,
        "bb_width_pct": 1.03
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T06-00-00Z_long_vwap_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4303.865,
      "stop": 4296.708,
      "target": 4318.179,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.46,
        "bb_width_pct": 0.992
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T06-10-00Z_long_vwap_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T06:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4303.855,
      "stop": 4296.894,
      "target": 4317.776,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.62,
        "bb_width_pct": 0.911
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T06-40-00Z_long_vwap_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T06:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4298.515,
      "stop": 4289.447,
      "target": 4316.651,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.8,
        "bb_width_pct": 0.78
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T06-50-00Z_long_vwap_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T06:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4298.035,
      "stop": 4288.95,
      "target": 4316.205,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.72,
        "bb_width_pct": 0.742
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T06-55-00Z_long_vwap_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T06:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4300.16,
      "stop": 4292.246,
      "target": 4315.988,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.84,
        "bb_width_pct": 0.71
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T07-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T07:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4306.145,
      "stop": 4308.393,
      "target": 4301.648,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.34,
        "bb_width_pct": 0.511
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T07-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T07:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4306.145,
      "stop": 4311.596,
      "target": 4295.243,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.34,
        "bb_width_pct": 0.511
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T07-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T07:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4306.145,
      "stop": 4307.564,
      "target": 4303.307,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.34,
        "bb_width_pct": 0.511
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T08-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4293.375,
      "stop": 4289.31,
      "target": 4301.504,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.66,
        "bb_width_pct": 0.486
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T08-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4293.375,
      "stop": 4289.466,
      "target": 4301.194,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.66,
        "bb_width_pct": 0.486
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T08-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T08:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4294.575,
      "stop": 4291.394,
      "target": 4300.937,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.9,
        "bb_width_pct": 0.496
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T08-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T08:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4294.575,
      "stop": 4291.581,
      "target": 4300.563,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.9,
        "bb_width_pct": 0.496
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T08-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T08:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4288.945,
      "stop": 4284.349,
      "target": 4298.137,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.74,
        "bb_width_pct": 0.592
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T08-30-00Z_long_rsi_range_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4291.505,
      "stop": 4287.699,
      "target": 4299.116,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.47,
        "bb_width_pct": 0.654
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T08-30-00Z_long_vwap_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4291.505,
      "stop": 4287.705,
      "target": 4299.106,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.47,
        "bb_width_pct": 0.654
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T08-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4291.505,
      "stop": 4288.923,
      "target": 4296.67,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.47,
        "bb_width_pct": 0.654
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T08-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4287.865,
      "stop": 4283.882,
      "target": 4295.831,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.31,
        "bb_width_pct": 0.692
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T08-40-00Z_long_rsi_range_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T08:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4290.95,
      "stop": 4287.389,
      "target": 4298.072,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.8,
        "bb_width_pct": 0.709
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T08-40-00Z_long_vwap_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T08:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4290.95,
      "stop": 4287.344,
      "target": 4298.161,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.8,
        "bb_width_pct": 0.709
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T08-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T08:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4290.95,
      "stop": 4288.742,
      "target": 4295.366,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.8,
        "bb_width_pct": 0.709
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T08-45-00Z_long_rsi_range_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T08:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4291.195,
      "stop": 4287.995,
      "target": 4297.596,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.35,
        "bb_width_pct": 0.719
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T08-45-00Z_long_vwap_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T08:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4291.195,
      "stop": 4287.867,
      "target": 4297.85,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.35,
        "bb_width_pct": 0.719
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T08-55-00Z_long_vwap_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T08:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4288.82,
      "stop": 4284.68,
      "target": 4297.101,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.49,
        "bb_width_pct": 0.709
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T08-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T08:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4288.82,
      "stop": 4283.254,
      "target": 4299.952,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.49,
        "bb_width_pct": 0.709
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T08-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T08:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4288.82,
      "stop": 4286.322,
      "target": 4293.815,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.49,
        "bb_width_pct": 0.709
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T09-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4290.89,
      "stop": 4285.891,
      "target": 4300.887,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.96,
        "bb_width_pct": 0.596
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T09-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T09:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4285.515,
      "stop": 4281.886,
      "target": 4292.773,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.3,
        "bb_width_pct": 0.571
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T09-10-00Z_long_vwap_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T09:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4289.03,
      "stop": 4285.477,
      "target": 4296.136,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.57,
        "bb_width_pct": 0.484
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T09-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T09:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4289.03,
      "stop": 4283.24,
      "target": 4300.61,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.57,
        "bb_width_pct": 0.484
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T09-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4293.92,
      "stop": 4293.349,
      "target": 4295.062,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 2.6,
        "bb_width_pct": 0.44
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T09-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T09:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4301.16,
      "stop": 4306.324,
      "target": 4290.832,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.36,
        "bb_width_pct": 0.496
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T09-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T09:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4293.785,
      "stop": 4296.028,
      "target": 4289.3,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.49,
        "bb_width_pct": 0.501
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T10-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T10:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4300.1,
      "stop": 4304.358,
      "target": 4291.585,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.5,
        "bb_width_pct": 0.624
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T11-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4300.17,
      "stop": 4305.479,
      "target": 4289.552,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.6,
        "bb_width_pct": 0.689
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T12-00-00Z_short_rsi_range_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4330.615,
      "stop": 4338.428,
      "target": 4314.989,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 26.41,
        "bb_width_pct": 1.2
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T12-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4330.615,
      "stop": 4344.267,
      "target": 4303.31,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 26.41,
        "bb_width_pct": 1.2
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T12-10-00Z_short_rsi_range_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T12:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4322.56,
      "stop": 4324.962,
      "target": 4317.756,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 14.53,
        "bb_width_pct": 1.122
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T12-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T12:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4322.56,
      "stop": 4331.815,
      "target": 4304.05,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.53,
        "bb_width_pct": 1.122
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T12-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T12:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4322.56,
      "stop": 4324.411,
      "target": 4318.858,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.53,
        "bb_width_pct": 1.122
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T12-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T12:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4330.2,
      "stop": 4334.637,
      "target": 4321.325,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.52,
        "bb_width_pct": 0.97
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T12-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T12:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4328.35,
      "stop": 4340.5,
      "target": 4304.05,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.26,
        "bb_width_pct": 0.844
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T12-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T12:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4328.35,
      "stop": 4331.528,
      "target": 4321.994,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.26,
        "bb_width_pct": 0.844
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T12-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T12:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4330.225,
      "stop": 4333.948,
      "target": 4322.778,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.19,
        "bb_width_pct": 0.727
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T12-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T12:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4335.8,
      "stop": 4340.514,
      "target": 4326.371,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.94,
        "bb_width_pct": 0.547
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T12-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T12:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4332.72,
      "stop": 4335.234,
      "target": 4327.693,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.13,
        "bb_width_pct": 0.359
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T12-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T12:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4332.72,
      "stop": 4345.913,
      "target": 4306.335,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.13,
        "bb_width_pct": 0.359
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T12-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T12:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4332.72,
      "stop": 4336.656,
      "target": 4324.847,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.13,
        "bb_width_pct": 0.359
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T12-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T12:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4330.155,
      "stop": 4341.92,
      "target": 4306.625,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.52,
        "bb_width_pct": 0.306
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T13-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4329.21,
      "stop": 4337.413,
      "target": 4312.805,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.24,
        "bb_width_pct": 0.313
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T13-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T13:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4331.86,
      "stop": 4333.385,
      "target": 4328.81,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.01,
        "bb_width_pct": 0.325
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T13-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T13:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4331.475,
      "stop": 4339.839,
      "target": 4314.747,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.46,
        "bb_width_pct": 0.312
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T13-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4333.59,
      "stop": 4335.625,
      "target": 4329.519,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.58,
        "bb_width_pct": 0.32
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T13-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4333.59,
      "stop": 4336.579,
      "target": 4327.612,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.58,
        "bb_width_pct": 0.32
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T13-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T13:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4336.425,
      "stop": 4339.502,
      "target": 4330.272,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.77,
        "bb_width_pct": 0.411
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T13-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T13:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4336.425,
      "stop": 4345.339,
      "target": 4318.597,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.77,
        "bb_width_pct": 0.411
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T13-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T13:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4336.425,
      "stop": 4339.849,
      "target": 4329.576,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.77,
        "bb_width_pct": 0.411
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T13-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4332.755,
      "stop": 4339.318,
      "target": 4319.63,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.84,
        "bb_width_pct": 0.414
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T14-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T14:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4320.65,
      "stop": 4315.845,
      "target": 4330.26,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.3,
        "bb_width_pct": 0.459
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T14-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T14:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4319.635,
      "stop": 4314.541,
      "target": 4329.824,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.13,
        "bb_width_pct": 0.506
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T14-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T14:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4321.76,
      "stop": 4317.94,
      "target": 4329.401,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.03,
        "bb_width_pct": 0.531
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T14-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T14:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4322.695,
      "stop": 4318.586,
      "target": 4330.913,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.95,
        "bb_width_pct": 0.588
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T14-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T14:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4326.545,
      "stop": 4324.361,
      "target": 4330.913,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.63,
        "bb_width_pct": 0.611
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T15-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T15:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4336.635,
      "stop": 4342.091,
      "target": 4325.722,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.17,
        "bb_width_pct": 0.528
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T15-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T15:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4339.26,
      "stop": 4345.612,
      "target": 4326.555,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.48,
        "bb_width_pct": 0.589
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T15-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T15:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4335.48,
      "stop": 4339.572,
      "target": 4327.297,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.11,
        "bb_width_pct": 0.601
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T15-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T15:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4335.48,
      "stop": 4338.077,
      "target": 4330.287,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.11,
        "bb_width_pct": 0.601
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T15-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T15:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4341.84,
      "stop": 4348.031,
      "target": 4329.459,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.64,
        "bb_width_pct": 0.69
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T15-55-00Z_short_rsi_range_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T15:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4341.84,
      "stop": 4348.031,
      "target": 4329.459,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 16.64,
        "bb_width_pct": 0.69
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T15-55-00Z_short_vwap_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T15:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4341.84,
      "stop": 4348.05,
      "target": 4329.421,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 16.64,
        "bb_width_pct": 0.69
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T15-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T15:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4341.84,
      "stop": 4347.304,
      "target": 4330.913,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 16.64,
        "bb_width_pct": 0.69
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T15-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T15:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4341.84,
      "stop": 4346.528,
      "target": 4332.465,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.64,
        "bb_width_pct": 0.69
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T16-00-00Z_short_vwap_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4341.27,
      "stop": 4347.073,
      "target": 4329.665,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.79,
        "bb_width_pct": 0.691
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T16-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4341.27,
      "stop": 4346.449,
      "target": 4330.913,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.79,
        "bb_width_pct": 0.691
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T16-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4341.27,
      "stop": 4345.253,
      "target": 4333.303,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.79,
        "bb_width_pct": 0.691
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T16-05-00Z_short_vwap_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T16:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4339.86,
      "stop": 4344.848,
      "target": 4329.885,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.75,
        "bb_width_pct": 0.678
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T16-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T16:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4339.86,
      "stop": 4344.334,
      "target": 4330.913,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.75,
        "bb_width_pct": 0.678
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T16-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T16:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4339.86,
      "stop": 4342.826,
      "target": 4333.928,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.75,
        "bb_width_pct": 0.678
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T16-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T16:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4343.005,
      "stop": 4346.804,
      "target": 4335.408,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.34,
        "bb_width_pct": 0.65
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T16-20-00Z_short_rsi_range_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T16:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4341.095,
      "stop": 4344.357,
      "target": 4334.57,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 11.78,
        "bb_width_pct": 0.622
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T16-20-00Z_short_vwap_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T16:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4341.095,
      "stop": 4346.371,
      "target": 4330.542,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.78,
        "bb_width_pct": 0.622
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T16-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T16:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4341.095,
      "stop": 4346.186,
      "target": 4330.913,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.78,
        "bb_width_pct": 0.622
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T16-25-00Z_short_vwap_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T16:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4341.105,
      "stop": 4346.284,
      "target": 4330.746,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.83,
        "bb_width_pct": 0.523
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T16-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T16:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4341.105,
      "stop": 4346.201,
      "target": 4330.913,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.83,
        "bb_width_pct": 0.523
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T16-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T16:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4342.585,
      "stop": 4345.365,
      "target": 4337.026,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.18,
        "bb_width_pct": 0.502
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T16-35-00Z_short_vwap_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4341.395,
      "stop": 4346.503,
      "target": 4331.18,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.33,
        "bb_width_pct": 0.497
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T16-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4341.395,
      "stop": 4346.636,
      "target": 4330.913,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.33,
        "bb_width_pct": 0.497
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T16-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4341.395,
      "stop": 4343.372,
      "target": 4337.442,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.33,
        "bb_width_pct": 0.497
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T16-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4345.23,
      "stop": 4348.468,
      "target": 4338.754,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.36,
        "bb_width_pct": 0.467
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T16-50-00Z_short_vwap_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T16:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4338.12,
      "stop": 4341.296,
      "target": 4331.768,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.91,
        "bb_width_pct": 0.376
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T16-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T16:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4338.12,
      "stop": 4341.724,
      "target": 4330.913,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.91,
        "bb_width_pct": 0.376
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T17-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T17:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4338.05,
      "stop": 4341.739,
      "target": 4330.672,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.05,
        "bb_width_pct": 0.333
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T17-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T17:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4335.69,
      "stop": 4333.3,
      "target": 4340.471,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.01,
        "bb_width_pct": 0.231
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T17-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T17:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4339.12,
      "stop": 4338.354,
      "target": 4340.653,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.09,
        "bb_width_pct": 0.208
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T17-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T17:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4335.645,
      "stop": 4333.32,
      "target": 4340.295,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.3,
        "bb_width_pct": 0.226
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T17-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T17:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4335.01,
      "stop": 4332.538,
      "target": 4339.954,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.27,
        "bb_width_pct": 0.247
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T18-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T18:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4343.885,
      "stop": 4346.715,
      "target": 4338.225,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.25,
        "bb_width_pct": 0.282
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T18-05-00Z_short_vwap_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T18:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4343.71,
      "stop": 4346.518,
      "target": 4338.093,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 9.66,
        "bb_width_pct": 0.294
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T18-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T18:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4343.71,
      "stop": 4349.686,
      "target": 4331.757,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.66,
        "bb_width_pct": 0.294
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T18-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T18:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4343.71,
      "stop": 4346.191,
      "target": 4338.747,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.66,
        "bb_width_pct": 0.294
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T18-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T18:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4341.435,
      "stop": 4344.885,
      "target": 4334.535,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.03,
        "bb_width_pct": 0.289
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T18-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T18:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4342.685,
      "stop": 4344.436,
      "target": 4339.183,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.74,
        "bb_width_pct": 0.275
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T18-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T18:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4342.685,
      "stop": 4346.76,
      "target": 4334.535,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.74,
        "bb_width_pct": 0.275
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T18-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T18:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4342.685,
      "stop": 4344.002,
      "target": 4340.051,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.74,
        "bb_width_pct": 0.275
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T18-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4340.845,
      "stop": 4344.0,
      "target": 4334.535,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.22,
        "bb_width_pct": 0.276
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T18-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T18:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4334.605,
      "stop": 4332.564,
      "target": 4338.688,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.04,
        "bb_width_pct": 0.305
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T18-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T18:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4334.79,
      "stop": 4332.579,
      "target": 4339.212,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.04,
        "bb_width_pct": 0.315
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T19-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T19:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4328.905,
      "stop": 4324.528,
      "target": 4337.66,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.74,
        "bb_width_pct": 0.408
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T19-45-00Z_long_rsi_range_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T19:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4327.295,
      "stop": 4323.974,
      "target": 4333.938,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.21,
        "bb_width_pct": 0.564
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T19-45-00Z_long_vwap_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T19:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4327.295,
      "stop": 4322.971,
      "target": 4335.943,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.21,
        "bb_width_pct": 0.564
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T19-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T19:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4327.295,
      "stop": 4323.246,
      "target": 4335.392,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 21.21,
        "bb_width_pct": 0.564
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T19-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T19:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4327.295,
      "stop": 4325.002,
      "target": 4331.881,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.21,
        "bb_width_pct": 0.564
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T19-50-00Z_long_rsi_range_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T19:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4328.48,
      "stop": 4326.075,
      "target": 4333.29,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.81,
        "bb_width_pct": 0.551
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T19-50-00Z_long_vwap_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T19:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4328.48,
      "stop": 4324.852,
      "target": 4335.735,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.81,
        "bb_width_pct": 0.551
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T19-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T19:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4328.48,
      "stop": 4325.024,
      "target": 4335.392,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 13.81,
        "bb_width_pct": 0.551
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T19-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T19:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4326.63,
      "stop": 4324.401,
      "target": 4331.088,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.38,
        "bb_width_pct": 0.53
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T20-00-00Z_long_vwap_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T20:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4329.6,
      "stop": 4326.754,
      "target": 4335.292,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.81,
        "bb_width_pct": 0.474
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T20-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T20:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4329.6,
      "stop": 4327.023,
      "target": 4334.755,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.81,
        "bb_width_pct": 0.474
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T20-10-00Z_long_rsi_range_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T20:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4328.22,
      "stop": 4327.126,
      "target": 4330.407,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.86,
        "bb_width_pct": 0.367
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T20-10-00Z_long_vwap_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T20:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4328.22,
      "stop": 4324.869,
      "target": 4334.921,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.86,
        "bb_width_pct": 0.367
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T20-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T20:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4328.22,
      "stop": 4324.988,
      "target": 4334.685,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.86,
        "bb_width_pct": 0.367
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T20-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T20:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4326.05,
      "stop": 4324.073,
      "target": 4330.003,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.94,
        "bb_width_pct": 0.345
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T20-20-00Z_long_vwap_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T20:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4327.17,
      "stop": 4323.498,
      "target": 4334.515,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.0,
        "bb_width_pct": 0.315
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T20-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T20:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4327.17,
      "stop": 4323.413,
      "target": 4334.685,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.0,
        "bb_width_pct": 0.315
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T20-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T20:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4326.685,
      "stop": 4325.306,
      "target": 4329.443,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.4,
        "bb_width_pct": 0.298
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T20-30-00Z_long_vwap_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T20:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4327.975,
      "stop": 4324.886,
      "target": 4334.153,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.35,
        "bb_width_pct": 0.273
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T20-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T20:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4327.975,
      "stop": 4324.62,
      "target": 4334.685,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.35,
        "bb_width_pct": 0.273
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T20-45-00Z_long_vwap_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T20:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4327.45,
      "stop": 4324.33,
      "target": 4333.691,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.2,
        "bb_width_pct": 0.11
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T20-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T20:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4327.45,
      "stop": 4323.833,
      "target": 4334.685,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.2,
        "bb_width_pct": 0.11
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T20-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T20:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4329.11,
      "stop": 4329.952,
      "target": 4327.427,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.74,
        "bb_width_pct": 0.102
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T20-50-00Z_long_vwap_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T20:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4329.11,
      "stop": 4326.873,
      "target": 4333.585,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.74,
        "bb_width_pct": 0.102
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T20-55-00Z_long_vwap_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T20:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4330.065,
      "stop": 4328.344,
      "target": 4333.507,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.31,
        "bb_width_pct": 0.112
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T22-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T22:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4326.77,
      "stop": 4322.813,
      "target": 4334.685,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.41,
        "bb_width_pct": 0.112
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T22-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T22:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4326.995,
      "stop": 4326.773,
      "target": 4327.439,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.21,
        "bb_width_pct": 0.112
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T22-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T22:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4326.995,
      "stop": 4323.15,
      "target": 4334.685,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.21,
        "bb_width_pct": 0.112
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T22-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T22:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4325.315,
      "stop": 4324.303,
      "target": 4327.339,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.95,
        "bb_width_pct": 0.12
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T22-10-00Z_short_vwap_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T22:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4325.315,
      "stop": 4332.433,
      "target": 4311.079,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.95,
        "bb_width_pct": 0.12
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T22-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T22:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4324.69,
      "stop": 4323.394,
      "target": 4327.281,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.96,
        "bb_width_pct": 0.128
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T22-15-00Z_short_vwap_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T22:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4324.69,
      "stop": 4331.259,
      "target": 4311.552,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.96,
        "bb_width_pct": 0.128
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T22-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T22:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4324.69,
      "stop": 4323.086,
      "target": 4327.897,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.96,
        "bb_width_pct": 0.128
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T22-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T22:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4326.135,
      "stop": 4325.537,
      "target": 4327.33,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.26,
        "bb_width_pct": 0.123
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T22-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T22:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4326.135,
      "stop": 4321.981,
      "target": 4334.443,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.26,
        "bb_width_pct": 0.123
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T22-25-00Z_short_vwap_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T22:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4325.13,
      "stop": 4331.446,
      "target": 4312.499,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.45,
        "bb_width_pct": 0.13
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T22-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T22:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4325.575,
      "stop": 4321.141,
      "target": 4334.443,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 3.49,
        "bb_width_pct": 0.131
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T22-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T22:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4325.9,
      "stop": 4321.629,
      "target": 4334.443,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.79,
        "bb_width_pct": 0.133
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T22-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T22:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4327.545,
      "stop": 4324.096,
      "target": 4334.443,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.66,
        "bb_width_pct": 0.122
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T22-45-00Z_short_vwap_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T22:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4327.01,
      "stop": 4333.443,
      "target": 4314.145,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.07,
        "bb_width_pct": 0.121
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T22-55-00Z_short_vwap_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T22:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4327.91,
      "stop": 4334.411,
      "target": 4314.908,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.98,
        "bb_width_pct": 0.121
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T23-00-00Z_short_vwap_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4327.79,
      "stop": 4334.059,
      "target": 4315.252,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.04,
        "bb_width_pct": 0.122
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T23-05-00Z_short_vwap_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4326.58,
      "stop": 4332.095,
      "target": 4315.549,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.65,
        "bb_width_pct": 0.122
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T23-15-00Z_short_vwap_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4327.455,
      "stop": 4333.11,
      "target": 4316.145,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.89,
        "bb_width_pct": 0.12
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T23-20-00Z_short_vwap_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T23:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4325.135,
      "stop": 4329.51,
      "target": 4316.384,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 1.47,
        "bb_width_pct": 0.126
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T23-25-00Z_short_vwap_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T23:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4320.645,
      "stop": 4322.707,
      "target": 4316.521,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 16.94,
        "bb_width_pct": 0.177
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T23-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4321.97,
      "stop": 4320.147,
      "target": 4325.616,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.58,
        "bb_width_pct": 0.237
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T23-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4321.97,
      "stop": 4320.279,
      "target": 4325.352,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.58,
        "bb_width_pct": 0.237
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T23-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4319.765,
      "stop": 4317.015,
      "target": 4325.266,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.08,
        "bb_width_pct": 0.263
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T23-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T23:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4317.14,
      "stop": 4313.613,
      "target": 4324.194,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.86,
        "bb_width_pct": 0.378
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T23-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T23:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4317.14,
      "stop": 4314.71,
      "target": 4322.0,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 20.86,
        "bb_width_pct": 0.378
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T23-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T23:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4317.88,
      "stop": 4314.893,
      "target": 4323.854,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.6,
        "bb_width_pct": 0.399
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T23-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T23:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4317.88,
      "stop": 4315.98,
      "target": 4321.68,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 20.6,
        "bb_width_pct": 0.399
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-08T23-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T23:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4317.88,
      "stop": 4315.504,
      "target": 4322.633,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.6,
        "bb_width_pct": 0.399
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T00-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4317.425,
      "stop": 4315.069,
      "target": 4322.137,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.34,
        "bb_width_pct": 0.416
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T00-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4319.125,
      "stop": 4317.847,
      "target": 4321.68,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 2.4,
        "bb_width_pct": 0.394
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T00-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T00:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4320.045,
      "stop": 4319.227,
      "target": 4321.68,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.64,
        "bb_width_pct": 0.228
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T01-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4321.31,
      "stop": 4322.591,
      "target": 4318.747,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.6,
        "bb_width_pct": 0.194
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T01-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T01:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4325.41,
      "stop": 4327.897,
      "target": 4320.435,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.35,
        "bb_width_pct": 0.234
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T01-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T01:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4324.33,
      "stop": 4326.844,
      "target": 4319.302,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.58,
        "bb_width_pct": 0.256
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T01-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T01:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4324.37,
      "stop": 4326.844,
      "target": 4319.422,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.2,
        "bb_width_pct": 0.271
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T01-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T01:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4324.37,
      "stop": 4325.982,
      "target": 4321.146,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.2,
        "bb_width_pct": 0.271
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T01-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T01:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4327.65,
      "stop": 4330.592,
      "target": 4321.765,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.31,
        "bb_width_pct": 0.318
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T01-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T01:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4335.455,
      "stop": 4341.787,
      "target": 4322.791,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.5,
        "bb_width_pct": 0.588
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T01-35-00Z_short_rsi_range_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T01:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4335.455,
      "stop": 4341.787,
      "target": 4322.791,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 19.5,
        "bb_width_pct": 0.588
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T01-35-00Z_short_vwap_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T01:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4335.455,
      "stop": 4341.768,
      "target": 4322.828,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 19.5,
        "bb_width_pct": 0.588
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T01-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T01:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4335.455,
      "stop": 4340.358,
      "target": 4325.65,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 19.5,
        "bb_width_pct": 0.588
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T01-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T01:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4335.84,
      "stop": 4341.904,
      "target": 4323.711,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.86,
        "bb_width_pct": 0.631
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T01-45-00Z_short_rsi_range_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T01:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4334.13,
      "stop": 4338.953,
      "target": 4324.484,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 18.69,
        "bb_width_pct": 0.655
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T01-45-00Z_short_vwap_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T01:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4334.13,
      "stop": 4339.198,
      "target": 4323.995,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 18.69,
        "bb_width_pct": 0.655
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T01-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T01:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4334.13,
      "stop": 4338.219,
      "target": 4325.952,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.69,
        "bb_width_pct": 0.655
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T01-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T01:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4334.13,
      "stop": 4337.598,
      "target": 4327.193,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.69,
        "bb_width_pct": 0.655
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T01-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T01:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4336.645,
      "stop": 4340.921,
      "target": 4328.094,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 23.25,
        "bb_width_pct": 0.698
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T01-55-00Z_short_rsi_range_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T01:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4336.465,
      "stop": 4341.701,
      "target": 4325.993,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 24.27,
        "bb_width_pct": 0.724
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T01-55-00Z_short_vwap_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T01:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4336.465,
      "stop": 4342.202,
      "target": 4324.991,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 24.27,
        "bb_width_pct": 0.724
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T01-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T01:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4336.465,
      "stop": 4341.721,
      "target": 4325.952,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 24.27,
        "bb_width_pct": 0.724
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T01-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T01:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4336.465,
      "stop": 4340.252,
      "target": 4328.891,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 24.27,
        "bb_width_pct": 0.724
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T02-00-00Z_short_rsi_range_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T02:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4332.685,
      "stop": 4335.691,
      "target": 4326.672,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 14.63,
        "bb_width_pct": 0.72
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T02-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T02:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4332.685,
      "stop": 4336.051,
      "target": 4325.952,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.63,
        "bb_width_pct": 0.72
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T02-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4335.62,
      "stop": 4337.72,
      "target": 4331.42,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.11,
        "bb_width_pct": 0.497
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T02-35-00Z_short_vwap_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T02:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4335.235,
      "stop": 4339.287,
      "target": 4327.13,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.02,
        "bb_width_pct": 0.438
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T02-45-00Z_short_vwap_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4337.6,
      "stop": 4342.518,
      "target": 4327.763,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.7,
        "bb_width_pct": 0.364
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T02-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4337.6,
      "stop": 4343.189,
      "target": 4326.423,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.7,
        "bb_width_pct": 0.364
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T02-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4337.6,
      "stop": 4339.929,
      "target": 4332.942,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.7,
        "bb_width_pct": 0.364
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T02-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T02:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4338.865,
      "stop": 4341.544,
      "target": 4333.506,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.25,
        "bb_width_pct": 0.318
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T02-55-00Z_short_vwap_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T02:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4336.275,
      "stop": 4340.26,
      "target": 4328.306,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.57,
        "bb_width_pct": 0.237
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T02-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T02:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4336.275,
      "stop": 4340.921,
      "target": 4326.983,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.57,
        "bb_width_pct": 0.237
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T03-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4332.16,
      "stop": 4334.749,
      "target": 4326.983,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.38,
        "bb_width_pct": 0.19
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T03-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T03:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4338.5,
      "stop": 4340.032,
      "target": 4335.436,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.98,
        "bb_width_pct": 0.201
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T03-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T03:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4338.91,
      "stop": 4340.605,
      "target": 4335.519,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.9,
        "bb_width_pct": 0.21
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T03-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4339.74,
      "stop": 4341.743,
      "target": 4335.733,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.51,
        "bb_width_pct": 0.226
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T03-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T03:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4335.095,
      "stop": 4338.293,
      "target": 4328.7,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.27,
        "bb_width_pct": 0.227
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T03-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T03:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4338.65,
      "stop": 4339.851,
      "target": 4336.247,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.23,
        "bb_width_pct": 0.205
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T03-55-00Z_short_vwap_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T03:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4336.565,
      "stop": 4339.588,
      "target": 4330.52,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.42,
        "bb_width_pct": 0.189
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T03-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T03:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4336.565,
      "stop": 4340.497,
      "target": 4328.7,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.42,
        "bb_width_pct": 0.189
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T04-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T04:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4332.39,
      "stop": 4334.179,
      "target": 4328.812,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.44,
        "bb_width_pct": 0.202
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T04-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4331.26,
      "stop": 4328.832,
      "target": 4336.117,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.79,
        "bb_width_pct": 0.258
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T04-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T04:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4330.575,
      "stop": 4327.98,
      "target": 4335.765,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.01,
        "bb_width_pct": 0.279
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T04-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4329.965,
      "stop": 4327.556,
      "target": 4334.784,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.78,
        "bb_width_pct": 0.352
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T04-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4329.965,
      "stop": 4328.664,
      "target": 4332.567,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.78,
        "bb_width_pct": 0.352
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T04-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4329.965,
      "stop": 4328.31,
      "target": 4333.275,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.78,
        "bb_width_pct": 0.352
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T04-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T04:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4332.585,
      "stop": 4332.226,
      "target": 4333.302,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 11.91,
        "bb_width_pct": 0.362
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T05-45-00Z_short_rsi_range_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T05:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4346.435,
      "stop": 4352.673,
      "target": 4333.959,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 26.02,
        "bb_width_pct": 0.574
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T05-45-00Z_short_vwap_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T05:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4346.435,
      "stop": 4353.844,
      "target": 4331.616,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 26.02,
        "bb_width_pct": 0.574
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T05-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T05:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4346.435,
      "stop": 4350.68,
      "target": 4337.945,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 26.02,
        "bb_width_pct": 0.574
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T05-50-00Z_short_rsi_range_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4345.66,
      "stop": 4351.179,
      "target": 4334.622,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 22.95,
        "bb_width_pct": 0.619
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T05-50-00Z_short_vwap_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4345.66,
      "stop": 4352.587,
      "target": 4331.806,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 22.95,
        "bb_width_pct": 0.619
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T05-55-00Z_short_rsi_range_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T05:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4343.67,
      "stop": 4347.854,
      "target": 4335.301,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 22.2,
        "bb_width_pct": 0.636
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T05-55-00Z_short_vwap_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T05:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4343.67,
      "stop": 4349.52,
      "target": 4331.971,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 22.2,
        "bb_width_pct": 0.636
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T06-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4344.61,
      "stop": 4347.476,
      "target": 4338.877,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.3,
        "bb_width_pct": 0.657
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T06-05-00Z_short_vwap_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4344.15,
      "stop": 4350.062,
      "target": 4332.326,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.05,
        "bb_width_pct": 0.666
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T06-10-00Z_short_vwap_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T06:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4341.365,
      "stop": 4345.819,
      "target": 4332.457,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.22,
        "bb_width_pct": 0.628
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T06-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T06:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4330.725,
      "stop": 4325.876,
      "target": 4340.422,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.3,
        "bb_width_pct": 0.463
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T06-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T06:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4330.725,
      "stop": 4327.019,
      "target": 4338.137,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.3,
        "bb_width_pct": 0.463
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T07-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T07:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4331.83,
      "stop": 4327.575,
      "target": 4340.339,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.23,
        "bb_width_pct": 0.475
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T07-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T07:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4331.83,
      "stop": 4328.977,
      "target": 4337.536,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.23,
        "bb_width_pct": 0.475
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T07-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T07:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4332.69,
      "stop": 4328.864,
      "target": 4340.342,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.31,
        "bb_width_pct": 0.474
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T07-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T07:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4329.04,
      "stop": 4324.141,
      "target": 4338.837,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.23,
        "bb_width_pct": 0.573
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T07-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T07:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4329.04,
      "stop": 4324.587,
      "target": 4337.945,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 16.23,
        "bb_width_pct": 0.573
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T07-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T07:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4329.04,
      "stop": 4325.836,
      "target": 4335.447,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.23,
        "bb_width_pct": 0.573
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T07-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T07:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4330.325,
      "stop": 4326.805,
      "target": 4337.365,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 16.46,
        "bb_width_pct": 0.558
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T07-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T07:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4330.325,
      "stop": 4328.008,
      "target": 4334.959,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.46,
        "bb_width_pct": 0.558
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T07-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4326.755,
      "stop": 4323.208,
      "target": 4333.85,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.71,
        "bb_width_pct": 0.55
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T07-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T07:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4325.71,
      "stop": 4320.908,
      "target": 4335.313,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.02,
        "bb_width_pct": 0.565
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T07-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T07:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4325.71,
      "stop": 4322.028,
      "target": 4333.075,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.02,
        "bb_width_pct": 0.565
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T07-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T07:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4328.635,
      "stop": 4324.471,
      "target": 4336.962,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 13.25,
        "bb_width_pct": 0.544
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T07-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T07:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4328.635,
      "stop": 4326.627,
      "target": 4332.652,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.25,
        "bb_width_pct": 0.544
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T07-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T07:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4328.64,
      "stop": 4324.479,
      "target": 4336.962,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 16.1,
        "bb_width_pct": 0.51
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T08-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4323.38,
      "stop": 4319.814,
      "target": 4330.513,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.82,
        "bb_width_pct": 0.429
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T08-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T08:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4326.69,
      "stop": 4324.786,
      "target": 4330.497,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.61,
        "bb_width_pct": 0.403
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T08-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T08:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4326.69,
      "stop": 4321.554,
      "target": 4336.962,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.61,
        "bb_width_pct": 0.403
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T08-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T08:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4326.69,
      "stop": 4324.961,
      "target": 4330.149,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.61,
        "bb_width_pct": 0.403
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T08-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4331.26,
      "stop": 4332.192,
      "target": 4329.396,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.17,
        "bb_width_pct": 0.262
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T08-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T08:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4335.06,
      "stop": 4337.714,
      "target": 4329.752,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.52,
        "bb_width_pct": 0.3
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T09-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4329.13,
      "stop": 4326.035,
      "target": 4335.32,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 3.4,
        "bb_width_pct": 0.296
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T09-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T09:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4333.455,
      "stop": 4335.172,
      "target": 4330.021,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.72,
        "bb_width_pct": 0.286
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T10-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T10:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4334.885,
      "stop": 4337.175,
      "target": 4330.306,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.51,
        "bb_width_pct": 0.261
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T10-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T10:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4334.885,
      "stop": 4337.743,
      "target": 4329.17,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.51,
        "bb_width_pct": 0.261
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T10-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T10:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4332.72,
      "stop": 4334.495,
      "target": 4329.17,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.71,
        "bb_width_pct": 0.247
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T10-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T10:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4333.83,
      "stop": 4335.513,
      "target": 4330.464,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.54,
        "bb_width_pct": 0.254
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T11-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4336.12,
      "stop": 4338.157,
      "target": 4332.047,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.52,
        "bb_width_pct": 0.308
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T11-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4336.12,
      "stop": 4338.609,
      "target": 4331.142,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.52,
        "bb_width_pct": 0.308
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T11-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4336.12,
      "stop": 4337.664,
      "target": 4333.032,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.52,
        "bb_width_pct": 0.308
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T11-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T11:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4337.315,
      "stop": 4338.902,
      "target": 4334.14,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.76,
        "bb_width_pct": 0.287
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T11-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T11:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4337.315,
      "stop": 4340.401,
      "target": 4331.142,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.76,
        "bb_width_pct": 0.287
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T11-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T11:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4337.315,
      "stop": 4338.635,
      "target": 4334.674,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.76,
        "bb_width_pct": 0.287
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T11-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T11:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4338.005,
      "stop": 4340.719,
      "target": 4332.577,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.39,
        "bb_width_pct": 0.295
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T11-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T11:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4341.435,
      "stop": 4343.943,
      "target": 4336.42,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.83,
        "bb_width_pct": 0.27
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T11-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T11:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4341.435,
      "stop": 4343.763,
      "target": 4336.779,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.83,
        "bb_width_pct": 0.27
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T11-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T11:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4340.02,
      "stop": 4341.692,
      "target": 4336.677,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.75,
        "bb_width_pct": 0.277
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T11-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T11:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4340.02,
      "stop": 4343.018,
      "target": 4334.025,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.75,
        "bb_width_pct": 0.277
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T11-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T11:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4340.02,
      "stop": 4341.486,
      "target": 4337.088,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.75,
        "bb_width_pct": 0.277
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T12-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4342.42,
      "stop": 4345.049,
      "target": 4337.162,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.64,
        "bb_width_pct": 0.287
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T12-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4342.42,
      "stop": 4344.832,
      "target": 4337.595,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.64,
        "bb_width_pct": 0.287
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T12-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T12:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4341.055,
      "stop": 4344.529,
      "target": 4334.108,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.97,
        "bb_width_pct": 0.304
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T12-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T12:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4341.055,
      "stop": 4342.353,
      "target": 4338.46,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.97,
        "bb_width_pct": 0.304
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T12-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T12:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4338.65,
      "stop": 4340.905,
      "target": 4334.14,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.54,
        "bb_width_pct": 0.263
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T12-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T12:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4341.385,
      "stop": 4342.217,
      "target": 4339.721,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.33,
        "bb_width_pct": 0.194
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T12-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T12:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4337.485,
      "stop": 4338.844,
      "target": 4334.767,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.72,
        "bb_width_pct": 0.196
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T13-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4339.285,
      "stop": 4341.53,
      "target": 4334.795,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.14,
        "bb_width_pct": 0.193
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T13-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T13:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4341.53,
      "stop": 4342.278,
      "target": 4340.034,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.34,
        "bb_width_pct": 0.194
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T13-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T13:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4341.165,
      "stop": 4344.042,
      "target": 4335.41,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.02,
        "bb_width_pct": 0.191
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T13-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4330.07,
      "stop": 4326.557,
      "target": 4337.096,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.0,
        "bb_width_pct": 0.356
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T13-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4332.16,
      "stop": 4329.07,
      "target": 4338.34,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.23,
        "bb_width_pct": 0.378
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T13-35-00Z_long_vwap_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4332.16,
      "stop": 4328.871,
      "target": 4338.739,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.23,
        "bb_width_pct": 0.378
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T13-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4332.16,
      "stop": 4329.58,
      "target": 4337.32,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.23,
        "bb_width_pct": 0.378
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T13-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T13:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4330.425,
      "stop": 4326.768,
      "target": 4337.74,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.68,
        "bb_width_pct": 0.4
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T13-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T13:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4330.425,
      "stop": 4327.62,
      "target": 4336.035,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.68,
        "bb_width_pct": 0.4
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T14-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4329.5,
      "stop": 4321.999,
      "target": 4344.503,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.44,
        "bb_width_pct": 0.521
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T14-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T14:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4318.745,
      "stop": 4311.647,
      "target": 4332.941,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.16,
        "bb_width_pct": 0.82
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T14-20-00Z_long_vwap_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T14:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4318.745,
      "stop": 4310.269,
      "target": 4335.698,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.16,
        "bb_width_pct": 0.82
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T14-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T14:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4318.745,
      "stop": 4310.737,
      "target": 4334.76,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.16,
        "bb_width_pct": 0.82
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T14-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T14:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4318.745,
      "stop": 4312.895,
      "target": 4330.446,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.16,
        "bb_width_pct": 0.82
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T14-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4314.98,
      "stop": 4307.136,
      "target": 4330.668,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.25,
        "bb_width_pct": 0.904
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T14-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4314.98,
      "stop": 4308.501,
      "target": 4327.938,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.25,
        "bb_width_pct": 0.904
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T16-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T16:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4263.47,
      "stop": 4252.102,
      "target": 4286.205,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.28,
        "bb_width_pct": 1.181
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T16-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T16:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4259.905,
      "stop": 4248.132,
      "target": 4283.452,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.65,
        "bb_width_pct": 1.128
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T17-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T17:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4262.59,
      "stop": 4243.78,
      "target": 4300.21,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.94,
        "bb_width_pct": 1.195
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T18-00-00Z_short_rsi_range_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T18:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4262.37,
      "stop": 4264.325,
      "target": 4258.459,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 10.36,
        "bb_width_pct": 0.753
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T18-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T18:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4273.585,
      "stop": 4277.873,
      "target": 4265.01,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.08,
        "bb_width_pct": 0.674
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T18-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4270.89,
      "stop": 4274.229,
      "target": 4264.212,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.21,
        "bb_width_pct": 0.452
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T19-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T19:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4255.85,
      "stop": 4251.326,
      "target": 4264.898,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.32,
        "bb_width_pct": 0.495
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T19-20-00Z_long_vwap_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T19:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4255.85,
      "stop": 4251.617,
      "target": 4264.316,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.32,
        "bb_width_pct": 0.495
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T19-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T19:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4257.47,
      "stop": 4253.751,
      "target": 4264.908,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.11,
        "bb_width_pct": 0.494
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T19-25-00Z_long_vwap_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T19:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4257.47,
      "stop": 4254.176,
      "target": 4264.059,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.11,
        "bb_width_pct": 0.494
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T19-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T19:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4257.47,
      "stop": 4254.508,
      "target": 4263.393,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.11,
        "bb_width_pct": 0.494
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T19-30-00Z_long_rsi_range_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T19:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4259.55,
      "stop": 4256.847,
      "target": 4264.956,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.05,
        "bb_width_pct": 0.488
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T19-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T19:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4253.695,
      "stop": 4248.3,
      "target": 4264.485,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.31,
        "bb_width_pct": 0.539
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T19-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T19:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4251.1,
      "stop": 4244.69,
      "target": 4263.921,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 27.37,
        "bb_width_pct": 0.604
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T19-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T19:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4259.0,
      "stop": 4258.491,
      "target": 4260.018,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.16,
        "bb_width_pct": 0.659
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T20-50-00Z_short_rsi_range_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T20:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4260.345,
      "stop": 4261.575,
      "target": 4257.884,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 22.19,
        "bb_width_pct": 0.282
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T20-55-00Z_short_rsi_range_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T20:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4259.965,
      "stop": 4260.893,
      "target": 4258.11,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 2.36,
        "bb_width_pct": 0.28
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T22-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T22:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4255.475,
      "stop": 4253.479,
      "target": 4259.468,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.92,
        "bb_width_pct": 0.281
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T22-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T22:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4253.76,
      "stop": 4251.687,
      "target": 4257.905,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.87,
        "bb_width_pct": 0.295
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T22-10-00Z_long_vwap_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T22:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4255.545,
      "stop": 4219.871,
      "target": 4326.894,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.55,
        "bb_width_pct": 0.296
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T22-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T22:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4255.545,
      "stop": 4252.241,
      "target": 4262.153,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.55,
        "bb_width_pct": 0.296
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T22-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T22:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4255.545,
      "stop": 4254.016,
      "target": 4258.602,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.55,
        "bb_width_pct": 0.296
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T22-20-00Z_long_vwap_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T22:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4254.41,
      "stop": 4220.661,
      "target": 4321.908,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.89,
        "bb_width_pct": 0.27
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T22-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T22:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4254.41,
      "stop": 4250.539,
      "target": 4262.153,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.89,
        "bb_width_pct": 0.27
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T22-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T22:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4254.41,
      "stop": 4252.722,
      "target": 4257.785,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.89,
        "bb_width_pct": 0.27
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T22-25-00Z_long_vwap_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T22:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4256.575,
      "stop": 4225.014,
      "target": 4319.697,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.33,
        "bb_width_pct": 0.228
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T22-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T22:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4256.575,
      "stop": 4253.786,
      "target": 4262.153,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.33,
        "bb_width_pct": 0.228
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T22-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T22:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4256.575,
      "stop": 4256.027,
      "target": 4257.67,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.33,
        "bb_width_pct": 0.228
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T22-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T22:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4253.625,
      "stop": 4251.795,
      "target": 4257.285,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.63,
        "bb_width_pct": 0.245
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T22-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T22:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4253.325,
      "stop": 4251.183,
      "target": 4257.61,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.7,
        "bb_width_pct": 0.261
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T22-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T22:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4253.325,
      "stop": 4251.534,
      "target": 4256.908,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.7,
        "bb_width_pct": 0.261
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T23-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4246.42,
      "stop": 4242.994,
      "target": 4253.272,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.37,
        "bb_width_pct": 0.73
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T23-00-00Z_long_vwap_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4246.42,
      "stop": 4216.827,
      "target": 4305.606,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.37,
        "bb_width_pct": 0.73
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T23-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4246.42,
      "stop": 4243.592,
      "target": 4252.075,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 18.37,
        "bb_width_pct": 0.73
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T23-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4246.42,
      "stop": 4244.226,
      "target": 4250.809,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.37,
        "bb_width_pct": 0.73
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-09T23-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4233.43,
      "stop": 4225.158,
      "target": 4249.974,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.15,
        "bb_width_pct": 0.863
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T00-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T00:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4225.65,
      "stop": 4222.887,
      "target": 4231.176,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.38,
        "bb_width_pct": 1.112
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T00-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T00:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4225.305,
      "stop": 4222.649,
      "target": 4230.617,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.83,
        "bb_width_pct": 1.02
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T00-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T00:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4227.645,
      "stop": 4226.3,
      "target": 4230.334,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.88,
        "bb_width_pct": 0.899
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T00-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T00:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4207.865,
      "stop": 4199.546,
      "target": 4224.503,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.97,
        "bb_width_pct": 0.914
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T00-35-00Z_long_vwap_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T00:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4207.865,
      "stop": 4202.067,
      "target": 4219.46,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.97,
        "bb_width_pct": 0.914
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T00-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T00:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4207.865,
      "stop": 4194.749,
      "target": 4234.097,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.97,
        "bb_width_pct": 0.914
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T00-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T00:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4204.185,
      "stop": 4195.082,
      "target": 4222.391,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.68,
        "bb_width_pct": 0.875
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T00-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T00:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4203.76,
      "stop": 4195.401,
      "target": 4220.477,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.86,
        "bb_width_pct": 0.846
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T00-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T00:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4207.335,
      "stop": 4201.489,
      "target": 4219.028,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.35,
        "bb_width_pct": 0.814
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T00-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T00:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4207.335,
      "stop": 4195.698,
      "target": 4230.61,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.35,
        "bb_width_pct": 0.814
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T00-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T00:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4207.335,
      "stop": 4201.129,
      "target": 4219.748,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.35,
        "bb_width_pct": 0.814
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T00-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T00:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4218.42,
      "stop": 4212.325,
      "target": 4230.61,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.98,
        "bb_width_pct": 0.751
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T01-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T01:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4195.275,
      "stop": 4185.324,
      "target": 4215.177,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.67,
        "bb_width_pct": 0.957
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T01-05-00Z_long_vwap_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T01:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4195.275,
      "stop": 4186.463,
      "target": 4212.899,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.67,
        "bb_width_pct": 0.957
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T01-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T01:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4195.275,
      "stop": 4178.829,
      "target": 4228.167,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 17.67,
        "bb_width_pct": 0.957
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T01-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T01:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4203.425,
      "stop": 4198.111,
      "target": 4214.052,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.88,
        "bb_width_pct": 0.957
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T01-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T01:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4203.425,
      "stop": 4193.163,
      "target": 4223.95,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.88,
        "bb_width_pct": 0.957
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T01-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T01:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4203.425,
      "stop": 4198.126,
      "target": 4214.023,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.88,
        "bb_width_pct": 0.957
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T01-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T01:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4202.135,
      "stop": 4192.033,
      "target": 4222.34,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.41,
        "bb_width_pct": 0.995
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T01-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4202.39,
      "stop": 4192.415,
      "target": 4222.34,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.57,
        "bb_width_pct": 0.996
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T01-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T01:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4187.19,
      "stop": 4176.542,
      "target": 4208.486,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.18,
        "bb_width_pct": 1.069
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T01-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T01:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4192.925,
      "stop": 4185.963,
      "target": 4206.85,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.59,
        "bb_width_pct": 1.047
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T01-45-00Z_long_vwap_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T01:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4192.925,
      "stop": 4185.235,
      "target": 4208.305,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.59,
        "bb_width_pct": 1.047
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T01-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T01:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4192.925,
      "stop": 4178.819,
      "target": 4221.137,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.59,
        "bb_width_pct": 1.047
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T01-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T01:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4192.925,
      "stop": 4186.25,
      "target": 4206.274,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.59,
        "bb_width_pct": 1.047
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T01-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T01:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4191.945,
      "stop": 4185.327,
      "target": 4205.182,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.81,
        "bb_width_pct": 1.009
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T01-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T01:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4191.945,
      "stop": 4185.463,
      "target": 4204.91,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.81,
        "bb_width_pct": 1.009
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T02-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T02:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4181.4,
      "stop": 4172.354,
      "target": 4199.492,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.88,
        "bb_width_pct": 0.877
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T02-10-00Z_long_vwap_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T02:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4182.82,
      "stop": 4172.077,
      "target": 4204.306,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.42,
        "bb_width_pct": 0.927
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T02-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T02:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4182.82,
      "stop": 4167.451,
      "target": 4213.558,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.42,
        "bb_width_pct": 0.927
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T02-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T02:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4182.82,
      "stop": 4175.107,
      "target": 4198.245,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.42,
        "bb_width_pct": 0.927
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T02-20-00Z_long_vwap_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T02:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4183.345,
      "stop": 4173.598,
      "target": 4202.84,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.93,
        "bb_width_pct": 0.994
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T02-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T02:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4183.345,
      "stop": 4168.244,
      "target": 4213.548,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 21.93,
        "bb_width_pct": 0.994
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T02-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T02:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4183.345,
      "stop": 4177.345,
      "target": 4195.345,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.93,
        "bb_width_pct": 0.994
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T02-25-00Z_long_rsi_range_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T02:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4187.91,
      "stop": 4184.303,
      "target": 4195.123,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.79,
        "bb_width_pct": 0.992
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T02-25-00Z_long_vwap_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T02:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4187.91,
      "stop": 4180.744,
      "target": 4202.242,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.79,
        "bb_width_pct": 0.992
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T02-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T02:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4187.91,
      "stop": 4176.149,
      "target": 4211.432,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.79,
        "bb_width_pct": 0.992
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T02-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T02:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4187.91,
      "stop": 4184.546,
      "target": 4194.637,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.79,
        "bb_width_pct": 0.992
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T02-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4179.415,
      "stop": 4172.529,
      "target": 4193.187,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.96,
        "bb_width_pct": 1.006
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T02-35-00Z_long_vwap_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T02:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4184.57,
      "stop": 4176.329,
      "target": 4201.051,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.99,
        "bb_width_pct": 0.864
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T02-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T02:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4184.57,
      "stop": 4174.61,
      "target": 4204.49,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.99,
        "bb_width_pct": 0.864
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T02-45-00Z_long_vwap_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4187.685,
      "stop": 4181.445,
      "target": 4200.166,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.37,
        "bb_width_pct": 0.876
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T03-00-00Z_long_vwap_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4176.905,
      "stop": 4166.232,
      "target": 4198.251,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.89,
        "bb_width_pct": 0.77
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T03-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4176.905,
      "stop": 4164.916,
      "target": 4200.882,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.89,
        "bb_width_pct": 0.77
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T03-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4176.905,
      "stop": 4171.797,
      "target": 4187.121,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.89,
        "bb_width_pct": 0.77
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T03-10-00Z_long_vwap_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T03:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4178.24,
      "stop": 4168.785,
      "target": 4197.151,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.7,
        "bb_width_pct": 0.632
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T03-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T03:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4178.24,
      "stop": 4166.956,
      "target": 4200.807,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 2.7,
        "bb_width_pct": 0.632
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T03-25-00Z_long_vwap_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4177.425,
      "stop": 4168.288,
      "target": 4195.699,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.38,
        "bb_width_pct": 0.503
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T03-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4177.425,
      "stop": 4165.734,
      "target": 4200.807,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.38,
        "bb_width_pct": 0.503
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T03-30-00Z_long_vwap_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4180.505,
      "stop": 4173.099,
      "target": 4195.318,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.9,
        "bb_width_pct": 0.447
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T03-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4180.505,
      "stop": 4170.354,
      "target": 4200.807,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.9,
        "bb_width_pct": 0.447
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T03-35-00Z_long_vwap_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T03:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4180.57,
      "stop": 4173.368,
      "target": 4194.973,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.12,
        "bb_width_pct": 0.412
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T03-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T03:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4180.57,
      "stop": 4170.451,
      "target": 4200.807,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.12,
        "bb_width_pct": 0.412
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T03-45-00Z_long_vwap_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T03:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4185.485,
      "stop": 4181.02,
      "target": 4194.415,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.18,
        "bb_width_pct": 0.401
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T03-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T03:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4185.485,
      "stop": 4179.691,
      "target": 4197.073,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.18,
        "bb_width_pct": 0.401
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T04-00-00Z_long_vwap_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T04:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4186.255,
      "stop": 4182.476,
      "target": 4193.813,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.31,
        "bb_width_pct": 0.434
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T04-05-00Z_short_rsi_range_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4184.25,
      "stop": 4186.086,
      "target": 4180.578,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 10.79,
        "bb_width_pct": 0.412
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T04-15-00Z_long_vwap_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T04:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4181.645,
      "stop": 4175.888,
      "target": 4193.159,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.27,
        "bb_width_pct": 0.403
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T04-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T04:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4181.645,
      "stop": 4174.389,
      "target": 4196.157,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.27,
        "bb_width_pct": 0.403
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T04-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T04:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4174.655,
      "stop": 4171.044,
      "target": 4181.877,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.02,
        "bb_width_pct": 0.376
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T04-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T04:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4174.435,
      "stop": 4171.069,
      "target": 4181.168,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.45,
        "bb_width_pct": 0.379
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T04-35-00Z_long_vwap_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4174.855,
      "stop": 4166.309,
      "target": 4191.946,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.8,
        "bb_width_pct": 0.374
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T04-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4174.855,
      "stop": 4165.595,
      "target": 4193.375,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.8,
        "bb_width_pct": 0.374
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T04-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4174.855,
      "stop": 4171.999,
      "target": 4180.567,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.8,
        "bb_width_pct": 0.374
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T04-45-00Z_long_vwap_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4173.965,
      "stop": 4165.284,
      "target": 4191.327,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.55,
        "bb_width_pct": 0.399
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T04-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4173.965,
      "stop": 4165.915,
      "target": 4190.065,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.55,
        "bb_width_pct": 0.399
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T04-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4173.965,
      "stop": 4171.279,
      "target": 4179.337,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.55,
        "bb_width_pct": 0.399
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T04-50-00Z_long_vwap_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T04:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4175.13,
      "stop": 4167.171,
      "target": 4191.049,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.57,
        "bb_width_pct": 0.408
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T04-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T04:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4175.13,
      "stop": 4167.8,
      "target": 4189.79,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 18.57,
        "bb_width_pct": 0.408
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T05-05-00Z_long_rsi_range_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4176.675,
      "stop": 4175.477,
      "target": 4179.07,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.6,
        "bb_width_pct": 0.418
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T05-05-00Z_long_vwap_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4176.675,
      "stop": 4169.86,
      "target": 4190.305,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.6,
        "bb_width_pct": 0.418
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T05-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4176.675,
      "stop": 4172.949,
      "target": 4184.127,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 17.6,
        "bb_width_pct": 0.418
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T05-10-00Z_long_vwap_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4179.835,
      "stop": 4174.692,
      "target": 4190.121,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.06,
        "bb_width_pct": 0.417
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T05-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4179.835,
      "stop": 4178.35,
      "target": 4182.805,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.06,
        "bb_width_pct": 0.417
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T05-20-00Z_long_vwap_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4180.53,
      "stop": 4175.909,
      "target": 4189.773,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.92,
        "bb_width_pct": 0.419
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T06-45-00Z_short_vwap_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T06:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4203.23,
      "stop": 4208.392,
      "target": 4192.906,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.41,
        "bb_width_pct": 1.127
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T06-50-00Z_short_vwap_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T06:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4202.265,
      "stop": 4206.88,
      "target": 4193.035,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.45,
        "bb_width_pct": 1.026
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T07-20-00Z_long_rsi_range_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T07:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4199.325,
      "stop": 4195.685,
      "target": 4206.606,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.55,
        "bb_width_pct": 0.454
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T07-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4194.875,
      "stop": 4189.428,
      "target": 4205.769,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.93,
        "bb_width_pct": 0.559
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T07-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4194.875,
      "stop": 4191.978,
      "target": 4200.67,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.93,
        "bb_width_pct": 0.559
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T07-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T07:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4189.835,
      "stop": 4182.76,
      "target": 4203.984,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.67,
        "bb_width_pct": 0.698
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T07-45-00Z_long_rsi_range_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T07:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4190.445,
      "stop": 4184.269,
      "target": 4202.797,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.87,
        "bb_width_pct": 0.715
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T07-45-00Z_long_vwap_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T07:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4190.445,
      "stop": 4186.855,
      "target": 4197.626,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.87,
        "bb_width_pct": 0.715
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T07-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T07:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4190.445,
      "stop": 4186.67,
      "target": 4197.995,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.87,
        "bb_width_pct": 0.715
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T07-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T07:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4186.085,
      "stop": 4179.209,
      "target": 4199.837,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.72,
        "bb_width_pct": 0.803
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T07-55-00Z_long_rsi_range_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T07:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4186.085,
      "stop": 4179.209,
      "target": 4199.837,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.72,
        "bb_width_pct": 0.803
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T07-55-00Z_long_vwap_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T07:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4186.085,
      "stop": 4181.372,
      "target": 4195.511,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.72,
        "bb_width_pct": 0.803
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T08-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T08:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4174.505,
      "stop": 4165.889,
      "target": 4191.738,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.21,
        "bb_width_pct": 1.165
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T08-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T08:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4174.505,
      "stop": 4171.802,
      "target": 4179.91,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.21,
        "bb_width_pct": 1.165
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T09-05-00Z_long_vwap_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T09:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4170.46,
      "stop": 4164.646,
      "target": 4182.088,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.08,
        "bb_width_pct": 0.889
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T09-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T09:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4170.46,
      "stop": 4159.821,
      "target": 4191.738,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.08,
        "bb_width_pct": 0.889
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T09-15-00Z_long_vwap_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T09:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4171.415,
      "stop": 4166.539,
      "target": 4181.167,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.21,
        "bb_width_pct": 0.723
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T09-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T09:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4171.415,
      "stop": 4161.254,
      "target": 4191.738,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.21,
        "bb_width_pct": 0.723
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T09-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4176.94,
      "stop": 4170.841,
      "target": 4189.138,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.59,
        "bb_width_pct": 0.455
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T09-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4172.6,
      "stop": 4173.868,
      "target": 4170.065,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.13,
        "bb_width_pct": 0.31
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T09-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T09:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4166.14,
      "stop": 4163.997,
      "target": 4170.426,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.26,
        "bb_width_pct": 0.286
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T09-55-00Z_long_vwap_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T09:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4168.75,
      "stop": 4163.801,
      "target": 4178.648,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.61,
        "bb_width_pct": 0.279
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T09-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T09:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4168.75,
      "stop": 4160.288,
      "target": 4185.675,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 2.61,
        "bb_width_pct": 0.279
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T10-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T10:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4169.395,
      "stop": 4161.255,
      "target": 4185.675,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.27,
        "bb_width_pct": 0.278
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T10-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T10:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4159.765,
      "stop": 4154.313,
      "target": 4170.669,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.16,
        "bb_width_pct": 0.347
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T10-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T10:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4161.205,
      "stop": 4157.253,
      "target": 4169.11,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.7,
        "bb_width_pct": 0.387
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T10-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T10:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4161.205,
      "stop": 4150.844,
      "target": 4181.927,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.7,
        "bb_width_pct": 0.387
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T10-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T10:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4161.205,
      "stop": 4156.924,
      "target": 4169.768,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.7,
        "bb_width_pct": 0.387
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T10-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T10:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4164.56,
      "stop": 4162.496,
      "target": 4168.688,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.49,
        "bb_width_pct": 0.389
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T10-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T10:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4164.56,
      "stop": 4155.876,
      "target": 4181.927,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.49,
        "bb_width_pct": 0.389
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T10-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T10:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4171.885,
      "stop": 4173.558,
      "target": 4168.539,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.88,
        "bb_width_pct": 0.425
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T10-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T10:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4174.81,
      "stop": 4177.861,
      "target": 4168.709,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.51,
        "bb_width_pct": 0.441
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T11-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T11:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4161.415,
      "stop": 4158.064,
      "target": 4168.117,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.32,
        "bb_width_pct": 0.487
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T11-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T11:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4161.415,
      "stop": 4157.842,
      "target": 4168.561,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.32,
        "bb_width_pct": 0.487
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T11-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T11:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4166.65,
      "stop": 4166.563,
      "target": 4166.824,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.08,
        "bb_width_pct": 0.433
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T11-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T11:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4155.855,
      "stop": 4151.173,
      "target": 4165.218,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.59,
        "bb_width_pct": 0.557
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T11-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T11:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4155.855,
      "stop": 4150.464,
      "target": 4166.637,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 13.59,
        "bb_width_pct": 0.557
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T12-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4147.21,
      "stop": 4139.272,
      "target": 4163.086,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.13,
        "bb_width_pct": 0.774
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T12-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T12:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4141.46,
      "stop": 4134.467,
      "target": 4155.445,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.3,
        "bb_width_pct": 1.148
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T12-25-00Z_long_rsi_range_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T12:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4141.46,
      "stop": 4134.467,
      "target": 4155.445,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.3,
        "bb_width_pct": 1.148
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T12-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T12:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4141.46,
      "stop": 4133.811,
      "target": 4156.757,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 20.3,
        "bb_width_pct": 1.148
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T12-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T12:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4141.46,
      "stop": 4136.227,
      "target": 4151.926,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.3,
        "bb_width_pct": 1.148
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T12-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T12:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4162.53,
      "stop": 4167.327,
      "target": 4152.936,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.02,
        "bb_width_pct": 1.102
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T12-35-00Z_short_vwap_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T12:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4160.905,
      "stop": 4168.372,
      "target": 4145.971,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.81,
        "bb_width_pct": 1.022
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T12-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T12:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4160.905,
      "stop": 4163.79,
      "target": 4155.135,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.81,
        "bb_width_pct": 1.022
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T12-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T12:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4160.905,
      "stop": 4164.51,
      "target": 4153.695,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.81,
        "bb_width_pct": 1.022
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T12-40-00Z_short_vwap_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T12:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4160.625,
      "stop": 4167.12,
      "target": 4147.636,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.78,
        "bb_width_pct": 1.02
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T13-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T13:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4144.23,
      "stop": 4138.994,
      "target": 4154.702,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.27,
        "bb_width_pct": 0.831
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T13-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4166.175,
      "stop": 4174.751,
      "target": 4149.022,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.79,
        "bb_width_pct": 0.898
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T16-05-00Z_long_vwap_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T16:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4130.17,
      "stop": 4121.638,
      "target": 4147.234,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.56,
        "bb_width_pct": 1.149
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T16-15-00Z_long_vwap_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T16:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4133.06,
      "stop": 4126.296,
      "target": 4146.589,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.14,
        "bb_width_pct": 0.732
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T16-30-00Z_long_vwap_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T16:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4129.53,
      "stop": 4121.481,
      "target": 4145.629,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.2,
        "bb_width_pct": 0.412
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T16-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4120.62,
      "stop": 4117.831,
      "target": 4126.197,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.9,
        "bb_width_pct": 0.436
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T16-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4122.13,
      "stop": 4120.011,
      "target": 4126.367,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.56,
        "bb_width_pct": 0.396
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T16-55-00Z_long_vwap_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4122.13,
      "stop": 4111.333,
      "target": 4143.724,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.56,
        "bb_width_pct": 0.396
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T16-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4122.13,
      "stop": 4109.833,
      "target": 4146.725,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.56,
        "bb_width_pct": 0.396
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T17-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T17:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4132.115,
      "stop": 4134.944,
      "target": 4126.458,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.91,
        "bb_width_pct": 0.406
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T17-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T17:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4118.17,
      "stop": 4114.47,
      "target": 4125.57,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.3,
        "bb_width_pct": 0.453
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T17-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T17:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4118.17,
      "stop": 4113.849,
      "target": 4126.811,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.3,
        "bb_width_pct": 0.453
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T17-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T17:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4111.115,
      "stop": 4104.755,
      "target": 4123.835,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.89,
        "bb_width_pct": 0.631
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T17-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T17:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4111.265,
      "stop": 4105.207,
      "target": 4123.381,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.61,
        "bb_width_pct": 0.682
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T17-30-00Z_long_rsi_range_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T17:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4111.265,
      "stop": 4105.207,
      "target": 4123.381,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.61,
        "bb_width_pct": 0.682
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T17-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T17:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4111.265,
      "stop": 4096.28,
      "target": 4141.235,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.61,
        "bb_width_pct": 0.682
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T17-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T17:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4111.265,
      "stop": 4105.947,
      "target": 4121.901,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.61,
        "bb_width_pct": 0.682
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T17-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T17:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4111.475,
      "stop": 4107.191,
      "target": 4120.043,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.33,
        "bb_width_pct": 0.865
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T17-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T17:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4111.475,
      "stop": 4100.853,
      "target": 4132.72,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.33,
        "bb_width_pct": 0.865
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T17-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T17:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4111.475,
      "stop": 4108.246,
      "target": 4117.932,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.33,
        "bb_width_pct": 0.865
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T17-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T17:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4109.985,
      "stop": 4106.39,
      "target": 4117.175,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.94,
        "bb_width_pct": 0.865
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T17-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T17:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4111.72,
      "stop": 4101.933,
      "target": 4131.295,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.28,
        "bb_width_pct": 0.819
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T18-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T18:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4101.47,
      "stop": 4097.072,
      "target": 4110.265,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.13,
        "bb_width_pct": 0.443
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T18-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T18:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4101.67,
      "stop": 4097.677,
      "target": 4109.657,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.1,
        "bb_width_pct": 0.471
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T18-55-00Z_long_vwap_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T18:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4101.67,
      "stop": 4096.571,
      "target": 4111.869,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.1,
        "bb_width_pct": 0.471
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T18-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T18:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4101.67,
      "stop": 4094.385,
      "target": 4116.24,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 11.1,
        "bb_width_pct": 0.471
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T19-40-00Z_long_rsi_range_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T19:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4091.565,
      "stop": 4087.282,
      "target": 4100.131,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.66,
        "bb_width_pct": 1.046
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T19-40-00Z_long_vwap_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T19:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4091.565,
      "stop": 4084.441,
      "target": 4105.813,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.66,
        "bb_width_pct": 1.046
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T19-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T19:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4091.565,
      "stop": 4083.139,
      "target": 4108.417,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 21.66,
        "bb_width_pct": 1.046
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T19-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T19:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4091.565,
      "stop": 4088.503,
      "target": 4097.69,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.66,
        "bb_width_pct": 1.046
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T19-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T19:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4088.49,
      "stop": 4084.328,
      "target": 4096.814,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.27,
        "bb_width_pct": 1.021
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T20-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T20:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4072.3,
      "stop": 4063.337,
      "target": 4090.227,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 27.21,
        "bb_width_pct": 0.988
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T20-10-00Z_long_rsi_range_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T20:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4072.3,
      "stop": 4063.337,
      "target": 4090.227,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 27.21,
        "bb_width_pct": 0.988
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T20-10-00Z_long_vwap_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T20:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4072.3,
      "stop": 4057.468,
      "target": 4101.965,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 27.21,
        "bb_width_pct": 0.988
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T20-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T20:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4072.3,
      "stop": 4057.16,
      "target": 4102.58,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 27.21,
        "bb_width_pct": 0.988
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T20-15-00Z_long_rsi_range_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T20:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4074.105,
      "stop": 4066.883,
      "target": 4088.549,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.1,
        "bb_width_pct": 0.964
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T20-15-00Z_long_vwap_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T20:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4074.105,
      "stop": 4060.532,
      "target": 4101.251,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.1,
        "bb_width_pct": 0.964
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T20-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T20:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4074.105,
      "stop": 4060.044,
      "target": 4102.227,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 18.1,
        "bb_width_pct": 0.964
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T20-20-00Z_long_vwap_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T20:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4076.6,
      "stop": 4064.587,
      "target": 4100.627,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.97,
        "bb_width_pct": 0.921
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T20-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T20:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4076.6,
      "stop": 4064.456,
      "target": 4100.887,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 16.97,
        "bb_width_pct": 0.921
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T20-25-00Z_long_vwap_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T20:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4078.425,
      "stop": 4067.59,
      "target": 4100.094,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.49,
        "bb_width_pct": 0.851
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T20-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T20:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4078.425,
      "stop": 4070.154,
      "target": 4094.968,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.49,
        "bb_width_pct": 0.851
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T20-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T20:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4078.425,
      "stop": 4074.69,
      "target": 4085.896,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.49,
        "bb_width_pct": 0.851
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T20-35-00Z_long_vwap_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T20:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4076.405,
      "stop": 4065.102,
      "target": 4099.011,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.41,
        "bb_width_pct": 0.717
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T20-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T20:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4076.405,
      "stop": 4067.136,
      "target": 4094.943,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 13.41,
        "bb_width_pct": 0.717
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T20-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T20:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4076.405,
      "stop": 4072.533,
      "target": 4084.149,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.41,
        "bb_width_pct": 0.717
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T20-50-00Z_long_rsi_range_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T20:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4069.125,
      "stop": 4063.803,
      "target": 4079.769,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 27.22,
        "bb_width_pct": 0.703
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T20-50-00Z_long_vwap_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T20:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4069.125,
      "stop": 4055.091,
      "target": 4097.193,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 27.22,
        "bb_width_pct": 0.703
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T20-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T20:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4069.125,
      "stop": 4056.666,
      "target": 4094.043,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 27.22,
        "bb_width_pct": 0.703
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T20-55-00Z_long_rsi_range_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T20:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4072.015,
      "stop": 4068.586,
      "target": 4078.873,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.66,
        "bb_width_pct": 0.683
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T20-55-00Z_long_vwap_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T20:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4072.015,
      "stop": 4059.697,
      "target": 4096.651,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.66,
        "bb_width_pct": 0.683
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T20-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T20:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4072.015,
      "stop": 4061.085,
      "target": 4093.875,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 22.66,
        "bb_width_pct": 0.683
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T22-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T22:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4056.155,
      "stop": 4046.936,
      "target": 4074.594,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.49,
        "bb_width_pct": 0.981
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T22-10-00Z_long_rsi_range_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T22:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4056.155,
      "stop": 4046.936,
      "target": 4074.594,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.49,
        "bb_width_pct": 0.981
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T22-10-00Z_long_vwap_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T22:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4056.155,
      "stop": 4007.988,
      "target": 4152.49,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.49,
        "bb_width_pct": 0.981
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T22-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T22:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4056.155,
      "stop": 4041.46,
      "target": 4085.545,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 21.49,
        "bb_width_pct": 0.981
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T22-35-00Z_long_vwap_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T22:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4065.51,
      "stop": 4030.138,
      "target": 4136.253,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.91,
        "bb_width_pct": 1.188
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T23-00-00Z_long_vwap_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4049.755,
      "stop": 4011.902,
      "target": 4125.462,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.56,
        "bb_width_pct": 1.147
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T23-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4049.755,
      "stop": 4038.661,
      "target": 4071.943,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 16.56,
        "bb_width_pct": 1.147
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T23-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4049.755,
      "stop": 4044.374,
      "target": 4060.517,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.56,
        "bb_width_pct": 1.147
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T23-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4039.06,
      "stop": 4031.454,
      "target": 4054.272,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.45,
        "bb_width_pct": 1.189
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T23-15-00Z_long_vwap_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4039.06,
      "stop": 3999.174,
      "target": 4118.832,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.45,
        "bb_width_pct": 1.189
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T23-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4039.06,
      "stop": 4027.06,
      "target": 4063.06,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.45,
        "bb_width_pct": 1.189
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T23-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4039.06,
      "stop": 4031.443,
      "target": 4054.294,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.45,
        "bb_width_pct": 1.189
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T23-20-00Z_long_vwap_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T23:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4043.585,
      "stop": 4006.889,
      "target": 4116.977,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.4,
        "bb_width_pct": 1.133
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T23-25-00Z_long_vwap_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T23:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4061.665,
      "stop": 4034.732,
      "target": 4115.53,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.13,
        "bb_width_pct": 1.1
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T23-35-00Z_long_vwap_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4060.835,
      "stop": 4034.748,
      "target": 4113.009,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.98,
        "bb_width_pct": 0.963
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-10T23-50-00Z_long_vwap_mean_reversion",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T23:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4051.075,
      "stop": 4021.993,
      "target": 4109.238,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.15,
        "bb_width_pct": 0.924
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T00-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T00:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4065.205,
      "stop": 4072.334,
      "target": 4050.947,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.08,
        "bb_width_pct": 0.902
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T00-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T00:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4061.79,
      "stop": 4067.241,
      "target": 4050.888,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.94,
        "bb_width_pct": 0.895
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T00-20-00Z_short_rsi_range_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T00:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4061.79,
      "stop": 4067.241,
      "target": 4050.888,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 12.94,
        "bb_width_pct": 0.895
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T00-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T00:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4067.775,
      "stop": 4076.079,
      "target": 4051.166,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.02,
        "bb_width_pct": 0.936
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T00-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4064.33,
      "stop": 4070.661,
      "target": 4051.668,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.51,
        "bb_width_pct": 0.977
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T00-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4064.33,
      "stop": 4070.461,
      "target": 4052.068,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.51,
        "bb_width_pct": 0.977
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T00-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4064.33,
      "stop": 4068.425,
      "target": 4056.141,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.51,
        "bb_width_pct": 0.977
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T00-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T00:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4063.56,
      "stop": 4068.729,
      "target": 4053.221,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.61,
        "bb_width_pct": 1.027
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T00-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T00:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4063.56,
      "stop": 4069.306,
      "target": 4052.068,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.61,
        "bb_width_pct": 1.027
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T00-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T00:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4069.37,
      "stop": 4078.539,
      "target": 4051.033,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.36,
        "bb_width_pct": 0.939
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T00-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T00:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4075.92,
      "stop": 4084.593,
      "target": 4058.575,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.69,
        "bb_width_pct": 0.935
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T01-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4079.0,
      "stop": 4088.327,
      "target": 4060.345,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.21,
        "bb_width_pct": 0.968
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T01-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4079.0,
      "stop": 4086.976,
      "target": 4063.048,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.21,
        "bb_width_pct": 0.968
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T04-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4081.175,
      "stop": 4086.493,
      "target": 4070.54,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.65,
        "bb_width_pct": 0.72
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T04-20-00Z_short_rsi_range_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4081.175,
      "stop": 4086.493,
      "target": 4070.54,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 18.65,
        "bb_width_pct": 0.72
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T04-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4081.175,
      "stop": 4084.205,
      "target": 4075.116,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.65,
        "bb_width_pct": 0.72
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T04-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4083.705,
      "stop": 4086.96,
      "target": 4077.194,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.37,
        "bb_width_pct": 0.692
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T04-55-00Z_short_rsi_range_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T04:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4082.93,
      "stop": 4086.671,
      "target": 4075.448,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 12.34,
        "bb_width_pct": 0.69
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T05-35-00Z_short_rsi_range_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4093.89,
      "stop": 4100.271,
      "target": 4081.129,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 17.46,
        "bb_width_pct": 0.519
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T05-35-00Z_short_vwap_mean_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4093.89,
      "stop": 4101.664,
      "target": 4078.343,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 17.46,
        "bb_width_pct": 0.519
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T05-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4093.89,
      "stop": 4103.735,
      "target": 4074.2,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.46,
        "bb_width_pct": 0.519
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T05-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4094.3,
      "stop": 4099.419,
      "target": 4084.061,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.8,
        "bb_width_pct": 0.762
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T05-50-00Z_short_vwap_mean_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4094.3,
      "stop": 4101.854,
      "target": 4079.192,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.8,
        "bb_width_pct": 0.762
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T05-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4094.3,
      "stop": 4101.795,
      "target": 4079.31,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.8,
        "bb_width_pct": 0.762
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T05-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4094.3,
      "stop": 4098.729,
      "target": 4085.441,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.8,
        "bb_width_pct": 0.762
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T05-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T05:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4094.355,
      "stop": 4098.387,
      "target": 4086.29,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.71,
        "bb_width_pct": 0.791
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T06-45-00Z_short_vwap_mean_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T06:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4092.05,
      "stop": 4097.885,
      "target": 4080.38,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.24,
        "bb_width_pct": 0.712
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T06-55-00Z_short_vwap_mean_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T06:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4094.485,
      "stop": 4101.363,
      "target": 4080.73,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.21,
        "bb_width_pct": 0.674
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T07-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T07:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4107.695,
      "stop": 4115.04,
      "target": 4093.004,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.55,
        "bb_width_pct": 0.721
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T07-25-00Z_short_rsi_range_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T07:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4107.695,
      "stop": 4115.04,
      "target": 4093.004,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 20.55,
        "bb_width_pct": 0.721
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T07-25-00Z_short_vwap_mean_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T07:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4107.695,
      "stop": 4111.279,
      "target": 4100.528,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 20.55,
        "bb_width_pct": 0.721
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T07-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T07:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4107.695,
      "stop": 4116.252,
      "target": 4090.58,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 20.55,
        "bb_width_pct": 0.721
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T07-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4107.25,
      "stop": 4114.049,
      "target": 4093.652,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 25.57,
        "bb_width_pct": 0.783
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T07-30-00Z_short_rsi_range_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4107.25,
      "stop": 4114.049,
      "target": 4093.652,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 25.57,
        "bb_width_pct": 0.783
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T07-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4107.25,
      "stop": 4115.031,
      "target": 4091.688,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 25.57,
        "bb_width_pct": 0.783
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T07-35-00Z_short_rsi_range_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T07:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4104.6,
      "stop": 4109.818,
      "target": 4094.164,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 25.23,
        "bb_width_pct": 0.816
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T07-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T07:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4104.6,
      "stop": 4111.019,
      "target": 4091.763,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 25.23,
        "bb_width_pct": 0.816
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T07-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T07:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4104.6,
      "stop": 4108.474,
      "target": 4096.852,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 25.23,
        "bb_width_pct": 0.816
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T07-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T07:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4102.905,
      "stop": 4108.476,
      "target": 4091.763,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.59,
        "bb_width_pct": 0.787
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T07-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T07:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4102.905,
      "stop": 4105.181,
      "target": 4098.353,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.59,
        "bb_width_pct": 0.787
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T08-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4106.25,
      "stop": 4109.348,
      "target": 4100.054,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.47,
        "bb_width_pct": 0.73
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T08-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T08:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4106.415,
      "stop": 4113.368,
      "target": 4092.51,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.9,
        "bb_width_pct": 0.641
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T08-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T08:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4106.415,
      "stop": 4108.788,
      "target": 4101.67,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.9,
        "bb_width_pct": 0.641
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T08-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T08:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4105.955,
      "stop": 4112.53,
      "target": 4092.805,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.64,
        "bb_width_pct": 0.579
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T08-35-00Z_long_vwap_mean_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4095.565,
      "stop": 4091.833,
      "target": 4103.028,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.51,
        "bb_width_pct": 0.506
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T08-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T08:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4090.795,
      "stop": 4086.375,
      "target": 4099.635,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.67,
        "bb_width_pct": 0.543
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T09-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4085.61,
      "stop": 4078.483,
      "target": 4099.865,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.05,
        "bb_width_pct": 0.802
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T09-00-00Z_long_rsi_range_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4085.61,
      "stop": 4078.483,
      "target": 4099.865,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.05,
        "bb_width_pct": 0.802
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T09-00-00Z_long_vwap_mean_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4085.61,
      "stop": 4078.347,
      "target": 4100.136,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.05,
        "bb_width_pct": 0.802
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T09-15-00Z_long_rsi_range_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T09:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4086.65,
      "stop": 4081.683,
      "target": 4096.584,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 27.27,
        "bb_width_pct": 0.904
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T09-15-00Z_long_vwap_mean_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T09:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4086.65,
      "stop": 4080.717,
      "target": 4098.517,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 27.27,
        "bb_width_pct": 0.904
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T09-30-00Z_long_rsi_range_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4080.83,
      "stop": 4074.655,
      "target": 4093.18,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.91,
        "bb_width_pct": 0.963
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T09-30-00Z_long_vwap_mean_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4080.83,
      "stop": 4072.768,
      "target": 4096.954,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.91,
        "bb_width_pct": 0.963
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T09-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4080.83,
      "stop": 4073.31,
      "target": 4095.87,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 23.91,
        "bb_width_pct": 0.963
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T09-35-00Z_long_vwap_mean_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4088.705,
      "stop": 4084.752,
      "target": 4096.612,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.44,
        "bb_width_pct": 0.93
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T09-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4088.705,
      "stop": 4085.465,
      "target": 4095.185,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.44,
        "bb_width_pct": 0.93
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T09-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4088.705,
      "stop": 4088.22,
      "target": 4089.676,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.44,
        "bb_width_pct": 0.93
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T11-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T11:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4086.97,
      "stop": 4085.077,
      "target": 4090.756,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.09,
        "bb_width_pct": 0.225
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T11-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T11:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4086.485,
      "stop": 4084.481,
      "target": 4090.492,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.69,
        "bb_width_pct": 0.242
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T11-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T11:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4085.01,
      "stop": 4082.88,
      "target": 4089.271,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.14,
        "bb_width_pct": 0.261
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T11-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T11:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4085.13,
      "stop": 4083.199,
      "target": 4088.992,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.43,
        "bb_width_pct": 0.273
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T12-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4086.655,
      "stop": 4085.983,
      "target": 4088.0,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.14,
        "bb_width_pct": 0.297
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T12-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4086.655,
      "stop": 4086.436,
      "target": 4087.092,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.14,
        "bb_width_pct": 0.297
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T12-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4086.655,
      "stop": 4086.321,
      "target": 4087.324,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.14,
        "bb_width_pct": 0.297
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T12-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T12:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4076.43,
      "stop": 4071.813,
      "target": 4085.664,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.33,
        "bb_width_pct": 0.399
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T12-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T12:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4066.295,
      "stop": 4058.735,
      "target": 4081.414,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.98,
        "bb_width_pct": 0.839
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T12-35-00Z_long_rsi_range_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T12:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4066.295,
      "stop": 4058.735,
      "target": 4081.414,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.98,
        "bb_width_pct": 0.839
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T12-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T12:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4066.295,
      "stop": 4060.92,
      "target": 4077.045,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 18.98,
        "bb_width_pct": 0.839
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T12-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T12:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4066.295,
      "stop": 4060.092,
      "target": 4078.7,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.98,
        "bb_width_pct": 0.839
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T12-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T12:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4073.405,
      "stop": 4071.009,
      "target": 4078.196,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.4,
        "bb_width_pct": 0.82
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T13-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4083.885,
      "stop": 4088.144,
      "target": 4075.368,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.23,
        "bb_width_pct": 0.57
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T13-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T13:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4085.205,
      "stop": 4089.904,
      "target": 4075.806,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.52,
        "bb_width_pct": 0.608
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T13-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T13:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4083.235,
      "stop": 4086.75,
      "target": 4076.204,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.18,
        "bb_width_pct": 0.628
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T13-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T13:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4083.235,
      "stop": 4086.448,
      "target": 4076.81,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.18,
        "bb_width_pct": 0.628
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T14-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T14:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4062.63,
      "stop": 4055.263,
      "target": 4077.364,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.28,
        "bb_width_pct": 0.66
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T14-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T14:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4061.14,
      "stop": 4053.801,
      "target": 4075.818,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.06,
        "bb_width_pct": 0.675
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T14-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T14:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4063.765,
      "stop": 4057.582,
      "target": 4076.13,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.04,
        "bb_width_pct": 0.695
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T14-15-00Z_long_rsi_range_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T14:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4063.765,
      "stop": 4057.582,
      "target": 4076.13,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.04,
        "bb_width_pct": 0.695
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T14-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T14:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4063.765,
      "stop": 4058.386,
      "target": 4074.523,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.04,
        "bb_width_pct": 0.695
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T14-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T14:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4063.765,
      "stop": 4058.312,
      "target": 4074.67,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.04,
        "bb_width_pct": 0.695
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T15-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T15:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4080.555,
      "stop": 4084.359,
      "target": 4072.948,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.57,
        "bb_width_pct": 0.644
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T15-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T15:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4078.845,
      "stop": 4081.794,
      "target": 4072.948,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.26,
        "bb_width_pct": 0.656
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T15-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T15:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4089.93,
      "stop": 4095.932,
      "target": 4077.925,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.53,
        "bb_width_pct": 0.672
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T15-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T15:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4090.63,
      "stop": 4096.245,
      "target": 4079.4,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.88,
        "bb_width_pct": 0.61
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T15-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T15:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4090.63,
      "stop": 4095.22,
      "target": 4081.45,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.88,
        "bb_width_pct": 0.61
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T15-55-00Z_short_vwap_mean_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T15:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4088.905,
      "stop": 4094.517,
      "target": 4077.681,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.22,
        "bb_width_pct": 0.532
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T15-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T15:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4088.905,
      "stop": 4096.2,
      "target": 4074.315,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.22,
        "bb_width_pct": 0.532
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T16-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4087.91,
      "stop": 4091.328,
      "target": 4081.073,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.69,
        "bb_width_pct": 0.553
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T16-00-00Z_short_vwap_mean_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4087.91,
      "stop": 4092.905,
      "target": 4077.921,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.69,
        "bb_width_pct": 0.553
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T16-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4087.91,
      "stop": 4094.707,
      "target": 4074.315,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.69,
        "bb_width_pct": 0.553
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T16-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T16:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4096.845,
      "stop": 4103.09,
      "target": 4084.356,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.95,
        "bb_width_pct": 0.745
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T16-15-00Z_short_rsi_range_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T16:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4096.845,
      "stop": 4103.09,
      "target": 4084.356,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 14.95,
        "bb_width_pct": 0.745
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T16-15-00Z_short_vwap_mean_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T16:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4096.845,
      "stop": 4105.762,
      "target": 4079.012,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.95,
        "bb_width_pct": 0.745
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T16-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T16:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4096.845,
      "stop": 4106.191,
      "target": 4078.153,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.95,
        "bb_width_pct": 0.745
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T16-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T16:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4096.845,
      "stop": 4101.994,
      "target": 4086.548,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.95,
        "bb_width_pct": 0.745
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T17-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T17:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4074.875,
      "stop": 4069.334,
      "target": 4085.958,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.93,
        "bb_width_pct": 0.633
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T17-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T17:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4074.875,
      "stop": 4070.738,
      "target": 4083.149,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.93,
        "bb_width_pct": 0.633
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T17-20-00Z_long_rsi_range_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T17:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4080.475,
      "stop": 4078.34,
      "target": 4084.745,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.22,
        "bb_width_pct": 0.696
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T19-05-00Z_short_vwap_mean_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T19:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4174.125,
      "stop": 4192.207,
      "target": 4137.96,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 25.58,
        "bb_width_pct": 0.974
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T19-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T19:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4174.125,
      "stop": 4199.593,
      "target": 4123.19,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 25.58,
        "bb_width_pct": 0.974
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T20-40-00Z_short_vwap_mean_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4209.735,
      "stop": 4230.831,
      "target": 4167.543,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 1.32,
        "bb_width_pct": 1.047
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T20-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4209.735,
      "stop": 4239.949,
      "target": 4149.307,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.32,
        "bb_width_pct": 1.047
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T20-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4209.735,
      "stop": 4213.753,
      "target": 4201.7,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.32,
        "bb_width_pct": 1.047
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T20-55-00Z_short_vwap_mean_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T20:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4211.195,
      "stop": 4231.649,
      "target": 4170.286,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.44,
        "bb_width_pct": 0.569
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T20-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T20:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4211.195,
      "stop": 4228.874,
      "target": 4175.837,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.44,
        "bb_width_pct": 0.569
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T20-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T20:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4211.195,
      "stop": 4214.656,
      "target": 4204.273,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.44,
        "bb_width_pct": 0.569
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T22-00-00Z_short_vwap_mean_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T22:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4208.465,
      "stop": 4265.812,
      "target": 4093.771,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.74,
        "bb_width_pct": 0.406
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T22-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T22:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4208.465,
      "stop": 4224.779,
      "target": 4175.837,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.74,
        "bb_width_pct": 0.406
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T22-15-00Z_short_vwap_mean_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T22:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4208.34,
      "stop": 4259.449,
      "target": 4106.122,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.38,
        "bb_width_pct": 0.231
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T22-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T22:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4208.34,
      "stop": 4224.591,
      "target": 4175.837,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.38,
        "bb_width_pct": 0.231
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T22-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T22:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4206.4,
      "stop": 4203.922,
      "target": 4211.357,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.11,
        "bb_width_pct": 0.254
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T22-20-00Z_short_vwap_mean_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T22:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4206.4,
      "stop": 4254.785,
      "target": 4109.631,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.11,
        "bb_width_pct": 0.254
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T22-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T22:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4206.4,
      "stop": 4221.681,
      "target": 4175.837,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.11,
        "bb_width_pct": 0.254
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T22-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T22:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4206.4,
      "stop": 4206.659,
      "target": 4205.881,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.11,
        "bb_width_pct": 0.254
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T22-30-00Z_short_vwap_mean_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T22:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4214.28,
      "stop": 4263.265,
      "target": 4116.31,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.28,
        "bb_width_pct": 0.256
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T22-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T22:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4214.28,
      "stop": 4230.073,
      "target": 4182.695,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.28,
        "bb_width_pct": 0.256
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T23-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4227.32,
      "stop": 4232.591,
      "target": 4216.778,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.04,
        "bb_width_pct": 0.96
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T23-00-00Z_short_vwap_mean_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4227.32,
      "stop": 4273.676,
      "target": 4134.609,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.04,
        "bb_width_pct": 0.96
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T23-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4227.32,
      "stop": 4239.186,
      "target": 4203.587,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.04,
        "bb_width_pct": 0.96
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T23-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4227.32,
      "stop": 4231.952,
      "target": 4218.056,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.04,
        "bb_width_pct": 0.96
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T23-05-00Z_short_vwap_mean_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4226.115,
      "stop": 4270.655,
      "target": 4137.035,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.7,
        "bb_width_pct": 0.977
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T23-10-00Z_short_vwap_mean_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4223.95,
      "stop": 4266.288,
      "target": 4139.274,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.14,
        "bb_width_pct": 0.982
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T23-15-00Z_short_vwap_mean_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4222.625,
      "stop": 4263.247,
      "target": 4141.38,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.7,
        "bb_width_pct": 0.975
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T23-20-00Z_short_vwap_mean_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T23:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4216.075,
      "stop": 4252.483,
      "target": 4143.259,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.22,
        "bb_width_pct": 0.958
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T23-35-00Z_short_vwap_mean_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4216.715,
      "stop": 4250.916,
      "target": 4148.313,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 1.96,
        "bb_width_pct": 0.922
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T23-45-00Z_short_vwap_mean_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4219.455,
      "stop": 4253.48,
      "target": 4151.405,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.16,
        "bb_width_pct": 0.859
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-11T23-50-00Z_short_vwap_mean_reversion",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T23:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4216.48,
      "stop": 4248.306,
      "target": 4152.828,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.64,
        "bb_width_pct": 0.831
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T00-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T00:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4216.32,
      "stop": 4213.275,
      "target": 4222.409,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.65,
        "bb_width_pct": 0.694
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T00-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T00:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4216.32,
      "stop": 4215.385,
      "target": 4218.191,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.65,
        "bb_width_pct": 0.694
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T00-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T00:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4220.43,
      "stop": 4221.195,
      "target": 4218.9,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.07,
        "bb_width_pct": 0.657
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T00-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T00:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4208.435,
      "stop": 4204.994,
      "target": 4215.317,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.89,
        "bb_width_pct": 0.595
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T00-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T00:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4208.435,
      "stop": 4200.755,
      "target": 4223.795,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.89,
        "bb_width_pct": 0.595
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T00-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T00:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4208.435,
      "stop": 4205.728,
      "target": 4213.849,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.89,
        "bb_width_pct": 0.595
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T01-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T01:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4193.1,
      "stop": 4183.367,
      "target": 4212.567,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.3,
        "bb_width_pct": 0.965
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T01-05-00Z_long_vwap_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T01:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4193.1,
      "stop": 4184.067,
      "target": 4211.166,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.3,
        "bb_width_pct": 0.965
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T01-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T01:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4193.1,
      "stop": 4181.979,
      "target": 4215.343,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 18.3,
        "bb_width_pct": 0.965
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T01-15-00Z_long_vwap_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T01:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4189.28,
      "stop": 4179.722,
      "target": 4208.397,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.08,
        "bb_width_pct": 1.176
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T01-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T01:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4189.28,
      "stop": 4176.502,
      "target": 4214.835,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 20.08,
        "bb_width_pct": 1.176
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T02-35-00Z_long_vwap_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T02:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4188.87,
      "stop": 4184.315,
      "target": 4197.981,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.78,
        "bb_width_pct": 0.485
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T03-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4196.22,
      "stop": 4199.265,
      "target": 4190.13,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.62,
        "bb_width_pct": 0.403
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T03-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4196.22,
      "stop": 4198.329,
      "target": 4192.001,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.62,
        "bb_width_pct": 0.403
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T03-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T03:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4197.665,
      "stop": 4200.975,
      "target": 4191.045,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.72,
        "bb_width_pct": 0.357
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T03-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4203.845,
      "stop": 4208.476,
      "target": 4194.583,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.1,
        "bb_width_pct": 0.494
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T03-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T03:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4202.12,
      "stop": 4206.521,
      "target": 4193.318,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.64,
        "bb_width_pct": 0.515
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T03-35-00Z_short_rsi_range_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T03:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4202.12,
      "stop": 4206.521,
      "target": 4193.318,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 21.64,
        "bb_width_pct": 0.515
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T03-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T03:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4202.12,
      "stop": 4205.53,
      "target": 4195.301,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.64,
        "bb_width_pct": 0.515
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T03-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T03:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4199.41,
      "stop": 4202.252,
      "target": 4193.727,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.05,
        "bb_width_pct": 0.528
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T03-40-00Z_short_rsi_range_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T03:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4199.41,
      "stop": 4202.252,
      "target": 4193.727,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 12.05,
        "bb_width_pct": 0.528
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T05-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4189.115,
      "stop": 4186.598,
      "target": 4194.149,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.88,
        "bb_width_pct": 0.399
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T05-10-00Z_long_vwap_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4189.115,
      "stop": 4185.605,
      "target": 4196.135,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.88,
        "bb_width_pct": 0.399
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T05-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4189.115,
      "stop": 4186.696,
      "target": 4193.952,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.88,
        "bb_width_pct": 0.399
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T05-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4189.115,
      "stop": 4187.468,
      "target": 4192.41,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.88,
        "bb_width_pct": 0.399
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T05-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4186.12,
      "stop": 4182.505,
      "target": 4193.349,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.78,
        "bb_width_pct": 0.392
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T05-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4186.12,
      "stop": 4183.275,
      "target": 4191.811,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.78,
        "bb_width_pct": 0.392
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T05-20-00Z_long_vwap_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4187.11,
      "stop": 4182.735,
      "target": 4195.859,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.88,
        "bb_width_pct": 0.389
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T05-25-00Z_long_vwap_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4187.365,
      "stop": 4183.18,
      "target": 4195.735,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.66,
        "bb_width_pct": 0.39
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T05-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4180.62,
      "stop": 4176.284,
      "target": 4189.291,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.76,
        "bb_width_pct": 0.527
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T05-40-00Z_long_rsi_range_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4180.62,
      "stop": 4176.284,
      "target": 4189.291,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.76,
        "bb_width_pct": 0.527
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T05-40-00Z_long_vwap_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4180.62,
      "stop": 4173.427,
      "target": 4195.007,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.76,
        "bb_width_pct": 0.527
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T05-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4180.62,
      "stop": 4176.485,
      "target": 4188.89,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 19.76,
        "bb_width_pct": 0.527
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T05-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4180.62,
      "stop": 4177.027,
      "target": 4187.807,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.76,
        "bb_width_pct": 0.527
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T05-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T05:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4179.155,
      "stop": 4174.513,
      "target": 4188.438,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.18,
        "bb_width_pct": 0.544
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T05-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T05:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4179.155,
      "stop": 4175.241,
      "target": 4186.983,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.18,
        "bb_width_pct": 0.544
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T05-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4175.39,
      "stop": 4169.341,
      "target": 4187.487,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.14,
        "bb_width_pct": 0.591
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T05-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T05:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4173.47,
      "stop": 4166.926,
      "target": 4186.557,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.86,
        "bb_width_pct": 0.649
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T06-00-00Z_long_vwap_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4181.295,
      "stop": 4174.932,
      "target": 4194.021,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.96,
        "bb_width_pct": 0.641
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T06-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4181.295,
      "stop": 4177.943,
      "target": 4188.0,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.96,
        "bb_width_pct": 0.641
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T06-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4181.295,
      "stop": 4179.756,
      "target": 4184.373,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.96,
        "bb_width_pct": 0.641
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T06-05-00Z_long_vwap_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4181.735,
      "stop": 4175.676,
      "target": 4193.853,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.12,
        "bb_width_pct": 0.629
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T06-10-00Z_long_vwap_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T06:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4182.925,
      "stop": 4177.531,
      "target": 4193.713,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.63,
        "bb_width_pct": 0.589
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T06-25-00Z_long_vwap_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T06:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4182.085,
      "stop": 4176.512,
      "target": 4193.23,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.32,
        "bb_width_pct": 0.48
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T06-35-00Z_long_vwap_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4177.955,
      "stop": 4170.501,
      "target": 4192.862,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.84,
        "bb_width_pct": 0.419
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T06-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4177.955,
      "stop": 4172.932,
      "target": 4188.0,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 2.84,
        "bb_width_pct": 0.419
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T06-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T06:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4176.705,
      "stop": 4174.544,
      "target": 4181.027,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.86,
        "bb_width_pct": 0.406
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T06-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T06:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4176.705,
      "stop": 4174.192,
      "target": 4181.731,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.86,
        "bb_width_pct": 0.406
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T06-50-00Z_long_vwap_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T06:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4178.345,
      "stop": 4171.376,
      "target": 4192.284,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.07,
        "bb_width_pct": 0.362
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T06-55-00Z_long_vwap_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T06:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4184.12,
      "stop": 4180.099,
      "target": 4192.162,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.13,
        "bb_width_pct": 0.349
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T07-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4173.83,
      "stop": 4171.364,
      "target": 4178.763,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.78,
        "bb_width_pct": 0.28
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T07-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4173.83,
      "stop": 4171.201,
      "target": 4179.089,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.78,
        "bb_width_pct": 0.28
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T07-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T07:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4178.74,
      "stop": 4175.94,
      "target": 4184.34,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.67,
        "bb_width_pct": 0.255
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T07-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T07:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4183.05,
      "stop": 4185.018,
      "target": 4179.114,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.55,
        "bb_width_pct": 0.265
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T07-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T07:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4175.62,
      "stop": 4171.26,
      "target": 4184.34,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.1,
        "bb_width_pct": 0.261
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T09-25-00Z_short_vwap_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T09:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4221.175,
      "stop": 4231.093,
      "target": 4201.339,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.0,
        "bb_width_pct": 1.175
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T09-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T09:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4221.175,
      "stop": 4232.45,
      "target": 4198.625,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.0,
        "bb_width_pct": 1.175
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T09-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T09:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4221.175,
      "stop": 4225.152,
      "target": 4213.22,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.0,
        "bb_width_pct": 1.175
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T09-35-00Z_short_vwap_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4223.19,
      "stop": 4233.41,
      "target": 4202.75,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.77,
        "bb_width_pct": 0.718
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T09-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4223.19,
      "stop": 4235.472,
      "target": 4198.625,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.77,
        "bb_width_pct": 0.718
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T09-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4223.19,
      "stop": 4227.147,
      "target": 4215.276,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.77,
        "bb_width_pct": 0.718
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T09-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T09:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4225.255,
      "stop": 4229.769,
      "target": 4216.226,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.92,
        "bb_width_pct": 0.586
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T09-45-00Z_short_vwap_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T09:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4223.87,
      "stop": 4233.768,
      "target": 4204.074,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.52,
        "bb_width_pct": 0.456
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T09-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T09:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4223.87,
      "stop": 4236.278,
      "target": 4199.055,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.52,
        "bb_width_pct": 0.456
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T09-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T09:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4223.87,
      "stop": 4227.328,
      "target": 4216.954,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.52,
        "bb_width_pct": 0.456
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T09-50-00Z_short_vwap_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T09:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4223.595,
      "stop": 4233.083,
      "target": 4204.62,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.55,
        "bb_width_pct": 0.287
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T09-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T09:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4223.595,
      "stop": 4235.802,
      "target": 4199.18,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.55,
        "bb_width_pct": 0.287
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T09-55-00Z_short_vwap_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T09:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4221.995,
      "stop": 4230.427,
      "target": 4205.131,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.32,
        "bb_width_pct": 0.279
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T09-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T09:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4221.995,
      "stop": 4233.403,
      "target": 4199.18,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.32,
        "bb_width_pct": 0.279
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T10-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T10:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4221.8,
      "stop": 4233.11,
      "target": 4199.18,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.01,
        "bb_width_pct": 0.271
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T10-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T10:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4221.46,
      "stop": 4232.6,
      "target": 4199.18,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.59,
        "bb_width_pct": 0.192
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T10-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T10:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4217.995,
      "stop": 4215.868,
      "target": 4222.248,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.13,
        "bb_width_pct": 0.211
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T10-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T10:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4217.995,
      "stop": 4227.403,
      "target": 4199.18,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.13,
        "bb_width_pct": 0.211
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T10-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T10:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4214.85,
      "stop": 4211.738,
      "target": 4221.075,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.0,
        "bb_width_pct": 0.429
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T10-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T10:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4214.85,
      "stop": 4213.666,
      "target": 4217.218,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.0,
        "bb_width_pct": 0.429
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T11-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4206.14,
      "stop": 4201.714,
      "target": 4214.993,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.82,
        "bb_width_pct": 0.558
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T11-05-00Z_long_vwap_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T11:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4207.765,
      "stop": 4204.137,
      "target": 4215.021,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.63,
        "bb_width_pct": 0.594
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T11-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T11:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4207.765,
      "stop": 4204.495,
      "target": 4214.304,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.63,
        "bb_width_pct": 0.594
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T11-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T11:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4206.08,
      "stop": 4202.65,
      "target": 4212.94,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.15,
        "bb_width_pct": 0.617
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T11-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T11:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4199.7,
      "stop": 4193.198,
      "target": 4212.704,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.2,
        "bb_width_pct": 0.639
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T11-35-00Z_long_vwap_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T11:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4202.455,
      "stop": 4197.715,
      "target": 4211.936,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.59,
        "bb_width_pct": 0.639
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T11-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T11:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4202.455,
      "stop": 4197.231,
      "target": 4212.903,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 17.59,
        "bb_width_pct": 0.639
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T11-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T11:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4202.455,
      "stop": 4198.791,
      "target": 4209.783,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.59,
        "bb_width_pct": 0.639
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T11-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T11:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4209.98,
      "stop": 4208.519,
      "target": 4212.903,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.4,
        "bb_width_pct": 0.6
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T12-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T12:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4200.08,
      "stop": 4196.611,
      "target": 4207.018,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.15,
        "bb_width_pct": 0.41
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T12-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T12:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4200.08,
      "stop": 4196.183,
      "target": 4207.874,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.15,
        "bb_width_pct": 0.41
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T12-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T12:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4196.905,
      "stop": 4192.527,
      "target": 4205.662,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.41,
        "bb_width_pct": 0.526
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T12-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T12:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4196.905,
      "stop": 4190.276,
      "target": 4210.163,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.41,
        "bb_width_pct": 0.526
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T12-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T12:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4196.905,
      "stop": 4192.577,
      "target": 4205.561,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.41,
        "bb_width_pct": 0.526
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T12-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T12:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4197.22,
      "stop": 4190.978,
      "target": 4209.705,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.47,
        "bb_width_pct": 0.552
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T12-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T12:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4197.22,
      "stop": 4193.446,
      "target": 4204.767,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.47,
        "bb_width_pct": 0.552
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T12-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T12:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4191.76,
      "stop": 4185.773,
      "target": 4203.735,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.8,
        "bb_width_pct": 0.65
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T13-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4197.235,
      "stop": 4194.301,
      "target": 4203.102,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.22,
        "bb_width_pct": 0.649
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T13-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4197.235,
      "stop": 4191.688,
      "target": 4208.33,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.22,
        "bb_width_pct": 0.649
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T13-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4197.235,
      "stop": 4194.812,
      "target": 4202.081,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.22,
        "bb_width_pct": 0.649
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T13-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T13:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4190.93,
      "stop": 4186.026,
      "target": 4200.738,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.82,
        "bb_width_pct": 0.583
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T13-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T13:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4190.93,
      "stop": 4185.796,
      "target": 4201.197,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.82,
        "bb_width_pct": 0.583
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T13-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4190.985,
      "stop": 4186.527,
      "target": 4199.901,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.79,
        "bb_width_pct": 0.596
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T13-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4190.985,
      "stop": 4186.065,
      "target": 4200.825,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.79,
        "bb_width_pct": 0.596
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T13-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4190.985,
      "stop": 4186.365,
      "target": 4200.224,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.79,
        "bb_width_pct": 0.596
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T13-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T13:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4189.385,
      "stop": 4184.748,
      "target": 4198.658,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.48,
        "bb_width_pct": 0.546
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T13-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T13:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4186.575,
      "stop": 4181.161,
      "target": 4197.403,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.85,
        "bb_width_pct": 0.523
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T13-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T13:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4186.575,
      "stop": 4180.867,
      "target": 4197.99,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.85,
        "bb_width_pct": 0.523
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T14-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4194.605,
      "stop": 4193.435,
      "target": 4196.945,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.17,
        "bb_width_pct": 0.507
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T14-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4194.605,
      "stop": 4191.496,
      "target": 4200.823,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 2.17,
        "bb_width_pct": 0.507
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T14-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T14:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4198.27,
      "stop": 4197.659,
      "target": 4199.493,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.75,
        "bb_width_pct": 0.499
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T14-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T14:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4187.435,
      "stop": 4183.237,
      "target": 4195.832,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.93,
        "bb_width_pct": 0.544
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T14-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T14:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4188.64,
      "stop": 4183.394,
      "target": 4199.132,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.9,
        "bb_width_pct": 0.563
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T14-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4186.985,
      "stop": 4182.949,
      "target": 4195.058,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.09,
        "bb_width_pct": 0.589
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T14-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T14:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4192.36,
      "stop": 4189.395,
      "target": 4198.29,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.61,
        "bb_width_pct": 0.588
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T14-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T14:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4184.575,
      "stop": 4179.635,
      "target": 4194.454,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.03,
        "bb_width_pct": 0.625
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T14-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T14:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4183.215,
      "stop": 4178.022,
      "target": 4193.6,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.23,
        "bb_width_pct": 0.652
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T15-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T15:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4203.42,
      "stop": 4208.088,
      "target": 4194.083,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.2,
        "bb_width_pct": 0.711
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T15-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T15:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4208.715,
      "stop": 4215.889,
      "target": 4194.368,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.48,
        "bb_width_pct": 0.752
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T16-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T16:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4221.885,
      "stop": 4227.514,
      "target": 4210.626,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.03,
        "bb_width_pct": 1.114
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T16-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T16:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4223.845,
      "stop": 4229.825,
      "target": 4211.885,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.12,
        "bb_width_pct": 1.081
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T16-20-00Z_short_vwap_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T16:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4218.29,
      "stop": 4225.9,
      "target": 4203.071,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.2,
        "bb_width_pct": 0.915
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T16-25-00Z_short_vwap_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T16:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4216.94,
      "stop": 4223.738,
      "target": 4203.344,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.26,
        "bb_width_pct": 0.643
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T16-35-00Z_short_vwap_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4216.925,
      "stop": 4223.479,
      "target": 4203.816,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.3,
        "bb_width_pct": 0.575
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T17-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T17:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4220.79,
      "stop": 4223.092,
      "target": 4216.187,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.03,
        "bb_width_pct": 0.388
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T17-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T17:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4220.79,
      "stop": 4223.568,
      "target": 4215.233,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.03,
        "bb_width_pct": 0.388
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T17-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T17:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4223.42,
      "stop": 4225.731,
      "target": 4218.798,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.87,
        "bb_width_pct": 0.277
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T18-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T18:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4227.09,
      "stop": 4230.68,
      "target": 4219.91,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.14,
        "bb_width_pct": 0.318
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T18-20-00Z_short_rsi_range_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T18:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4229.09,
      "stop": 4233.177,
      "target": 4220.916,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 16.96,
        "bb_width_pct": 0.384
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T18-20-00Z_short_vwap_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T18:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4229.09,
      "stop": 4232.773,
      "target": 4221.725,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 16.96,
        "bb_width_pct": 0.384
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T18-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T18:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4229.09,
      "stop": 4233.855,
      "target": 4219.56,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 16.96,
        "bb_width_pct": 0.384
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T18-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T18:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4226.58,
      "stop": 4229.086,
      "target": 4221.568,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.4,
        "bb_width_pct": 0.365
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T18-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T18:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4226.58,
      "stop": 4228.834,
      "target": 4222.073,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.4,
        "bb_width_pct": 0.365
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T18-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T18:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4229.35,
      "stop": 4232.247,
      "target": 4223.556,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.24,
        "bb_width_pct": 0.364
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T18-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T18:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4215.625,
      "stop": 4211.788,
      "target": 4223.299,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.42,
        "bb_width_pct": 0.366
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T19-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T19:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4217.58,
      "stop": 4214.807,
      "target": 4223.126,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.97,
        "bb_width_pct": 0.382
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T19-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T19:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4217.58,
      "stop": 4215.3,
      "target": 4222.14,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.97,
        "bb_width_pct": 0.382
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T19-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T19:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4215.145,
      "stop": 4211.33,
      "target": 4222.775,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.84,
        "bb_width_pct": 0.423
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T19-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T19:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4206.885,
      "stop": 4203.483,
      "target": 4213.688,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.06,
        "bb_width_pct": 0.834
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T19-55-00Z_long_rsi_range_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T19:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4210.8,
      "stop": 4208.036,
      "target": 4216.328,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.6,
        "bb_width_pct": 0.801
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T19-55-00Z_long_vwap_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T19:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4210.8,
      "stop": 4206.872,
      "target": 4218.656,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.6,
        "bb_width_pct": 0.801
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T19-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T19:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4210.8,
      "stop": 4206.874,
      "target": 4218.653,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 17.6,
        "bb_width_pct": 0.801
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T19-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T19:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4210.8,
      "stop": 4209.493,
      "target": 4213.413,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.6,
        "bb_width_pct": 0.801
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T20-00-00Z_long_rsi_range_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T20:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4210.895,
      "stop": 4208.633,
      "target": 4215.419,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.49,
        "bb_width_pct": 0.758
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T20-00-00Z_long_vwap_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T20:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4210.895,
      "stop": 4207.122,
      "target": 4218.442,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.49,
        "bb_width_pct": 0.758
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T20-05-00Z_long_vwap_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T20:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4211.33,
      "stop": 4207.871,
      "target": 4218.248,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.9,
        "bb_width_pct": 0.722
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T20-10-00Z_long_vwap_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T20:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4212.67,
      "stop": 4209.956,
      "target": 4218.098,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.07,
        "bb_width_pct": 0.667
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T20-40-00Z_short_rsi_range_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4214.025,
      "stop": 4215.285,
      "target": 4211.504,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 20.24,
        "bb_width_pct": 0.376
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-12T20-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T20:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4217.3,
      "stop": 4218.931,
      "target": 4214.038,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 27.05,
        "bb_width_pct": 0.358
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-14T23-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-14",
      "timestamp": "2026-06-14T23:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4293.115,
      "stop": 4311.92,
      "target": 4255.505,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.77,
        "bb_width_pct": 0.547
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T00-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4294.66,
      "stop": 4298.44,
      "target": 4287.099,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.51,
        "bb_width_pct": 0.384
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T00-35-00Z_short_rsi_range_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T00:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4299.02,
      "stop": 4302.487,
      "target": 4292.087,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 20.32,
        "bb_width_pct": 0.754
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T00-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T00:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4299.02,
      "stop": 4318.064,
      "target": 4260.932,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 20.32,
        "bb_width_pct": 0.754
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T00-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T00:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4299.02,
      "stop": 4302.326,
      "target": 4292.409,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.32,
        "bb_width_pct": 0.754
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T00-40-00Z_short_rsi_range_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T00:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4297.66,
      "stop": 4300.123,
      "target": 4292.734,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 16.62,
        "bb_width_pct": 0.745
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T00-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T00:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4297.66,
      "stop": 4316.024,
      "target": 4260.932,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 16.62,
        "bb_width_pct": 0.745
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T00-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T00:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4296.55,
      "stop": 4314.359,
      "target": 4260.932,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.11,
        "bb_width_pct": 0.719
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T00-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T00:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4295.76,
      "stop": 4313.174,
      "target": 4260.932,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.41,
        "bb_width_pct": 0.686
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T00-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T00:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4292.545,
      "stop": 4308.35,
      "target": 4260.935,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.82,
        "bb_width_pct": 0.642
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T01-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4291.835,
      "stop": 4307.285,
      "target": 4260.935,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.69,
        "bb_width_pct": 0.597
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T01-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T01:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4289.41,
      "stop": 4303.03,
      "target": 4262.17,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.02,
        "bb_width_pct": 0.558
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T01-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T01:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4302.53,
      "stop": 4305.248,
      "target": 4297.093,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.68,
        "bb_width_pct": 0.416
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T01-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T01:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4302.53,
      "stop": 4306.756,
      "target": 4294.079,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.68,
        "bb_width_pct": 0.416
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T01-45-00Z_short_rsi_range_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T01:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4317.515,
      "stop": 4325.357,
      "target": 4301.832,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 18.15,
        "bb_width_pct": 0.775
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T01-45-00Z_short_vwap_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T01:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4317.515,
      "stop": 4325.854,
      "target": 4300.837,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 18.15,
        "bb_width_pct": 0.775
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T01-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T01:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4317.515,
      "stop": 4326.245,
      "target": 4300.055,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.15,
        "bb_width_pct": 0.775
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T01-50-00Z_short_rsi_range_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T01:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4316.33,
      "stop": 4323.173,
      "target": 4302.645,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 18.11,
        "bb_width_pct": 0.827
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T01-50-00Z_short_vwap_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T01:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4316.33,
      "stop": 4323.727,
      "target": 4301.535,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 18.11,
        "bb_width_pct": 0.827
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T01-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T01:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4316.33,
      "stop": 4324.256,
      "target": 4300.477,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.11,
        "bb_width_pct": 0.827
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T02-05-00Z_short_rsi_range_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T02:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4321.64,
      "stop": 4329.901,
      "target": 4305.117,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 26.8,
        "bb_width_pct": 1.019
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T02-05-00Z_short_vwap_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T02:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4321.64,
      "stop": 4330.608,
      "target": 4303.704,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 26.8,
        "bb_width_pct": 1.019
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T02-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T02:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4321.64,
      "stop": 4331.025,
      "target": 4302.87,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 26.8,
        "bb_width_pct": 1.019
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T02-40-00Z_short_rsi_range_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T02:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4330.25,
      "stop": 4337.16,
      "target": 4316.43,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 19.79,
        "bb_width_pct": 1.184
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T02-40-00Z_short_vwap_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T02:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4330.25,
      "stop": 4340.88,
      "target": 4308.99,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 19.79,
        "bb_width_pct": 1.184
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T02-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T02:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4330.25,
      "stop": 4341.395,
      "target": 4307.96,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 19.79,
        "bb_width_pct": 1.184
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T02-50-00Z_short_vwap_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T02:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4330.055,
      "stop": 4339.927,
      "target": 4310.31,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 17.27,
        "bb_width_pct": 1.0
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T02-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T02:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4330.055,
      "stop": 4340.806,
      "target": 4308.552,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.27,
        "bb_width_pct": 1.0
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T02-55-00Z_short_vwap_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T02:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4329.65,
      "stop": 4339.053,
      "target": 4310.845,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 18.92,
        "bb_width_pct": 0.829
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T02-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T02:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4329.65,
      "stop": 4339.994,
      "target": 4308.962,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.92,
        "bb_width_pct": 0.829
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T03-00-00Z_short_vwap_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4326.475,
      "stop": 4334.061,
      "target": 4311.302,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.15,
        "bb_width_pct": 0.719
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T03-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4326.475,
      "stop": 4334.736,
      "target": 4309.952,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.15,
        "bb_width_pct": 0.719
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T03-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4326.475,
      "stop": 4328.535,
      "target": 4322.354,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.15,
        "bb_width_pct": 0.719
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T03-05-00Z_short_vwap_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T03:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4323.815,
      "stop": 4329.895,
      "target": 4311.654,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 1.59,
        "bb_width_pct": 0.58
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T03-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T03:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4323.815,
      "stop": 4330.5,
      "target": 4310.445,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.59,
        "bb_width_pct": 0.58
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T03-20-00Z_short_vwap_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T03:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4325.3,
      "stop": 4331.609,
      "target": 4312.683,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.21,
        "bb_width_pct": 0.457
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T03-25-00Z_short_vwap_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4324.135,
      "stop": 4329.729,
      "target": 4312.946,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.0,
        "bb_width_pct": 0.423
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T03-35-00Z_short_vwap_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T03:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4324.86,
      "stop": 4330.529,
      "target": 4313.521,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.75,
        "bb_width_pct": 0.304
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T03-40-00Z_short_vwap_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T03:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4323.44,
      "stop": 4328.292,
      "target": 4313.737,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.85,
        "bb_width_pct": 0.299
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T03-50-00Z_short_vwap_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T03:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4325.45,
      "stop": 4331.054,
      "target": 4314.242,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.62,
        "bb_width_pct": 0.278
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T03-55-00Z_short_vwap_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T03:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4325.1,
      "stop": 4330.417,
      "target": 4314.467,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.8,
        "bb_width_pct": 0.279
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T04-00-00Z_short_vwap_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T04:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4323.32,
      "stop": 4327.642,
      "target": 4314.676,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.83,
        "bb_width_pct": 0.287
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T04-15-00Z_short_vwap_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T04:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4324.17,
      "stop": 4328.617,
      "target": 4315.275,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.51,
        "bb_width_pct": 0.257
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T04-20-00Z_short_vwap_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4322.545,
      "stop": 4326.108,
      "target": 4315.419,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 9.16,
        "bb_width_pct": 0.253
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T04-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T04:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4328.63,
      "stop": 4330.207,
      "target": 4325.477,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.86,
        "bb_width_pct": 0.161
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T04-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4327.9,
      "stop": 4329.155,
      "target": 4325.389,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.48,
        "bb_width_pct": 0.145
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T04-35-00Z_short_vwap_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4327.9,
      "stop": 4333.822,
      "target": 4316.057,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.48,
        "bb_width_pct": 0.145
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T04-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4327.9,
      "stop": 4334.696,
      "target": 4314.307,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.48,
        "bb_width_pct": 0.145
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T04-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4327.925,
      "stop": 4329.157,
      "target": 4325.462,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.35,
        "bb_width_pct": 0.152
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T04-40-00Z_short_vwap_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4327.925,
      "stop": 4333.756,
      "target": 4316.264,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.35,
        "bb_width_pct": 0.152
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T04-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4328.1,
      "stop": 4329.312,
      "target": 4325.676,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.9,
        "bb_width_pct": 0.157
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T04-50-00Z_short_vwap_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T04:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4326.97,
      "stop": 4332.126,
      "target": 4316.658,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 1.44,
        "bb_width_pct": 0.159
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T05-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4328.1,
      "stop": 4329.17,
      "target": 4325.96,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.81,
        "bb_width_pct": 0.171
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T05-00-00Z_short_vwap_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4328.1,
      "stop": 4333.632,
      "target": 4317.037,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.81,
        "bb_width_pct": 0.171
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T05-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4328.885,
      "stop": 4330.163,
      "target": 4326.328,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.18,
        "bb_width_pct": 0.184
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T05-15-00Z_short_vwap_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4328.235,
      "stop": 4333.57,
      "target": 4317.564,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.87,
        "bb_width_pct": 0.185
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T05-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4330.66,
      "stop": 4332.561,
      "target": 4326.858,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.32,
        "bb_width_pct": 0.191
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T05-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4330.66,
      "stop": 4332.383,
      "target": 4327.213,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.32,
        "bb_width_pct": 0.191
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T05-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4330.18,
      "stop": 4331.745,
      "target": 4327.051,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.93,
        "bb_width_pct": 0.202
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T05-25-00Z_short_rsi_range_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4330.18,
      "stop": 4331.745,
      "target": 4327.051,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 15.93,
        "bb_width_pct": 0.202
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T05-25-00Z_short_vwap_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4330.18,
      "stop": 4336.293,
      "target": 4317.954,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.93,
        "bb_width_pct": 0.202
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T05-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4327.5,
      "stop": 4327.673,
      "target": 4327.154,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.07,
        "bb_width_pct": 0.199
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T05-30-00Z_short_vwap_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4327.5,
      "stop": 4332.195,
      "target": 4318.11,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 1.07,
        "bb_width_pct": 0.199
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T05-45-00Z_long_rsi_range_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T05:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4314.135,
      "stop": 4308.251,
      "target": 4325.903,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.13,
        "bb_width_pct": 0.439
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T05-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T05:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4314.135,
      "stop": 4309.129,
      "target": 4324.148,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 22.13,
        "bb_width_pct": 0.439
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T06-00-00Z_long_rsi_range_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4312.11,
      "stop": 4306.224,
      "target": 4323.882,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.93,
        "bb_width_pct": 0.664
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T06-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4312.11,
      "stop": 4307.38,
      "target": 4321.57,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 22.93,
        "bb_width_pct": 0.664
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T06-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T06:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4308.9,
      "stop": 4302.444,
      "target": 4321.811,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.42,
        "bb_width_pct": 0.797
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T06-10-00Z_long_rsi_range_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T06:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4308.9,
      "stop": 4302.444,
      "target": 4321.811,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.42,
        "bb_width_pct": 0.797
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T06-10-00Z_long_vwap_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T06:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4308.9,
      "stop": 4304.602,
      "target": 4317.496,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.42,
        "bb_width_pct": 0.797
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T06-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T06:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4308.9,
      "stop": 4304.19,
      "target": 4318.32,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 24.42,
        "bb_width_pct": 0.797
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T06-20-00Z_long_rsi_range_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T06:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4307.22,
      "stop": 4301.018,
      "target": 4319.624,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.98,
        "bb_width_pct": 0.882
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T06-20-00Z_long_vwap_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T06:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4307.22,
      "stop": 4302.229,
      "target": 4317.201,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.98,
        "bb_width_pct": 0.882
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T06-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T06:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4307.22,
      "stop": 4301.774,
      "target": 4318.113,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 24.98,
        "bb_width_pct": 0.882
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T06-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T06:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4307.22,
      "stop": 4302.727,
      "target": 4316.205,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.98,
        "bb_width_pct": 0.882
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T06-30-00Z_long_rsi_range_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4306.51,
      "stop": 4301.037,
      "target": 4317.455,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 27.87,
        "bb_width_pct": 0.92
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T06-30-00Z_long_vwap_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4306.51,
      "stop": 4301.308,
      "target": 4316.913,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 27.87,
        "bb_width_pct": 0.92
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T06-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4306.51,
      "stop": 4300.731,
      "target": 4318.068,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 27.87,
        "bb_width_pct": 0.92
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T06-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4306.51,
      "stop": 4302.599,
      "target": 4314.332,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 27.87,
        "bb_width_pct": 0.92
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T06-40-00Z_long_rsi_range_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T06:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4306.59,
      "stop": 4302.325,
      "target": 4315.12,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.89,
        "bb_width_pct": 0.917
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T06-40-00Z_long_vwap_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T06:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4306.59,
      "stop": 4301.58,
      "target": 4316.61,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.89,
        "bb_width_pct": 0.917
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T06-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T06:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4306.59,
      "stop": 4300.923,
      "target": 4317.925,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 16.89,
        "bb_width_pct": 0.917
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T06-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T06:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4306.59,
      "stop": 4303.569,
      "target": 4312.631,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.89,
        "bb_width_pct": 0.917
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T06-45-00Z_long_vwap_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T06:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4307.655,
      "stop": 4303.238,
      "target": 4316.488,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.5,
        "bb_width_pct": 0.88
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T06-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T06:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4307.655,
      "stop": 4302.969,
      "target": 4317.028,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.5,
        "bb_width_pct": 0.88
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T06-55-00Z_long_vwap_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T06:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4308.125,
      "stop": 4304.048,
      "target": 4316.279,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.46,
        "bb_width_pct": 0.769
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T07-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T07:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4310.61,
      "stop": 4307.401,
      "target": 4317.028,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.7,
        "bb_width_pct": 0.658
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T07-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T07:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4316.585,
      "stop": 4320.22,
      "target": 4309.315,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.66,
        "bb_width_pct": 0.338
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T07-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T07:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4316.7,
      "stop": 4320.328,
      "target": 4309.443,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.91,
        "bb_width_pct": 0.357
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T07-45-00Z_short_rsi_range_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T07:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4313.635,
      "stop": 4315.167,
      "target": 4310.571,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 12.33,
        "bb_width_pct": 0.405
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T07-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T07:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4323.24,
      "stop": 4328.759,
      "target": 4312.201,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 25.02,
        "bb_width_pct": 0.512
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T08-20-00Z_short_rsi_range_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T08:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4329.11,
      "stop": 4334.636,
      "target": 4318.058,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 22.43,
        "bb_width_pct": 0.7
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T08-20-00Z_short_vwap_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T08:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4329.11,
      "stop": 4334.072,
      "target": 4319.185,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 22.43,
        "bb_width_pct": 0.7
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T08-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T08:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4329.11,
      "stop": 4335.151,
      "target": 4317.028,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 22.43,
        "bb_width_pct": 0.7
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T08-25-00Z_short_rsi_range_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T08:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4328.715,
      "stop": 4333.517,
      "target": 4319.111,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 17.66,
        "bb_width_pct": 0.695
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T08-25-00Z_short_vwap_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T08:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4328.715,
      "stop": 4333.189,
      "target": 4319.766,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 17.66,
        "bb_width_pct": 0.695
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T08-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T08:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4328.715,
      "stop": 4334.559,
      "target": 4317.028,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.66,
        "bb_width_pct": 0.695
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T08-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T08:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4328.715,
      "stop": 4332.306,
      "target": 4321.534,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.66,
        "bb_width_pct": 0.695
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T08-45-00Z_short_rsi_range_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T08:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4337.935,
      "stop": 4344.191,
      "target": 4325.424,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 26.22,
        "bb_width_pct": 0.916
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T08-45-00Z_short_vwap_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T08:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4337.935,
      "stop": 4345.104,
      "target": 4323.597,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 26.22,
        "bb_width_pct": 0.916
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T08-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T08:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4337.935,
      "stop": 4345.263,
      "target": 4323.28,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 26.22,
        "bb_width_pct": 0.916
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T08-55-00Z_short_rsi_range_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T08:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4334.14,
      "stop": 4337.371,
      "target": 4327.678,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 13.18,
        "bb_width_pct": 0.895
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T08-55-00Z_short_vwap_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T08:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4334.14,
      "stop": 4338.861,
      "target": 4324.697,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.18,
        "bb_width_pct": 0.895
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T08-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T08:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4334.14,
      "stop": 4339.57,
      "target": 4323.28,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.18,
        "bb_width_pct": 0.895
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T08-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T08:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4334.14,
      "stop": 4336.434,
      "target": 4329.551,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.18,
        "bb_width_pct": 0.895
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T09-05-00Z_short_rsi_range_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T09:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4340.18,
      "stop": 4345.221,
      "target": 4330.098,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 14.6,
        "bb_width_pct": 0.891
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T09-05-00Z_short_vwap_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T09:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4340.18,
      "stop": 4347.333,
      "target": 4325.873,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.6,
        "bb_width_pct": 0.891
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T09-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T09:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4340.18,
      "stop": 4348.63,
      "target": 4323.28,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.6,
        "bb_width_pct": 0.891
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T09-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T09:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4340.18,
      "stop": 4344.473,
      "target": 4331.594,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.6,
        "bb_width_pct": 0.891
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T09-10-00Z_short_vwap_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T09:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4340.105,
      "stop": 4346.97,
      "target": 4326.375,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.4,
        "bb_width_pct": 0.846
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T09-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T09:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4340.105,
      "stop": 4348.517,
      "target": 4323.28,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.4,
        "bb_width_pct": 0.846
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T09-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T09:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4340.105,
      "stop": 4343.955,
      "target": 4332.405,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.4,
        "bb_width_pct": 0.846
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T09-15-00Z_short_vwap_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T09:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4339.32,
      "stop": 4345.555,
      "target": 4326.851,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.08,
        "bb_width_pct": 0.794
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T09-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T09:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4339.32,
      "stop": 4347.34,
      "target": 4323.28,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.08,
        "bb_width_pct": 0.794
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T09-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T09:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4339.32,
      "stop": 4342.448,
      "target": 4333.063,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.08,
        "bb_width_pct": 0.794
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T09-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T09:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4340.68,
      "stop": 4344.126,
      "target": 4333.789,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.16,
        "bb_width_pct": 0.733
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T09-25-00Z_short_vwap_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T09:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4339.16,
      "stop": 4344.882,
      "target": 4327.715,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.02,
        "bb_width_pct": 0.602
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T09-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T09:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4339.16,
      "stop": 4347.1,
      "target": 4323.28,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.02,
        "bb_width_pct": 0.602
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T09-30-00Z_short_vwap_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4336.18,
      "stop": 4340.267,
      "target": 4328.007,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 9.54,
        "bb_width_pct": 0.547
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T09-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4336.18,
      "stop": 4342.63,
      "target": 4323.28,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.54,
        "bb_width_pct": 0.547
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T09-40-00Z_short_vwap_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T09:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4335.9,
      "stop": 4339.542,
      "target": 4328.615,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.53,
        "bb_width_pct": 0.455
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T09-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T09:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4335.9,
      "stop": 4342.21,
      "target": 4323.28,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.53,
        "bb_width_pct": 0.455
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T09-50-00Z_short_vwap_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T09:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4339.705,
      "stop": 4344.941,
      "target": 4329.233,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.69,
        "bb_width_pct": 0.393
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T09-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T09:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4339.705,
      "stop": 4347.917,
      "target": 4323.28,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.69,
        "bb_width_pct": 0.393
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T09-55-00Z_short_vwap_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T09:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4336.78,
      "stop": 4340.431,
      "target": 4329.477,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.89,
        "bb_width_pct": 0.355
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T09-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T09:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4336.78,
      "stop": 4343.53,
      "target": 4323.28,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.89,
        "bb_width_pct": 0.355
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T10-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T10:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4338.005,
      "stop": 4337.763,
      "target": 4338.489,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.29,
        "bb_width_pct": 0.137
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T10-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T10:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4340.515,
      "stop": 4341.52,
      "target": 4338.505,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.49,
        "bb_width_pct": 0.139
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T10-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T10:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4337.36,
      "stop": 4341.635,
      "target": 4328.81,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.52,
        "bb_width_pct": 0.136
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T11-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T11:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4338.585,
      "stop": 4339.292,
      "target": 4337.17,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.23,
        "bb_width_pct": 0.233
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T11-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T11:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4333.815,
      "stop": 4331.184,
      "target": 4339.077,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.92,
        "bb_width_pct": 0.257
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T11-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T11:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4333.815,
      "stop": 4331.212,
      "target": 4339.021,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.92,
        "bb_width_pct": 0.257
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T11-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T11:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4336.165,
      "stop": 4334.356,
      "target": 4339.782,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.18,
        "bb_width_pct": 0.263
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T12-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T12:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4331.305,
      "stop": 4327.851,
      "target": 4338.213,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.04,
        "bb_width_pct": 0.32
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T12-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T12:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4333.11,
      "stop": 4330.917,
      "target": 4337.496,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.6,
        "bb_width_pct": 0.399
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T12-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T12:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4333.11,
      "stop": 4331.571,
      "target": 4336.188,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.6,
        "bb_width_pct": 0.399
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T12-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T12:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4333.11,
      "stop": 4331.609,
      "target": 4336.113,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.6,
        "bb_width_pct": 0.399
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T12-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T12:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4344.215,
      "stop": 4348.229,
      "target": 4336.188,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.07,
        "bb_width_pct": 0.49
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T12-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T12:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4344.215,
      "stop": 4346.58,
      "target": 4339.484,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.07,
        "bb_width_pct": 0.49
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T13-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4343.055,
      "stop": 4346.03,
      "target": 4337.105,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.19,
        "bb_width_pct": 0.535
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T13-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T13:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4353.105,
      "stop": 4359.464,
      "target": 4340.387,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 25.13,
        "bb_width_pct": 0.612
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T13-25-00Z_short_rsi_range_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T13:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4353.35,
      "stop": 4358.96,
      "target": 4342.13,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 26.21,
        "bb_width_pct": 0.691
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T13-25-00Z_short_vwap_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T13:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4353.35,
      "stop": 4358.7,
      "target": 4342.651,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 26.21,
        "bb_width_pct": 0.691
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T13-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T13:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4353.35,
      "stop": 4359.92,
      "target": 4340.21,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 26.21,
        "bb_width_pct": 0.691
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T13-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4363.155,
      "stop": 4372.305,
      "target": 4344.854,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 25.12,
        "bb_width_pct": 0.867
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T13-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T13:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4363.185,
      "stop": 4371.716,
      "target": 4346.122,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 23.23,
        "bb_width_pct": 0.927
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T13-45-00Z_short_rsi_range_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4362.005,
      "stop": 4369.264,
      "target": 4347.486,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 20.6,
        "bb_width_pct": 0.946
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T13-45-00Z_short_vwap_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4362.005,
      "stop": 4369.886,
      "target": 4346.242,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 20.6,
        "bb_width_pct": 0.946
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T13-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4362.005,
      "stop": 4369.536,
      "target": 4346.943,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 20.6,
        "bb_width_pct": 0.946
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T13-50-00Z_short_vwap_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T13:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4357.68,
      "stop": 4363.118,
      "target": 4346.804,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.96,
        "bb_width_pct": 0.902
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T13-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T13:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4357.68,
      "stop": 4363.049,
      "target": 4346.943,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.96,
        "bb_width_pct": 0.902
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T13-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T13:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4357.68,
      "stop": 4360.792,
      "target": 4351.457,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.96,
        "bb_width_pct": 0.902
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T13-55-00Z_short_vwap_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T13:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4355.215,
      "stop": 4359.203,
      "target": 4347.238,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.46,
        "bb_width_pct": 0.786
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T13-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T13:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4355.215,
      "stop": 4356.915,
      "target": 4351.815,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.46,
        "bb_width_pct": 0.786
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T14-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T14:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4365.96,
      "stop": 4372.479,
      "target": 4352.922,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 24.01,
        "bb_width_pct": 0.706
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T14-10-00Z_short_vwap_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T14:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4357.57,
      "stop": 4361.994,
      "target": 4348.723,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.26,
        "bb_width_pct": 0.676
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T14-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T14:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4357.57,
      "stop": 4362.739,
      "target": 4347.233,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.26,
        "bb_width_pct": 0.676
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T14-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T14:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4357.57,
      "stop": 4359.286,
      "target": 4354.139,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.26,
        "bb_width_pct": 0.676
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T14-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4357.325,
      "stop": 4362.371,
      "target": 4347.233,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.6,
        "bb_width_pct": 0.572
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T14-50-00Z_short_vwap_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T14:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4361.645,
      "stop": 4366.88,
      "target": 4351.175,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.36,
        "bb_width_pct": 0.339
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T14-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T14:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4361.645,
      "stop": 4368.851,
      "target": 4347.233,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.36,
        "bb_width_pct": 0.339
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T15-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T15:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4354.835,
      "stop": 4352.5,
      "target": 4359.505,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.38,
        "bb_width_pct": 0.311
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T15-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T15:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4351.625,
      "stop": 4348.245,
      "target": 4358.386,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.49,
        "bb_width_pct": 0.355
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T15-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T15:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4356.355,
      "stop": 4355.51,
      "target": 4358.044,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.11,
        "bb_width_pct": 0.342
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T16-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T16:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4351.875,
      "stop": 4349.956,
      "target": 4355.713,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.75,
        "bb_width_pct": 0.265
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T16-25-00Z_long_vwap_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T16:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4342.935,
      "stop": 4338.436,
      "target": 4351.934,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.24,
        "bb_width_pct": 0.465
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T16-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T16:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4342.935,
      "stop": 4336.961,
      "target": 4354.882,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 19.24,
        "bb_width_pct": 0.465
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T16-55-00Z_long_rsi_range_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4339.19,
      "stop": 4334.626,
      "target": 4348.318,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 27.83,
        "bb_width_pct": 0.735
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T16-55-00Z_long_vwap_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4339.19,
      "stop": 4333.49,
      "target": 4350.591,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 27.83,
        "bb_width_pct": 0.735
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T16-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4339.19,
      "stop": 4332.706,
      "target": 4352.157,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 27.83,
        "bb_width_pct": 0.735
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T16-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4339.19,
      "stop": 4335.864,
      "target": 4345.843,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 27.83,
        "bb_width_pct": 0.735
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T17-10-00Z_long_rsi_range_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T17:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4333.985,
      "stop": 4328.391,
      "target": 4345.173,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.52,
        "bb_width_pct": 0.828
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T17-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T17:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4333.985,
      "stop": 4325.694,
      "target": 4350.568,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 26.52,
        "bb_width_pct": 0.828
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T17-20-00Z_long_rsi_range_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T17:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4331.01,
      "stop": 4325.186,
      "target": 4342.657,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.41,
        "bb_width_pct": 0.836
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T17-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T17:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4331.01,
      "stop": 4321.48,
      "target": 4350.07,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 22.41,
        "bb_width_pct": 0.836
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T17-45-00Z_long_rsi_range_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T17:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4323.03,
      "stop": 4317.075,
      "target": 4334.939,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.38,
        "bb_width_pct": 0.699
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T17-45-00Z_long_vwap_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T17:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4323.03,
      "stop": 4319.861,
      "target": 4329.367,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.38,
        "bb_width_pct": 0.699
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T17-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T17:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4323.03,
      "stop": 4312.95,
      "target": 4343.19,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 22.38,
        "bb_width_pct": 0.699
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T17-55-00Z_long_rsi_range_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T17:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4324.955,
      "stop": 4321.241,
      "target": 4332.383,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.14,
        "bb_width_pct": 0.615
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T17-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T17:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4324.955,
      "stop": 4316.392,
      "target": 4342.08,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 22.14,
        "bb_width_pct": 0.615
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T18-05-00Z_long_rsi_range_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T18:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4320.715,
      "stop": 4315.923,
      "target": 4330.3,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.74,
        "bb_width_pct": 0.62
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T18-05-00Z_long_vwap_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T18:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4320.715,
      "stop": 4317.459,
      "target": 4327.228,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.74,
        "bb_width_pct": 0.62
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T18-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T18:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4320.715,
      "stop": 4310.654,
      "target": 4340.837,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 21.74,
        "bb_width_pct": 0.62
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T18-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T18:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4324.21,
      "stop": 4316.209,
      "target": 4340.212,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 13.73,
        "bb_width_pct": 0.588
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T18-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T18:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4324.21,
      "stop": 4321.492,
      "target": 4329.647,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.73,
        "bb_width_pct": 0.588
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T18-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T18:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4325.04,
      "stop": 4317.831,
      "target": 4339.458,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.19,
        "bb_width_pct": 0.557
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T18-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T18:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4325.04,
      "stop": 4322.956,
      "target": 4329.208,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.19,
        "bb_width_pct": 0.557
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T18-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4323.18,
      "stop": 4320.741,
      "target": 4328.059,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.75,
        "bb_width_pct": 0.466
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T18-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T18:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4325.04,
      "stop": 4317.831,
      "target": 4339.458,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.44,
        "bb_width_pct": 0.388
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T18-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T18:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4325.18,
      "stop": 4318.041,
      "target": 4339.458,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.09,
        "bb_width_pct": 0.321
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T19-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T19:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4322.56,
      "stop": 4314.596,
      "target": 4338.488,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.53,
        "bb_width_pct": 0.159
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T19-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T19:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4322.56,
      "stop": 4320.929,
      "target": 4325.823,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.53,
        "bb_width_pct": 0.159
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T19-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T19:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4324.095,
      "stop": 4316.921,
      "target": 4338.443,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.29,
        "bb_width_pct": 0.159
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T19-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T19:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4323.58,
      "stop": 4322.64,
      "target": 4325.46,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.72,
        "bb_width_pct": 0.156
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T19-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T19:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4322.69,
      "stop": 4316.322,
      "target": 4335.425,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.38,
        "bb_width_pct": 0.157
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T19-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T19:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4320.79,
      "stop": 4319.382,
      "target": 4323.606,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.18,
        "bb_width_pct": 0.166
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T19-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T19:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4320.79,
      "stop": 4318.95,
      "target": 4324.47,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.18,
        "bb_width_pct": 0.166
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T19-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T19:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4319.97,
      "stop": 4318.351,
      "target": 4323.209,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.54,
        "bb_width_pct": 0.21
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T19-50-00Z_long_vwap_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T19:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4319.97,
      "stop": 4317.531,
      "target": 4324.847,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.54,
        "bb_width_pct": 0.21
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T19-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T19:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4319.97,
      "stop": 4315.056,
      "target": 4329.798,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 13.54,
        "bb_width_pct": 0.21
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T19-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T19:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4319.97,
      "stop": 4318.395,
      "target": 4323.12,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.54,
        "bb_width_pct": 0.21
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T19-55-00Z_long_vwap_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T19:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4320.71,
      "stop": 4318.705,
      "target": 4324.719,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.44,
        "bb_width_pct": 0.212
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T19-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T19:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4320.71,
      "stop": 4316.587,
      "target": 4328.955,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 13.44,
        "bb_width_pct": 0.212
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T20-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T20:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4317.91,
      "stop": 4316.036,
      "target": 4321.658,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.51,
        "bb_width_pct": 0.25
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T20-15-00Z_long_vwap_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T20:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4317.91,
      "stop": 4314.814,
      "target": 4324.101,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.51,
        "bb_width_pct": 0.25
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T20-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T20:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4317.91,
      "stop": 4313.095,
      "target": 4327.54,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 11.51,
        "bb_width_pct": 0.25
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T20-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T20:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4317.91,
      "stop": 4316.201,
      "target": 4321.327,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.51,
        "bb_width_pct": 0.25
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T20-25-00Z_long_rsi_range_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T20:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4312.81,
      "stop": 4309.004,
      "target": 4320.421,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.85,
        "bb_width_pct": 0.329
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T20-25-00Z_long_vwap_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T20:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4312.81,
      "stop": 4307.418,
      "target": 4323.593,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.85,
        "bb_width_pct": 0.329
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T20-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T20:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4312.81,
      "stop": 4307.426,
      "target": 4323.578,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 23.85,
        "bb_width_pct": 0.329
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T20-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T20:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4312.05,
      "stop": 4308.574,
      "target": 4319.002,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.55,
        "bb_width_pct": 0.362
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T20-35-00Z_long_rsi_range_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T20:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4312.05,
      "stop": 4308.574,
      "target": 4319.002,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.55,
        "bb_width_pct": 0.362
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T20-35-00Z_long_vwap_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T20:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4312.05,
      "stop": 4306.548,
      "target": 4323.055,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.55,
        "bb_width_pct": 0.362
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T20-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T20:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4312.05,
      "stop": 4306.856,
      "target": 4322.438,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 24.55,
        "bb_width_pct": 0.362
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T20-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4309.82,
      "stop": 4305.542,
      "target": 4318.376,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.27,
        "bb_width_pct": 0.399
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T20-45-00Z_long_rsi_range_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T20:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4310.15,
      "stop": 4306.34,
      "target": 4317.771,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.69,
        "bb_width_pct": 0.423
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T20-45-00Z_long_vwap_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T20:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4310.15,
      "stop": 4303.98,
      "target": 4322.489,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.69,
        "bb_width_pct": 0.423
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T20-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T20:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4310.15,
      "stop": 4305.645,
      "target": 4319.16,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 20.69,
        "bb_width_pct": 0.423
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T20-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T20:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4307.94,
      "stop": 4303.39,
      "target": 4317.04,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.44,
        "bb_width_pct": 0.454
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T20-55-00Z_long_rsi_range_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T20:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4308.85,
      "stop": 4305.136,
      "target": 4316.277,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.18,
        "bb_width_pct": 0.456
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T20-55-00Z_long_vwap_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T20:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4308.85,
      "stop": 4302.324,
      "target": 4321.902,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.18,
        "bb_width_pct": 0.456
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T20-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T20:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4308.85,
      "stop": 4304.62,
      "target": 4317.31,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 24.18,
        "bb_width_pct": 0.456
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T22-00-00Z_long_vwap_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T22:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4313.555,
      "stop": 4301.544,
      "target": 4337.577,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.75,
        "bb_width_pct": 0.432
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T22-15-00Z_long_vwap_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T22:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4311.175,
      "stop": 4299.364,
      "target": 4334.798,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.97,
        "bb_width_pct": 0.382
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T22-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T22:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4311.175,
      "stop": 4308.122,
      "target": 4317.28,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.97,
        "bb_width_pct": 0.382
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T22-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T22:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4311.175,
      "stop": 4309.664,
      "target": 4314.197,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.97,
        "bb_width_pct": 0.382
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T22-25-00Z_long_vwap_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T22:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4308.58,
      "stop": 4296.331,
      "target": 4333.079,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.85,
        "bb_width_pct": 0.387
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T22-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T22:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4308.58,
      "stop": 4304.23,
      "target": 4317.28,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.85,
        "bb_width_pct": 0.387
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T22-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T22:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4308.58,
      "stop": 4306.312,
      "target": 4313.115,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.85,
        "bb_width_pct": 0.387
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T22-30-00Z_long_vwap_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T22:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4310.17,
      "stop": 4299.093,
      "target": 4332.323,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.26,
        "bb_width_pct": 0.363
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T22-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T22:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4310.17,
      "stop": 4306.724,
      "target": 4317.062,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.26,
        "bb_width_pct": 0.363
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T22-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T22:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4310.17,
      "stop": 4308.838,
      "target": 4312.835,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.26,
        "bb_width_pct": 0.363
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T22-35-00Z_long_vwap_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T22:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4311.435,
      "stop": 4301.324,
      "target": 4331.657,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.24,
        "bb_width_pct": 0.321
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T22-40-00Z_long_vwap_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T22:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4312.64,
      "stop": 4303.417,
      "target": 4331.085,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.19,
        "bb_width_pct": 0.281
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T22-50-00Z_long_vwap_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T22:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4313.795,
      "stop": 4305.687,
      "target": 4330.012,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.49,
        "bb_width_pct": 0.216
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T23-00-00Z_long_vwap_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4315.75,
      "stop": 4309.055,
      "target": 4329.14,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.84,
        "bb_width_pct": 0.19
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T23-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4314.515,
      "stop": 4316.109,
      "target": 4311.326,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.96,
        "bb_width_pct": 0.199
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T23-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4313.45,
      "stop": 4314.459,
      "target": 4311.433,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.09,
        "bb_width_pct": 0.204
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T23-20-00Z_long_vwap_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T23:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4313.965,
      "stop": 4307.111,
      "target": 4327.674,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.71,
        "bb_width_pct": 0.208
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T23-25-00Z_long_vwap_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T23:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4315.52,
      "stop": 4309.593,
      "target": 4327.373,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.79,
        "bb_width_pct": 0.219
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T23-30-00Z_long_vwap_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4316.34,
      "stop": 4310.957,
      "target": 4327.106,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.65,
        "bb_width_pct": 0.219
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T23-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4315.175,
      "stop": 4316.416,
      "target": 4312.693,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.86,
        "bb_width_pct": 0.212
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T23-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4315.175,
      "stop": 4315.853,
      "target": 4313.818,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.86,
        "bb_width_pct": 0.212
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T23-40-00Z_long_vwap_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4318.385,
      "stop": 4314.258,
      "target": 4326.639,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.43,
        "bb_width_pct": 0.241
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-15T23-50-00Z_long_vwap_mean_reversion",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T23:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4318.545,
      "stop": 4314.698,
      "target": 4326.239,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.93,
        "bb_width_pct": 0.272
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T00-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T00:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4311.705,
      "stop": 4310.17,
      "target": 4314.775,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.43,
        "bb_width_pct": 0.194
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T00-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T00:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4309.2,
      "stop": 4306.672,
      "target": 4314.256,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.29,
        "bb_width_pct": 0.221
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T00-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T00:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4308.595,
      "stop": 4306.034,
      "target": 4313.717,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.28,
        "bb_width_pct": 0.242
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T00-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4310.905,
      "stop": 4309.186,
      "target": 4314.343,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.54,
        "bb_width_pct": 0.252
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T00-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T00:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4319.295,
      "stop": 4321.78,
      "target": 4314.324,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.39,
        "bb_width_pct": 0.28
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T00-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T00:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4319.295,
      "stop": 4322.099,
      "target": 4313.687,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.39,
        "bb_width_pct": 0.28
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T01-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T01:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4319.005,
      "stop": 4321.051,
      "target": 4314.914,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.02,
        "bb_width_pct": 0.334
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T01-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T01:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4319.005,
      "stop": 4321.041,
      "target": 4314.933,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.02,
        "bb_width_pct": 0.334
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T01-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T01:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4319.915,
      "stop": 4322.326,
      "target": 4315.093,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.76,
        "bb_width_pct": 0.348
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T01-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T01:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4319.915,
      "stop": 4322.169,
      "target": 4315.407,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.76,
        "bb_width_pct": 0.348
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T01-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T01:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4319.275,
      "stop": 4321.196,
      "target": 4315.433,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.25,
        "bb_width_pct": 0.368
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T01-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T01:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4319.275,
      "stop": 4320.709,
      "target": 4316.408,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.25,
        "bb_width_pct": 0.368
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T02-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T02:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4311.57,
      "stop": 4309.493,
      "target": 4315.724,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.58,
        "bb_width_pct": 0.331
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T02-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T02:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4311.57,
      "stop": 4309.104,
      "target": 4316.503,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.58,
        "bb_width_pct": 0.331
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T02-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T02:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4310.635,
      "stop": 4307.701,
      "target": 4316.503,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.58,
        "bb_width_pct": 0.348
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T02-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T02:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4318.855,
      "stop": 4321.061,
      "target": 4314.443,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.67,
        "bb_width_pct": 0.293
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T02-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T02:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4318.855,
      "stop": 4321.065,
      "target": 4314.436,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.67,
        "bb_width_pct": 0.293
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T03-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T03:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4317.61,
      "stop": 4319.242,
      "target": 4314.346,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.94,
        "bb_width_pct": 0.281
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T03-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T03:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4318.79,
      "stop": 4320.934,
      "target": 4314.502,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.15,
        "bb_width_pct": 0.294
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T03-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4321.325,
      "stop": 4324.527,
      "target": 4314.92,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.09,
        "bb_width_pct": 0.336
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T03-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4321.325,
      "stop": 4323.687,
      "target": 4316.601,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.09,
        "bb_width_pct": 0.336
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T03-55-00Z_short_rsi_range_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T03:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4330.475,
      "stop": 4335.549,
      "target": 4320.327,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 24.82,
        "bb_width_pct": 0.636
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T03-55-00Z_short_vwap_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T03:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4330.475,
      "stop": 4337.228,
      "target": 4316.97,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 24.82,
        "bb_width_pct": 0.636
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T03-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T03:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4330.475,
      "stop": 4335.505,
      "target": 4320.415,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 24.82,
        "bb_width_pct": 0.636
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T04-00-00Z_short_rsi_range_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T04:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4329.315,
      "stop": 4333.335,
      "target": 4321.275,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 19.35,
        "bb_width_pct": 0.623
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T04-00-00Z_short_vwap_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T04:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4329.315,
      "stop": 4335.352,
      "target": 4317.242,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 19.35,
        "bb_width_pct": 0.623
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T04-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T04:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4329.315,
      "stop": 4333.704,
      "target": 4320.538,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 19.35,
        "bb_width_pct": 0.623
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T04-05-00Z_short_rsi_range_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4328.515,
      "stop": 4331.74,
      "target": 4322.065,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 18.73,
        "bb_width_pct": 0.612
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T04-05-00Z_short_vwap_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4328.515,
      "stop": 4334.032,
      "target": 4317.481,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 18.73,
        "bb_width_pct": 0.612
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T04-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4328.515,
      "stop": 4332.504,
      "target": 4320.538,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.73,
        "bb_width_pct": 0.612
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T04-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4328.515,
      "stop": 4330.883,
      "target": 4323.779,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.73,
        "bb_width_pct": 0.612
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T04-10-00Z_short_vwap_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T04:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4326.915,
      "stop": 4331.539,
      "target": 4317.668,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 18.14,
        "bb_width_pct": 0.613
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T04-15-00Z_short_rsi_range_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T04:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4326.385,
      "stop": 4328.001,
      "target": 4323.153,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 14.8,
        "bb_width_pct": 0.586
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T04-15-00Z_short_vwap_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T04:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4326.385,
      "stop": 4330.661,
      "target": 4317.833,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.8,
        "bb_width_pct": 0.586
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T04-20-00Z_short_vwap_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4325.005,
      "stop": 4328.517,
      "target": 4317.981,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.13,
        "bb_width_pct": 0.538
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T04-25-00Z_short_vwap_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T04:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4322.87,
      "stop": 4325.265,
      "target": 4318.08,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.31,
        "bb_width_pct": 0.478
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T04-40-00Z_short_vwap_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4323.255,
      "stop": 4325.691,
      "target": 4318.382,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.91,
        "bb_width_pct": 0.413
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T04-55-00Z_long_rsi_range_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T04:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4322.63,
      "stop": 4321.011,
      "target": 4325.869,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.4,
        "bb_width_pct": 0.333
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T05-00-00Z_long_rsi_range_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4325.275,
      "stop": 4324.841,
      "target": 4326.142,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.2,
        "bb_width_pct": 0.308
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T05-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4328.505,
      "stop": 4330.605,
      "target": 4324.304,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.0,
        "bb_width_pct": 0.294
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T05-10-00Z_short_vwap_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4326.375,
      "stop": 4330.077,
      "target": 4318.971,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.25,
        "bb_width_pct": 0.292
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T05-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4326.375,
      "stop": 4327.312,
      "target": 4324.501,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.25,
        "bb_width_pct": 0.292
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T05-20-00Z_short_vwap_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4325.68,
      "stop": 4328.92,
      "target": 4319.201,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 1.79,
        "bb_width_pct": 0.269
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T05-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4322.01,
      "stop": 4320.247,
      "target": 4325.535,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.83,
        "bb_width_pct": 0.227
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T05-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4322.01,
      "stop": 4322.578,
      "target": 4320.875,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.83,
        "bb_width_pct": 0.227
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T05-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T05:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4317.985,
      "stop": 4315.096,
      "target": 4323.762,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.13,
        "bb_width_pct": 0.292
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T05-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T05:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4317.985,
      "stop": 4315.517,
      "target": 4322.92,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.13,
        "bb_width_pct": 0.292
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T05-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T05:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4315.84,
      "stop": 4312.327,
      "target": 4322.866,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.47,
        "bb_width_pct": 0.325
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T05-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T05:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4315.84,
      "stop": 4312.783,
      "target": 4321.954,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.47,
        "bb_width_pct": 0.325
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T06-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4317.46,
      "stop": 4314.946,
      "target": 4322.489,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.68,
        "bb_width_pct": 0.339
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T06-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4317.46,
      "stop": 4315.007,
      "target": 4322.365,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.68,
        "bb_width_pct": 0.339
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T06-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4317.46,
      "stop": 4315.427,
      "target": 4321.526,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.68,
        "bb_width_pct": 0.339
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T06-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T06:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4318.7,
      "stop": 4316.324,
      "target": 4323.452,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 16.08,
        "bb_width_pct": 0.361
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T06-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T06:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4316.615,
      "stop": 4313.196,
      "target": 4323.452,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.68,
        "bb_width_pct": 0.399
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T06-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4318.67,
      "stop": 4316.279,
      "target": 4323.452,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 13.34,
        "bb_width_pct": 0.4
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T06-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T06:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4318.035,
      "stop": 4315.326,
      "target": 4323.452,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.51,
        "bb_width_pct": 0.354
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T07-05-00Z_short_rsi_range_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T07:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4326.775,
      "stop": 4330.67,
      "target": 4318.985,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 17.45,
        "bb_width_pct": 0.301
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T07-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T07:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4326.15,
      "stop": 4329.629,
      "target": 4319.192,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.48,
        "bb_width_pct": 0.329
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T07-10-00Z_short_rsi_range_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T07:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4326.15,
      "stop": 4329.629,
      "target": 4319.192,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 17.48,
        "bb_width_pct": 0.329
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T07-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T07:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4326.15,
      "stop": 4328.564,
      "target": 4321.321,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.48,
        "bb_width_pct": 0.329
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T07-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T07:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4324.76,
      "stop": 4326.035,
      "target": 4322.21,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.94,
        "bb_width_pct": 0.379
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T07-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T07:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4328.865,
      "stop": 4332.986,
      "target": 4320.623,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 26.57,
        "bb_width_pct": 0.415
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T07-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4328.755,
      "stop": 4332.59,
      "target": 4321.084,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.84,
        "bb_width_pct": 0.446
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T07-30-00Z_short_rsi_range_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4328.755,
      "stop": 4332.59,
      "target": 4321.084,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 22.84,
        "bb_width_pct": 0.446
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T07-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4328.755,
      "stop": 4332.0,
      "target": 4322.265,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 22.84,
        "bb_width_pct": 0.446
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T07-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4328.755,
      "stop": 4331.429,
      "target": 4323.407,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.84,
        "bb_width_pct": 0.446
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T07-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T07:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4327.545,
      "stop": 4329.749,
      "target": 4323.137,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.67,
        "bb_width_pct": 0.474
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T07-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T07:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4327.545,
      "stop": 4329.106,
      "target": 4324.423,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.67,
        "bb_width_pct": 0.474
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T08-00-00Z_short_rsi_range_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4334.875,
      "stop": 4339.603,
      "target": 4325.419,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 19.68,
        "bb_width_pct": 0.529
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T08-00-00Z_short_vwap_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4334.875,
      "stop": 4337.886,
      "target": 4328.853,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 19.68,
        "bb_width_pct": 0.529
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T08-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4334.875,
      "stop": 4340.034,
      "target": 4324.557,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 19.68,
        "bb_width_pct": 0.529
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T08-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T08:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4337.825,
      "stop": 4342.986,
      "target": 4327.503,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.16,
        "bb_width_pct": 0.58
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T08-10-00Z_short_rsi_range_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T08:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4337.825,
      "stop": 4342.986,
      "target": 4327.503,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 20.16,
        "bb_width_pct": 0.58
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T08-10-00Z_short_vwap_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T08:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4337.825,
      "stop": 4341.711,
      "target": 4330.053,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 20.16,
        "bb_width_pct": 0.58
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T08-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T08:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4337.825,
      "stop": 4343.566,
      "target": 4326.342,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 20.16,
        "bb_width_pct": 0.58
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T08-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T08:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4339.005,
      "stop": 4344.224,
      "target": 4328.568,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.9,
        "bb_width_pct": 0.585
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T08-20-00Z_short_rsi_range_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T08:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4337.995,
      "stop": 4342.168,
      "target": 4329.649,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 18.14,
        "bb_width_pct": 0.554
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T08-20-00Z_short_vwap_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T08:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4337.995,
      "stop": 4341.434,
      "target": 4331.117,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 18.14,
        "bb_width_pct": 0.554
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T08-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T08:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4337.995,
      "stop": 4343.151,
      "target": 4327.682,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.14,
        "bb_width_pct": 0.554
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T08-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T08:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4341.22,
      "stop": 4346.426,
      "target": 4330.808,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 27.74,
        "bb_width_pct": 0.543
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T08-35-00Z_short_rsi_range_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4340.82,
      "stop": 4344.848,
      "target": 4332.765,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 20.79,
        "bb_width_pct": 0.524
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T08-35-00Z_short_vwap_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4340.82,
      "stop": 4344.919,
      "target": 4332.622,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 20.79,
        "bb_width_pct": 0.524
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T08-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4340.82,
      "stop": 4346.956,
      "target": 4328.547,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 20.79,
        "bb_width_pct": 0.524
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T08-45-00Z_short_rsi_range_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T08:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4342.685,
      "stop": 4346.832,
      "target": 4334.392,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 26.76,
        "bb_width_pct": 0.558
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T08-45-00Z_short_vwap_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T08:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4342.685,
      "stop": 4347.249,
      "target": 4333.557,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 26.76,
        "bb_width_pct": 0.558
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T08-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T08:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4342.685,
      "stop": 4349.324,
      "target": 4329.407,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 26.76,
        "bb_width_pct": 0.558
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T09-00-00Z_short_rsi_range_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4345.055,
      "stop": 4348.948,
      "target": 4337.27,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 17.87,
        "bb_width_pct": 0.558
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T09-00-00Z_short_vwap_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4345.055,
      "stop": 4350.109,
      "target": 4334.946,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 17.87,
        "bb_width_pct": 0.558
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T09-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4345.055,
      "stop": 4352.174,
      "target": 4330.817,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.87,
        "bb_width_pct": 0.558
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T09-10-00Z_short_rsi_range_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T09:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4346.105,
      "stop": 4349.627,
      "target": 4339.061,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 12.5,
        "bb_width_pct": 0.547
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T09-10-00Z_short_vwap_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T09:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4346.105,
      "stop": 4351.253,
      "target": 4335.808,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.5,
        "bb_width_pct": 0.547
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T09-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T09:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4346.105,
      "stop": 4353.649,
      "target": 4331.017,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.5,
        "bb_width_pct": 0.547
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T09-15-00Z_short_vwap_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T09:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4342.82,
      "stop": 4346.181,
      "target": 4336.097,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 9.18,
        "bb_width_pct": 0.521
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T09-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T09:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4342.82,
      "stop": 4348.721,
      "target": 4331.017,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.18,
        "bb_width_pct": 0.521
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T09-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T09:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4342.82,
      "stop": 4344.319,
      "target": 4339.822,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.18,
        "bb_width_pct": 0.521
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T09-20-00Z_short_vwap_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T09:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4341.365,
      "stop": 4343.907,
      "target": 4336.281,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.37,
        "bb_width_pct": 0.454
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T09-40-00Z_short_vwap_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T09:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4342.08,
      "stop": 4344.574,
      "target": 4337.093,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.35,
        "bb_width_pct": 0.265
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T09-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T09:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4342.08,
      "stop": 4347.44,
      "target": 4331.36,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.35,
        "bb_width_pct": 0.265
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T09-55-00Z_short_vwap_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T09:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4345.205,
      "stop": 4348.916,
      "target": 4337.783,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 1.83,
        "bb_width_pct": 0.244
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T09-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T09:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4345.205,
      "stop": 4351.77,
      "target": 4332.075,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.83,
        "bb_width_pct": 0.244
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T09-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T09:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4345.205,
      "stop": 4346.636,
      "target": 4342.344,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.83,
        "bb_width_pct": 0.244
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T10-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T10:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4343.93,
      "stop": 4349.734,
      "target": 4332.323,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.05,
        "bb_width_pct": 0.213
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T10-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T10:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4344.405,
      "stop": 4348.815,
      "target": 4335.585,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.72,
        "bb_width_pct": 0.188
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T10-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T10:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4344.34,
      "stop": 4348.351,
      "target": 4336.318,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.63,
        "bb_width_pct": 0.184
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T10-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T10:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4343.09,
      "stop": 4346.476,
      "target": 4336.318,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.13,
        "bb_width_pct": 0.187
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T10-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T10:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4346.755,
      "stop": 4351.48,
      "target": 4337.305,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.7,
        "bb_width_pct": 0.183
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T10-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T10:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4347.46,
      "stop": 4348.82,
      "target": 4344.74,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.73,
        "bb_width_pct": 0.189
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T10-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T10:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4347.46,
      "stop": 4348.91,
      "target": 4344.56,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.73,
        "bb_width_pct": 0.189
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T11-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4344.395,
      "stop": 4347.681,
      "target": 4337.823,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.18,
        "bb_width_pct": 0.189
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T11-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T11:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4340.635,
      "stop": 4338.688,
      "target": 4344.529,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.45,
        "bb_width_pct": 0.182
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T11-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T11:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4341.7,
      "stop": 4340.007,
      "target": 4345.086,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.08,
        "bb_width_pct": 0.195
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T11-10-00Z_long_vwap_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T11:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4341.7,
      "stop": 4339.967,
      "target": 4345.166,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.08,
        "bb_width_pct": 0.195
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T11-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T11:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4341.7,
      "stop": 4340.42,
      "target": 4344.26,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.08,
        "bb_width_pct": 0.195
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T11-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T11:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4340.8,
      "stop": 4338.793,
      "target": 4344.814,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.87,
        "bb_width_pct": 0.211
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T11-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T11:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4340.8,
      "stop": 4339.235,
      "target": 4343.93,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.87,
        "bb_width_pct": 0.211
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T11-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T11:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4340.995,
      "stop": 4339.113,
      "target": 4344.759,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.32,
        "bb_width_pct": 0.218
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T11-20-00Z_long_vwap_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T11:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4340.995,
      "stop": 4339.193,
      "target": 4344.599,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.32,
        "bb_width_pct": 0.218
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T11-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T11:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4340.995,
      "stop": 4339.667,
      "target": 4343.651,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.32,
        "bb_width_pct": 0.218
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T11-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T11:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4340.795,
      "stop": 4339.051,
      "target": 4344.282,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.18,
        "bb_width_pct": 0.223
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T11-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T11:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4340.795,
      "stop": 4339.567,
      "target": 4343.25,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.18,
        "bb_width_pct": 0.223
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T11-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T11:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4338.71,
      "stop": 4336.086,
      "target": 4343.957,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.42,
        "bb_width_pct": 0.248
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T11-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T11:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4338.71,
      "stop": 4336.656,
      "target": 4342.818,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.42,
        "bb_width_pct": 0.248
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T11-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T11:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4339.07,
      "stop": 4336.748,
      "target": 4343.715,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.12,
        "bb_width_pct": 0.267
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T11-40-00Z_long_vwap_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T11:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4339.07,
      "stop": 4336.75,
      "target": 4343.711,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.12,
        "bb_width_pct": 0.267
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T11-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T11:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4339.975,
      "stop": 4338.758,
      "target": 4342.41,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 13.52,
        "bb_width_pct": 0.292
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T12-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T12:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4344.5,
      "stop": 4345.874,
      "target": 4341.753,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.67,
        "bb_width_pct": 0.239
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T12-45-00Z_short_rsi_range_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T12:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4349.125,
      "stop": 4352.525,
      "target": 4342.325,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 16.37,
        "bb_width_pct": 0.297
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T12-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T12:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4349.125,
      "stop": 4352.456,
      "target": 4342.462,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 16.37,
        "bb_width_pct": 0.297
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T12-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T12:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4349.125,
      "stop": 4351.727,
      "target": 4343.921,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.37,
        "bb_width_pct": 0.297
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T12-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T12:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4350.985,
      "stop": 4354.181,
      "target": 4344.593,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.74,
        "bb_width_pct": 0.343
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T13-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4347.35,
      "stop": 4349.125,
      "target": 4343.801,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.36,
        "bb_width_pct": 0.418
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T13-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4347.35,
      "stop": 4348.496,
      "target": 4345.057,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.36,
        "bb_width_pct": 0.418
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T13-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4347.35,
      "stop": 4348.163,
      "target": 4345.723,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.36,
        "bb_width_pct": 0.418
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T13-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T13:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4338.255,
      "stop": 4335.353,
      "target": 4344.059,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.67,
        "bb_width_pct": 0.408
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T13-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T13:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4338.255,
      "stop": 4335.26,
      "target": 4344.246,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.67,
        "bb_width_pct": 0.408
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T13-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T13:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4335.095,
      "stop": 4330.672,
      "target": 4343.94,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.65,
        "bb_width_pct": 0.427
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T13-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4338.1,
      "stop": 4335.227,
      "target": 4343.847,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.76,
        "bb_width_pct": 0.435
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T13-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4338.1,
      "stop": 4335.101,
      "target": 4344.097,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.76,
        "bb_width_pct": 0.435
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T13-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4338.1,
      "stop": 4335.714,
      "target": 4342.872,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.76,
        "bb_width_pct": 0.435
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T13-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T13:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4339.075,
      "stop": 4336.564,
      "target": 4344.097,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.97,
        "bb_width_pct": 0.447
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T14-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4338.745,
      "stop": 4336.462,
      "target": 4343.31,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 20.06,
        "bb_width_pct": 0.535
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T14-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4338.745,
      "stop": 4338.025,
      "target": 4340.185,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.06,
        "bb_width_pct": 0.535
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T14-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T14:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4335.59,
      "stop": 4331.765,
      "target": 4343.24,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.0,
        "bb_width_pct": 0.572
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T14-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T14:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4325.15,
      "stop": 4318.191,
      "target": 4339.067,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.03,
        "bb_width_pct": 0.702
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T14-20-00Z_long_rsi_range_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T14:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4325.15,
      "stop": 4318.191,
      "target": 4339.067,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.03,
        "bb_width_pct": 0.702
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T14-20-00Z_long_vwap_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T14:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4325.15,
      "stop": 4317.396,
      "target": 4340.657,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.03,
        "bb_width_pct": 0.702
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T14-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T14:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4325.15,
      "stop": 4318.355,
      "target": 4338.74,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 18.03,
        "bb_width_pct": 0.702
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T14-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T14:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4324.89,
      "stop": 4320.111,
      "target": 4334.448,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.5,
        "bb_width_pct": 0.737
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T14-35-00Z_long_vwap_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T14:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4324.89,
      "stop": 4317.953,
      "target": 4338.764,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.5,
        "bb_width_pct": 0.737
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T14-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T14:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4324.89,
      "stop": 4320.267,
      "target": 4334.135,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.5,
        "bb_width_pct": 0.737
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T14-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T14:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4324.89,
      "stop": 4321.105,
      "target": 4332.459,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.5,
        "bb_width_pct": 0.737
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T14-45-00Z_long_vwap_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T14:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4325.23,
      "stop": 4318.86,
      "target": 4337.97,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.59,
        "bb_width_pct": 0.695
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T15-05-00Z_long_vwap_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T15:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4324.62,
      "stop": 4318.656,
      "target": 4336.549,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.14,
        "bb_width_pct": 0.645
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T15-10-00Z_long_vwap_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T15:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4324.7,
      "stop": 4318.926,
      "target": 4336.248,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.66,
        "bb_width_pct": 0.624
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T15-15-00Z_long_vwap_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T15:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4325.535,
      "stop": 4320.306,
      "target": 4335.994,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.97,
        "bb_width_pct": 0.595
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T15-25-00Z_long_vwap_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T15:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4326.045,
      "stop": 4321.355,
      "target": 4335.425,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.23,
        "bb_width_pct": 0.516
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T15-30-00Z_long_vwap_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T15:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4326.285,
      "stop": 4321.826,
      "target": 4335.204,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.19,
        "bb_width_pct": 0.465
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T15-40-00Z_long_vwap_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T15:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4326.76,
      "stop": 4322.745,
      "target": 4334.791,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.89,
        "bb_width_pct": 0.356
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T15-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T15:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4335.35,
      "stop": 4338.661,
      "target": 4328.729,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.81,
        "bb_width_pct": 0.401
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T16-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4337.58,
      "stop": 4341.584,
      "target": 4329.572,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.85,
        "bb_width_pct": 0.468
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T16-20-00Z_short_rsi_range_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T16:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4343.385,
      "stop": 4349.734,
      "target": 4330.686,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 22.09,
        "bb_width_pct": 0.756
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T16-20-00Z_short_vwap_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T16:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4343.385,
      "stop": 4347.388,
      "target": 4335.379,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 22.09,
        "bb_width_pct": 0.756
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T16-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T16:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4343.385,
      "stop": 4349.553,
      "target": 4331.05,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 22.09,
        "bb_width_pct": 0.756
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T16-30-00Z_short_rsi_range_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T16:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4340.92,
      "stop": 4345.155,
      "target": 4332.45,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 19.25,
        "bb_width_pct": 0.803
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T16-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T16:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4340.92,
      "stop": 4346.264,
      "target": 4330.233,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 19.25,
        "bb_width_pct": 0.803
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T16-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T16:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4340.92,
      "stop": 4343.389,
      "target": 4335.982,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.25,
        "bb_width_pct": 0.803
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T16-40-00Z_short_rsi_range_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T16:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4344.155,
      "stop": 4348.985,
      "target": 4334.494,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 24.25,
        "bb_width_pct": 0.815
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T16-40-00Z_short_vwap_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T16:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4344.155,
      "stop": 4348.259,
      "target": 4335.947,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 24.25,
        "bb_width_pct": 0.815
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T16-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T16:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4344.155,
      "stop": 4351.116,
      "target": 4330.233,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 24.25,
        "bb_width_pct": 0.815
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T16-45-00Z_short_rsi_range_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4343.78,
      "stop": 4347.944,
      "target": 4335.453,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 23.79,
        "bb_width_pct": 0.807
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T16-45-00Z_short_vwap_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4343.78,
      "stop": 4347.623,
      "target": 4336.094,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 23.79,
        "bb_width_pct": 0.807
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T16-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4343.78,
      "stop": 4350.554,
      "target": 4330.233,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 23.79,
        "bb_width_pct": 0.807
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T16-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4343.78,
      "stop": 4346.631,
      "target": 4338.078,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 23.79,
        "bb_width_pct": 0.807
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T16-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T16:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4341.515,
      "stop": 4347.156,
      "target": 4330.233,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 21.79,
        "bb_width_pct": 0.782
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T16-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T16:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4341.515,
      "stop": 4343.07,
      "target": 4338.406,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.79,
        "bb_width_pct": 0.782
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T16-55-00Z_short_rsi_range_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4340.6,
      "stop": 4342.377,
      "target": 4337.047,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 3.62,
        "bb_width_pct": 0.751
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T16-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4340.6,
      "stop": 4345.784,
      "target": 4330.233,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.62,
        "bb_width_pct": 0.751
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T17-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T17:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4334.84,
      "stop": 4332.305,
      "target": 4339.909,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.74,
        "bb_width_pct": 0.44
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T17-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T17:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4334.84,
      "stop": 4333.9,
      "target": 4336.72,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.74,
        "bb_width_pct": 0.44
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T18-30-00Z_short_rsi_range_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4340.4,
      "stop": 4341.485,
      "target": 4338.23,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 12.75,
        "bb_width_pct": 0.311
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T19-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T19:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4341.95,
      "stop": 4343.369,
      "target": 4339.112,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.79,
        "bb_width_pct": 0.168
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T19-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T19:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4341.095,
      "stop": 4341.93,
      "target": 4339.425,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.62,
        "bb_width_pct": 0.146
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T19-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T19:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4338.955,
      "stop": 4338.621,
      "target": 4339.622,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.65,
        "bb_width_pct": 0.129
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T19-55-00Z_long_vwap_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T19:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4334.105,
      "stop": 4331.994,
      "target": 4338.326,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.47,
        "bb_width_pct": 0.185
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T19-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T19:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4334.105,
      "stop": 4332.113,
      "target": 4338.088,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.47,
        "bb_width_pct": 0.185
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T20-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T20:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4333.435,
      "stop": 4331.547,
      "target": 4337.211,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.84,
        "bb_width_pct": 0.282
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T20-15-00Z_long_rsi_range_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T20:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4333.435,
      "stop": 4331.547,
      "target": 4337.211,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.84,
        "bb_width_pct": 0.282
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T20-15-00Z_long_vwap_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T20:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4333.435,
      "stop": 4331.281,
      "target": 4337.742,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.84,
        "bb_width_pct": 0.282
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T20-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T20:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4333.435,
      "stop": 4332.044,
      "target": 4336.216,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.84,
        "bb_width_pct": 0.282
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T20-20-00Z_long_rsi_range_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T20:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4333.64,
      "stop": 4331.986,
      "target": 4336.948,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.78,
        "bb_width_pct": 0.288
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T20-20-00Z_long_vwap_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T20:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4333.64,
      "stop": 4331.643,
      "target": 4337.635,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.78,
        "bb_width_pct": 0.288
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T20-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T20:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4332.145,
      "stop": 4330.541,
      "target": 4335.352,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.09,
        "bb_width_pct": 0.311
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T20-35-00Z_long_vwap_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T20:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4334.32,
      "stop": 4332.815,
      "target": 4337.33,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.06,
        "bb_width_pct": 0.31
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T20-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T20:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4332.08,
      "stop": 4330.71,
      "target": 4334.821,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.16,
        "bb_width_pct": 0.276
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T20-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T20:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4331.28,
      "stop": 4329.828,
      "target": 4334.184,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.51,
        "bb_width_pct": 0.271
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T22-00-00Z_long_vwap_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T22:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4331.74,
      "stop": 4326.255,
      "target": 4342.71,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.86,
        "bb_width_pct": 0.251
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T22-05-00Z_long_vwap_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T22:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4332.41,
      "stop": 4327.463,
      "target": 4342.304,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.85,
        "bb_width_pct": 0.226
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T22-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T22:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4332.41,
      "stop": 4330.458,
      "target": 4336.315,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.85,
        "bb_width_pct": 0.226
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T22-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T22:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4331.205,
      "stop": 4330.092,
      "target": 4333.431,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.02,
        "bb_width_pct": 0.18
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T22-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T22:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4330.16,
      "stop": 4329.084,
      "target": 4332.313,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.09,
        "bb_width_pct": 0.122
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T22-25-00Z_long_vwap_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T22:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4330.16,
      "stop": 4324.841,
      "target": 4340.798,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.09,
        "bb_width_pct": 0.122
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T22-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T22:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4330.16,
      "stop": 4327.236,
      "target": 4336.007,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.09,
        "bb_width_pct": 0.122
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T22-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T22:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4330.16,
      "stop": 4328.864,
      "target": 4332.753,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.09,
        "bb_width_pct": 0.122
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T22-30-00Z_long_vwap_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T22:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4332.265,
      "stop": 4328.143,
      "target": 4340.508,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.49,
        "bb_width_pct": 0.117
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T22-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T22:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4332.265,
      "stop": 4330.419,
      "target": 4335.958,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 2.49,
        "bb_width_pct": 0.117
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T22-35-00Z_long_vwap_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T22:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4332.62,
      "stop": 4328.803,
      "target": 4340.254,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.53,
        "bb_width_pct": 0.11
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T22-40-00Z_long_vwap_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T22:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4332.645,
      "stop": 4328.956,
      "target": 4340.022,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.54,
        "bb_width_pct": 0.11
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T22-45-00Z_long_vwap_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T22:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4333.43,
      "stop": 4330.229,
      "target": 4339.831,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.02,
        "bb_width_pct": 0.113
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T22-50-00Z_long_vwap_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T22:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4334.325,
      "stop": 4331.659,
      "target": 4339.658,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.42,
        "bb_width_pct": 0.119
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T22-55-00Z_long_vwap_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T22:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4335.45,
      "stop": 4333.41,
      "target": 4339.53,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.69,
        "bb_width_pct": 0.133
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T23-05-00Z_long_vwap_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4336.08,
      "stop": 4334.47,
      "target": 4339.299,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.72,
        "bb_width_pct": 0.154
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T23-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4336.795,
      "stop": 4338.265,
      "target": 4333.855,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.6,
        "bb_width_pct": 0.175
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T23-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4336.01,
      "stop": 4337.526,
      "target": 4332.978,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.6,
        "bb_width_pct": 0.184
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T23-20-00Z_long_vwap_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T23:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4336.225,
      "stop": 4334.791,
      "target": 4339.094,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.96,
        "bb_width_pct": 0.195
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T23-30-00Z_short_rsi_range_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4335.325,
      "stop": 4336.233,
      "target": 4333.508,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 18.44,
        "bb_width_pct": 0.202
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T23-40-00Z_long_vwap_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4334.73,
      "stop": 4332.726,
      "target": 4338.738,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.75,
        "bb_width_pct": 0.194
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T23-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T23:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4332.565,
      "stop": 4331.738,
      "target": 4334.219,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.95,
        "bb_width_pct": 0.191
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T23-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T23:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4331.025,
      "stop": 4329.618,
      "target": 4333.838,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.91,
        "bb_width_pct": 0.192
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-16T23-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T23:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4331.025,
      "stop": 4329.58,
      "target": 4333.915,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.91,
        "bb_width_pct": 0.192
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T00-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T00:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4338.195,
      "stop": 4340.104,
      "target": 4334.377,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.88,
        "bb_width_pct": 0.162
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T00-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T00:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4337.765,
      "stop": 4339.256,
      "target": 4334.783,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.29,
        "bb_width_pct": 0.167
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T00-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T00:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4337.765,
      "stop": 4339.671,
      "target": 4333.952,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.29,
        "bb_width_pct": 0.167
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T00-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T00:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4337.765,
      "stop": 4339.298,
      "target": 4334.7,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.29,
        "bb_width_pct": 0.167
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T00-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T00:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4338.255,
      "stop": 4339.676,
      "target": 4335.413,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.59,
        "bb_width_pct": 0.189
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T00-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T00:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4338.255,
      "stop": 4339.783,
      "target": 4335.2,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.59,
        "bb_width_pct": 0.189
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T00-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T00:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4338.255,
      "stop": 4339.652,
      "target": 4335.46,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.59,
        "bb_width_pct": 0.189
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T01-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4341.805,
      "stop": 4344.547,
      "target": 4336.321,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.29,
        "bb_width_pct": 0.231
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T01-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T01:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4342.43,
      "stop": 4344.824,
      "target": 4337.641,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.91,
        "bb_width_pct": 0.404
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T01-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T01:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4342.43,
      "stop": 4344.09,
      "target": 4339.11,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.91,
        "bb_width_pct": 0.404
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T01-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T01:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4342.43,
      "stop": 4344.254,
      "target": 4338.782,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.91,
        "bb_width_pct": 0.404
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T02-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4334.64,
      "stop": 4332.141,
      "target": 4339.638,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.35,
        "bb_width_pct": 0.231
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T02-55-00Z_long_vwap_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T02:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4331.73,
      "stop": 4327.995,
      "target": 4339.199,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.73,
        "bb_width_pct": 0.306
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T02-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T02:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4331.73,
      "stop": 4328.04,
      "target": 4339.11,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.73,
        "bb_width_pct": 0.306
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T03-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4331.835,
      "stop": 4328.335,
      "target": 4338.835,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.86,
        "bb_width_pct": 0.339
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T03-00-00Z_long_rsi_range_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4331.835,
      "stop": 4328.335,
      "target": 4338.835,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.86,
        "bb_width_pct": 0.339
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T03-00-00Z_long_vwap_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4331.835,
      "stop": 4328.245,
      "target": 4339.015,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.86,
        "bb_width_pct": 0.339
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T03-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4331.835,
      "stop": 4328.198,
      "target": 4339.11,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 16.86,
        "bb_width_pct": 0.339
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T03-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4331.835,
      "stop": 4329.013,
      "target": 4337.479,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.86,
        "bb_width_pct": 0.339
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T03-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T03:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4332.62,
      "stop": 4329.782,
      "target": 4338.297,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.36,
        "bb_width_pct": 0.346
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T03-05-00Z_long_rsi_range_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T03:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4332.62,
      "stop": 4329.782,
      "target": 4338.297,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.36,
        "bb_width_pct": 0.346
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T03-05-00Z_long_vwap_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T03:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4332.62,
      "stop": 4329.508,
      "target": 4338.843,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.36,
        "bb_width_pct": 0.346
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T03-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T03:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4332.62,
      "stop": 4329.375,
      "target": 4339.11,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.36,
        "bb_width_pct": 0.346
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T03-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T03:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4332.62,
      "stop": 4330.422,
      "target": 4337.016,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.36,
        "bb_width_pct": 0.346
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T03-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T03:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4330.87,
      "stop": 4327.363,
      "target": 4337.883,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.06,
        "bb_width_pct": 0.376
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T03-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T03:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4330.87,
      "stop": 4328.089,
      "target": 4336.431,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.06,
        "bb_width_pct": 0.376
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T03-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4331.435,
      "stop": 4328.436,
      "target": 4337.433,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.56,
        "bb_width_pct": 0.393
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T03-15-00Z_long_rsi_range_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4331.435,
      "stop": 4328.436,
      "target": 4337.433,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.56,
        "bb_width_pct": 0.393
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T03-15-00Z_long_vwap_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4331.435,
      "stop": 4327.928,
      "target": 4338.449,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.56,
        "bb_width_pct": 0.393
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T03-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4331.435,
      "stop": 4327.598,
      "target": 4339.11,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 19.56,
        "bb_width_pct": 0.393
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T03-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4331.435,
      "stop": 4329.175,
      "target": 4335.955,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.56,
        "bb_width_pct": 0.393
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T03-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T03:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4330.455,
      "stop": 4327.967,
      "target": 4335.431,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.56,
        "bb_width_pct": 0.415
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T03-25-00Z_long_rsi_range_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4331.79,
      "stop": 4329.334,
      "target": 4336.701,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.13,
        "bb_width_pct": 0.428
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T03-25-00Z_long_vwap_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4331.79,
      "stop": 4328.638,
      "target": 4338.093,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.13,
        "bb_width_pct": 0.428
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T03-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4331.79,
      "stop": 4328.086,
      "target": 4339.198,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 17.13,
        "bb_width_pct": 0.428
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T03-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4331.79,
      "stop": 4330.143,
      "target": 4335.085,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.13,
        "bb_width_pct": 0.428
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T03-30-00Z_long_rsi_range_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4332.735,
      "stop": 4330.926,
      "target": 4336.353,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.68,
        "bb_width_pct": 0.43
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T03-30-00Z_long_vwap_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4332.735,
      "stop": 4330.122,
      "target": 4337.962,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.68,
        "bb_width_pct": 0.43
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T03-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4332.735,
      "stop": 4329.504,
      "target": 4339.198,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.68,
        "bb_width_pct": 0.43
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T03-40-00Z_long_vwap_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T03:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4333.335,
      "stop": 4331.155,
      "target": 4337.695,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.25,
        "bb_width_pct": 0.422
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T03-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T03:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4333.335,
      "stop": 4330.404,
      "target": 4339.198,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.25,
        "bb_width_pct": 0.422
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T03-50-00Z_long_vwap_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T03:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4332.95,
      "stop": 4330.678,
      "target": 4337.493,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.52,
        "bb_width_pct": 0.375
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T03-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T03:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4332.95,
      "stop": 4329.826,
      "target": 4339.198,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 3.52,
        "bb_width_pct": 0.375
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T04-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T04:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4330.185,
      "stop": 4328.491,
      "target": 4333.572,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.83,
        "bb_width_pct": 0.312
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T04-05-00Z_long_vwap_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4331.075,
      "stop": 4328.059,
      "target": 4337.106,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.97,
        "bb_width_pct": 0.276
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T04-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4331.075,
      "stop": 4327.046,
      "target": 4339.132,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.97,
        "bb_width_pct": 0.276
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T04-15-00Z_long_vwap_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T04:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4331.985,
      "stop": 4329.531,
      "target": 4336.894,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.93,
        "bb_width_pct": 0.179
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T04-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T04:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4331.985,
      "stop": 4328.411,
      "target": 4339.132,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 2.93,
        "bb_width_pct": 0.179
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T04-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4329.585,
      "stop": 4328.521,
      "target": 4331.714,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.73,
        "bb_width_pct": 0.114
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T04-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4329.585,
      "stop": 4328.041,
      "target": 4332.672,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.73,
        "bb_width_pct": 0.114
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T04-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4323.81,
      "stop": 4320.612,
      "target": 4330.206,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.45,
        "bb_width_pct": 0.343
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T04-35-00Z_long_vwap_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4323.81,
      "stop": 4317.703,
      "target": 4336.023,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.45,
        "bb_width_pct": 0.343
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T04-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4323.81,
      "stop": 4320.163,
      "target": 4331.105,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 17.45,
        "bb_width_pct": 0.343
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T04-45-00Z_long_vwap_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4323.48,
      "stop": 4317.428,
      "target": 4335.584,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.3,
        "bb_width_pct": 0.383
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T04-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4323.48,
      "stop": 4320.844,
      "target": 4328.753,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.3,
        "bb_width_pct": 0.383
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T04-50-00Z_long_vwap_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T04:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4325.42,
      "stop": 4320.432,
      "target": 4335.395,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.71,
        "bb_width_pct": 0.389
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T04-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T04:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4325.42,
      "stop": 4323.912,
      "target": 4328.435,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.71,
        "bb_width_pct": 0.389
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T04-55-00Z_long_vwap_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T04:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4326.845,
      "stop": 4322.649,
      "target": 4335.237,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.5,
        "bb_width_pct": 0.388
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T05-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4322.675,
      "stop": 4320.384,
      "target": 4327.256,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.74,
        "bb_width_pct": 0.395
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T05-15-00Z_long_vwap_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4326.04,
      "stop": 4321.763,
      "target": 4334.594,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.42,
        "bb_width_pct": 0.392
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T05-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4326.04,
      "stop": 4323.507,
      "target": 4331.105,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.42,
        "bb_width_pct": 0.392
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T05-25-00Z_long_vwap_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4327.16,
      "stop": 4323.575,
      "target": 4334.33,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.26,
        "bb_width_pct": 0.354
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T05-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T05:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4331.84,
      "stop": 4334.528,
      "target": 4326.464,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.47,
        "bb_width_pct": 0.32
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T05-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T05:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4331.84,
      "stop": 4333.77,
      "target": 4327.98,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.47,
        "bb_width_pct": 0.32
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T06-00-00Z_long_vwap_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4328.03,
      "stop": 4325.125,
      "target": 4333.84,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.2,
        "bb_width_pct": 0.286
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T06-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T06:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4324.31,
      "stop": 4323.041,
      "target": 4326.849,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.9,
        "bb_width_pct": 0.226
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T06-20-00Z_long_vwap_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T06:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4324.31,
      "stop": 4319.734,
      "target": 4333.462,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.9,
        "bb_width_pct": 0.226
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T06-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T06:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4324.31,
      "stop": 4322.767,
      "target": 4327.396,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.9,
        "bb_width_pct": 0.226
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T06-25-00Z_long_vwap_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T06:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4324.445,
      "stop": 4319.993,
      "target": 4333.35,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.67,
        "bb_width_pct": 0.22
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T06-30-00Z_long_vwap_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4326.065,
      "stop": 4322.475,
      "target": 4333.245,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.84,
        "bb_width_pct": 0.219
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T06-35-00Z_long_vwap_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4326.11,
      "stop": 4322.59,
      "target": 4333.15,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.27,
        "bb_width_pct": 0.219
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T06-40-00Z_long_vwap_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T06:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4327.88,
      "stop": 4325.28,
      "target": 4333.081,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.17,
        "bb_width_pct": 0.219
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T07-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T07:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4330.53,
      "stop": 4331.725,
      "target": 4328.14,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.11,
        "bb_width_pct": 0.211
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T07-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T07:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4330.53,
      "stop": 4332.807,
      "target": 4325.975,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.11,
        "bb_width_pct": 0.211
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T07-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T07:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4327.255,
      "stop": 4327.895,
      "target": 4325.975,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.86,
        "bb_width_pct": 0.215
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T07-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T07:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4328.965,
      "stop": 4330.46,
      "target": 4325.975,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.56,
        "bb_width_pct": 0.209
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T08-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T08:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4322.935,
      "stop": 4320.533,
      "target": 4327.74,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.89,
        "bb_width_pct": 0.229
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T08-15-00Z_long_vwap_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T08:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4322.935,
      "stop": 4320.58,
      "target": 4327.645,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.89,
        "bb_width_pct": 0.229
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T08-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T08:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4322.935,
      "stop": 4320.688,
      "target": 4327.43,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.89,
        "bb_width_pct": 0.229
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T08-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T08:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4322.935,
      "stop": 4321.055,
      "target": 4326.694,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.89,
        "bb_width_pct": 0.229
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T08-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T08:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4323.965,
      "stop": 4322.175,
      "target": 4327.544,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.52,
        "bb_width_pct": 0.241
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T08-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T08:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4323.965,
      "stop": 4322.423,
      "target": 4327.05,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.52,
        "bb_width_pct": 0.241
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T08-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4323.84,
      "stop": 4322.274,
      "target": 4326.972,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.64,
        "bb_width_pct": 0.255
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T08-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4323.84,
      "stop": 4322.235,
      "target": 4327.05,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.64,
        "bb_width_pct": 0.255
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T08-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4323.84,
      "stop": 4322.789,
      "target": 4325.943,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.64,
        "bb_width_pct": 0.255
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T08-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T08:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4320.045,
      "stop": 4317.135,
      "target": 4325.865,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.5,
        "bb_width_pct": 0.282
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T08-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T08:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4320.045,
      "stop": 4317.626,
      "target": 4324.883,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.5,
        "bb_width_pct": 0.282
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T08-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T08:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4319.395,
      "stop": 4316.443,
      "target": 4325.3,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.75,
        "bb_width_pct": 0.291
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T08-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T08:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4319.395,
      "stop": 4316.912,
      "target": 4324.36,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.75,
        "bb_width_pct": 0.291
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T08-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T08:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4324.62,
      "stop": 4324.346,
      "target": 4325.168,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.76,
        "bb_width_pct": 0.288
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T08-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T08:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4324.62,
      "stop": 4324.061,
      "target": 4325.737,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 3.76,
        "bb_width_pct": 0.288
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T09-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4329.54,
      "stop": 4332.036,
      "target": 4324.549,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.73,
        "bb_width_pct": 0.281
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T09-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4329.54,
      "stop": 4331.664,
      "target": 4325.292,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.73,
        "bb_width_pct": 0.281
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T09-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4329.54,
      "stop": 4331.401,
      "target": 4325.818,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.73,
        "bb_width_pct": 0.281
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T09-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4329.03,
      "stop": 4331.177,
      "target": 4324.736,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.4,
        "bb_width_pct": 0.295
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T10-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T10:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4332.66,
      "stop": 4334.653,
      "target": 4328.674,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.59,
        "bb_width_pct": 0.166
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T10-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T10:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4331.24,
      "stop": 4332.267,
      "target": 4329.187,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.31,
        "bb_width_pct": 0.153
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T10-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T10:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4331.24,
      "stop": 4333.61,
      "target": 4326.5,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.31,
        "bb_width_pct": 0.153
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T10-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T10:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4331.24,
      "stop": 4332.401,
      "target": 4328.919,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.31,
        "bb_width_pct": 0.153
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T10-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T10:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4331.49,
      "stop": 4332.523,
      "target": 4329.424,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.21,
        "bb_width_pct": 0.15
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T11-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T11:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4326.745,
      "stop": 4325.483,
      "target": 4329.269,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.09,
        "bb_width_pct": 0.149
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T11-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T11:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4325.925,
      "stop": 4324.323,
      "target": 4329.129,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.2,
        "bb_width_pct": 0.163
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T11-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T11:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4325.27,
      "stop": 4323.449,
      "target": 4328.912,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.77,
        "bb_width_pct": 0.18
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T11-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T11:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4326.485,
      "stop": 4325.379,
      "target": 4328.697,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.25,
        "bb_width_pct": 0.182
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T11-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T11:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4323.285,
      "stop": 4321.186,
      "target": 4327.483,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.76,
        "bb_width_pct": 0.212
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T12-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T12:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4323.01,
      "stop": 4320.6,
      "target": 4327.83,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.21,
        "bb_width_pct": 0.268
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T12-05-00Z_long_rsi_range_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T12:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4323.01,
      "stop": 4320.6,
      "target": 4327.83,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.21,
        "bb_width_pct": 0.268
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T12-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T12:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4323.01,
      "stop": 4320.949,
      "target": 4327.132,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.21,
        "bb_width_pct": 0.268
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T12-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T12:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4323.01,
      "stop": 4321.222,
      "target": 4326.587,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.21,
        "bb_width_pct": 0.268
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T12-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T12:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4323.545,
      "stop": 4321.504,
      "target": 4327.627,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.91,
        "bb_width_pct": 0.282
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T12-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T12:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4323.545,
      "stop": 4321.265,
      "target": 4328.105,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.91,
        "bb_width_pct": 0.282
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T12-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T12:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4323.545,
      "stop": 4322.169,
      "target": 4326.297,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.91,
        "bb_width_pct": 0.282
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T12-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T12:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4323.85,
      "stop": 4321.838,
      "target": 4327.875,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.0,
        "bb_width_pct": 0.288
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T12-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T12:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4330.515,
      "stop": 4332.488,
      "target": 4326.568,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.7,
        "bb_width_pct": 0.234
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T12-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T12:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4333.65,
      "stop": 4336.588,
      "target": 4327.775,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.93,
        "bb_width_pct": 0.288
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T12-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T12:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4332.525,
      "stop": 4335.208,
      "target": 4327.159,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.98,
        "bb_width_pct": 0.306
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T12-50-00Z_short_vwap_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T12:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4332.525,
      "stop": 4335.204,
      "target": 4327.167,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.98,
        "bb_width_pct": 0.306
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T12-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T12:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4332.525,
      "stop": 4334.996,
      "target": 4327.583,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.98,
        "bb_width_pct": 0.306
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T12-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T12:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4332.525,
      "stop": 4334.674,
      "target": 4328.227,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.98,
        "bb_width_pct": 0.306
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T12-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T12:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4333.68,
      "stop": 4336.856,
      "target": 4327.327,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.93,
        "bb_width_pct": 0.328
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T12-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T12:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4333.68,
      "stop": 4336.147,
      "target": 4328.747,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.93,
        "bb_width_pct": 0.328
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T13-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4329.59,
      "stop": 4330.453,
      "target": 4327.865,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.68,
        "bb_width_pct": 0.329
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T13-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T13:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4336.31,
      "stop": 4340.281,
      "target": 4328.367,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.42,
        "bb_width_pct": 0.386
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T13-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T13:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4336.31,
      "stop": 4339.482,
      "target": 4329.967,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.42,
        "bb_width_pct": 0.386
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T13-25-00Z_short_vwap_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T13:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4335.375,
      "stop": 4338.479,
      "target": 4329.166,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.22,
        "bb_width_pct": 0.404
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T13-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T13:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4335.375,
      "stop": 4338.455,
      "target": 4329.215,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.22,
        "bb_width_pct": 0.404
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T13-30-00Z_short_vwap_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4335.07,
      "stop": 4337.866,
      "target": 4329.477,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 16.04,
        "bb_width_pct": 0.419
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T13-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4335.07,
      "stop": 4337.997,
      "target": 4329.215,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 16.04,
        "bb_width_pct": 0.419
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T13-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4337.75,
      "stop": 4341.613,
      "target": 4330.025,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.92,
        "bb_width_pct": 0.432
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T13-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4337.75,
      "stop": 4340.84,
      "target": 4331.569,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.92,
        "bb_width_pct": 0.432
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T13-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4341.865,
      "stop": 4346.819,
      "target": 4331.958,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.34,
        "bb_width_pct": 0.474
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T13-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T13:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4340.465,
      "stop": 4344.296,
      "target": 4332.804,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.81,
        "bb_width_pct": 0.469
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T13-50-00Z_short_vwap_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T13:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4340.465,
      "stop": 4345.005,
      "target": 4331.386,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 9.81,
        "bb_width_pct": 0.469
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T13-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T13:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4340.465,
      "stop": 4344.578,
      "target": 4332.24,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.81,
        "bb_width_pct": 0.469
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T13-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T13:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4340.465,
      "stop": 4343.646,
      "target": 4334.103,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.81,
        "bb_width_pct": 0.469
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T13-55-00Z_short_vwap_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T13:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4339.705,
      "stop": 4343.675,
      "target": 4331.766,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.39,
        "bb_width_pct": 0.448
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T13-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T13:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4339.705,
      "stop": 4343.255,
      "target": 4332.605,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.39,
        "bb_width_pct": 0.448
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T13-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T13:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4339.705,
      "stop": 4342.239,
      "target": 4334.637,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.39,
        "bb_width_pct": 0.448
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T14-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T14:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4342.685,
      "stop": 4346.432,
      "target": 4335.191,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.55,
        "bb_width_pct": 0.427
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T14-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T14:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4342.685,
      "stop": 4346.064,
      "target": 4335.927,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.55,
        "bb_width_pct": 0.427
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T14-10-00Z_short_rsi_range_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T14:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4342.365,
      "stop": 4345.616,
      "target": 4335.863,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 20.34,
        "bb_width_pct": 0.428
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T14-10-00Z_short_vwap_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T14:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4342.365,
      "stop": 4347.124,
      "target": 4332.847,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 20.34,
        "bb_width_pct": 0.428
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T14-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T14:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4342.365,
      "stop": 4346.987,
      "target": 4333.12,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 20.34,
        "bb_width_pct": 0.428
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T14-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T14:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4342.365,
      "stop": 4345.277,
      "target": 4336.54,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.34,
        "bb_width_pct": 0.428
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T14-15-00Z_short_rsi_range_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T14:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4341.675,
      "stop": 4344.302,
      "target": 4336.421,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 14.19,
        "bb_width_pct": 0.427
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T14-15-00Z_short_vwap_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T14:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4341.675,
      "stop": 4345.924,
      "target": 4333.177,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.19,
        "bb_width_pct": 0.427
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T14-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T14:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4341.675,
      "stop": 4345.953,
      "target": 4333.12,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.19,
        "bb_width_pct": 0.427
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T14-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T14:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4352.255,
      "stop": 4357.674,
      "target": 4341.417,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.67,
        "bb_width_pct": 0.865
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T14-35-00Z_short_rsi_range_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T14:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4352.255,
      "stop": 4357.674,
      "target": 4341.417,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 18.67,
        "bb_width_pct": 0.865
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T14-35-00Z_short_vwap_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T14:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4352.255,
      "stop": 4360.3,
      "target": 4336.165,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 18.67,
        "bb_width_pct": 0.865
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T14-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T14:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4352.255,
      "stop": 4357.375,
      "target": 4342.015,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.67,
        "bb_width_pct": 0.865
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T14-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T14:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4352.255,
      "stop": 4356.469,
      "target": 4343.827,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.67,
        "bb_width_pct": 0.865
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T14-40-00Z_short_rsi_range_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T14:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4351.965,
      "stop": 4356.679,
      "target": 4342.536,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 15.23,
        "bb_width_pct": 0.851
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T14-40-00Z_short_vwap_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T14:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4351.965,
      "stop": 4359.64,
      "target": 4336.614,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.23,
        "bb_width_pct": 0.851
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T15-25-00Z_short_vwap_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T15:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4355.45,
      "stop": 4363.528,
      "target": 4339.294,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.29,
        "bb_width_pct": 0.636
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T15-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T15:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4355.45,
      "stop": 4362.167,
      "target": 4342.015,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.29,
        "bb_width_pct": 0.636
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T15-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T15:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4358.905,
      "stop": 4363.763,
      "target": 4349.189,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.28,
        "bb_width_pct": 0.64
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T15-40-00Z_short_vwap_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T15:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4358.235,
      "stop": 4367.072,
      "target": 4340.562,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.89,
        "bb_width_pct": 0.612
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T15-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T15:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4358.235,
      "stop": 4365.445,
      "target": 4343.815,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.89,
        "bb_width_pct": 0.612
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T16-00-00Z_short_rsi_range_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4363.085,
      "stop": 4367.319,
      "target": 4354.618,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 27.51,
        "bb_width_pct": 0.574
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T16-00-00Z_short_vwap_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4363.085,
      "stop": 4373.51,
      "target": 4342.235,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 27.51,
        "bb_width_pct": 0.574
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T16-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4363.085,
      "stop": 4372.371,
      "target": 4344.513,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 27.51,
        "bb_width_pct": 0.574
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T16-05-00Z_short_rsi_range_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T16:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4362.695,
      "stop": 4366.672,
      "target": 4354.74,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 24.53,
        "bb_width_pct": 0.586
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T16-05-00Z_short_vwap_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T16:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4362.695,
      "stop": 4372.717,
      "target": 4342.65,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 24.53,
        "bb_width_pct": 0.586
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T16-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T16:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4362.695,
      "stop": 4371.58,
      "target": 4344.925,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 24.53,
        "bb_width_pct": 0.586
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T16-10-00Z_short_rsi_range_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T16:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4362.26,
      "stop": 4365.982,
      "target": 4354.816,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 27.89,
        "bb_width_pct": 0.594
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T16-10-00Z_short_vwap_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T16:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4362.26,
      "stop": 4371.875,
      "target": 4343.029,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 27.89,
        "bb_width_pct": 0.594
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T16-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T16:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4362.26,
      "stop": 4370.927,
      "target": 4344.925,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 27.89,
        "bb_width_pct": 0.594
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T16-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T16:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4362.26,
      "stop": 4365.463,
      "target": 4355.854,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 27.89,
        "bb_width_pct": 0.594
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T16-20-00Z_short_rsi_range_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T16:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4365.205,
      "stop": 4369.738,
      "target": 4356.139,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 18.77,
        "bb_width_pct": 0.652
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T16-20-00Z_short_vwap_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T16:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4365.205,
      "stop": 4375.888,
      "target": 4343.839,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 18.77,
        "bb_width_pct": 0.652
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T16-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T16:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4365.205,
      "stop": 4375.345,
      "target": 4344.925,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.77,
        "bb_width_pct": 0.652
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T16-30-00Z_short_vwap_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T16:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4361.76,
      "stop": 4370.356,
      "target": 4344.568,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.96,
        "bb_width_pct": 0.607
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T16-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T16:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4361.76,
      "stop": 4368.264,
      "target": 4348.753,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.96,
        "bb_width_pct": 0.607
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T16-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T16:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4361.76,
      "stop": 4363.323,
      "target": 4358.635,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.96,
        "bb_width_pct": 0.607
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T16-35-00Z_short_vwap_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4359.545,
      "stop": 4366.893,
      "target": 4344.849,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 1.28,
        "bb_width_pct": 0.54
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T16-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4359.545,
      "stop": 4364.941,
      "target": 4348.753,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.28,
        "bb_width_pct": 0.54
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T16-40-00Z_short_vwap_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T16:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4357.68,
      "stop": 4363.984,
      "target": 4345.072,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.26,
        "bb_width_pct": 0.482
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T16-45-00Z_short_vwap_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4356.675,
      "stop": 4362.373,
      "target": 4345.279,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.32,
        "bb_width_pct": 0.382
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T17-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T17:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4362.19,
      "stop": 4368.909,
      "target": 4348.753,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.83,
        "bb_width_pct": 0.259
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T17-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T17:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4361.35,
      "stop": 4367.649,
      "target": 4348.753,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.25,
        "bb_width_pct": 0.256
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T17-35-00Z_short_vwap_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T17:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4374.415,
      "stop": 4379.884,
      "target": 4363.478,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 17.75,
        "bb_width_pct": 0.486
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T17-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T17:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4374.415,
      "stop": 4383.269,
      "target": 4356.708,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.75,
        "bb_width_pct": 0.486
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T17-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T17:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4376.24,
      "stop": 4382.461,
      "target": 4363.797,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 24.15,
        "bb_width_pct": 0.619
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T17-45-00Z_short_rsi_range_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T17:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4376.24,
      "stop": 4382.461,
      "target": 4363.797,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 24.15,
        "bb_width_pct": 0.619
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T17-45-00Z_short_vwap_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T17:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4376.24,
      "stop": 4381.267,
      "target": 4366.187,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 24.15,
        "bb_width_pct": 0.619
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T17-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T17:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4376.24,
      "stop": 4386.006,
      "target": 4356.708,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 24.15,
        "bb_width_pct": 0.619
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T17-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T17:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4378.075,
      "stop": 4384.819,
      "target": 4364.588,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 26.91,
        "bb_width_pct": 0.68
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T17-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T17:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4379.55,
      "stop": 4386.679,
      "target": 4365.292,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 27.15,
        "bb_width_pct": 0.743
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T22-15-00Z_long_vwap_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T22:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4268.455,
      "stop": 4242.949,
      "target": 4319.468,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.52,
        "bb_width_pct": 1.054
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T22-20-00Z_long_vwap_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T22:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4269.14,
      "stop": 4244.837,
      "target": 4317.747,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.23,
        "bb_width_pct": 0.951
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T22-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T22:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4269.14,
      "stop": 4272.444,
      "target": 4262.533,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.23,
        "bb_width_pct": 0.951
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T22-35-00Z_long_vwap_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T22:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4266.94,
      "stop": 4243.924,
      "target": 4312.972,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.39,
        "bb_width_pct": 0.614
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T22-45-00Z_long_vwap_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T22:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4264.25,
      "stop": 4241.322,
      "target": 4310.107,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.66,
        "bb_width_pct": 0.379
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T22-50-00Z_long_vwap_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T22:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4267.855,
      "stop": 4247.348,
      "target": 4308.869,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.53,
        "bb_width_pct": 0.374
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T23-05-00Z_long_vwap_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4273.84,
      "stop": 4257.929,
      "target": 4305.661,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.03,
        "bb_width_pct": 0.401
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T23-10-00Z_long_vwap_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4282.165,
      "stop": 4270.754,
      "target": 4304.988,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.59,
        "bb_width_pct": 0.528
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T23-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4276.835,
      "stop": 4282.143,
      "target": 4266.219,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.32,
        "bb_width_pct": 0.574
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T23-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T23:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4278.385,
      "stop": 4284.009,
      "target": 4267.137,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.14,
        "bb_width_pct": 0.609
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T23-20-00Z_long_vwap_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T23:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4278.385,
      "stop": 4265.715,
      "target": 4303.725,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.14,
        "bb_width_pct": 0.609
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T23-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T23:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4280.185,
      "stop": 4286.17,
      "target": 4268.214,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.35,
        "bb_width_pct": 0.635
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T23-25-00Z_long_vwap_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T23:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4280.185,
      "stop": 4268.691,
      "target": 4303.174,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.35,
        "bb_width_pct": 0.635
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T23-30-00Z_long_vwap_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4280.735,
      "stop": 4269.78,
      "target": 4302.645,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.27,
        "bb_width_pct": 0.644
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T23-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4274.695,
      "stop": 4286.279,
      "target": 4251.528,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.06,
        "bb_width_pct": 0.601
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T23-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4274.695,
      "stop": 4276.374,
      "target": 4271.338,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.06,
        "bb_width_pct": 0.601
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T23-40-00Z_long_vwap_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4276.53,
      "stop": 4264.081,
      "target": 4301.427,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.31,
        "bb_width_pct": 0.557
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T23-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4273.62,
      "stop": 4284.666,
      "target": 4251.528,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.0,
        "bb_width_pct": 0.552
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T23-50-00Z_long_vwap_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T23:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4275.99,
      "stop": 4263.827,
      "target": 4300.315,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.28,
        "bb_width_pct": 0.546
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-17T23-55-00Z_long_vwap_mean_reversion",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T23:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4278.08,
      "stop": 4267.209,
      "target": 4299.823,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.57,
        "bb_width_pct": 0.555
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T00-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T00:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4296.45,
      "stop": 4305.703,
      "target": 4277.943,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.16,
        "bb_width_pct": 0.94
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T00-15-00Z_short_rsi_range_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T00:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4296.45,
      "stop": 4305.703,
      "target": 4277.943,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 14.16,
        "bb_width_pct": 0.94
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T00-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T00:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4296.45,
      "stop": 4311.041,
      "target": 4267.267,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.16,
        "bb_width_pct": 0.94
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T00-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T00:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4296.525,
      "stop": 4305.003,
      "target": 4279.568,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.13,
        "bb_width_pct": 0.962
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T00-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T00:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4305.58,
      "stop": 4315.742,
      "target": 4285.257,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 24.75,
        "bb_width_pct": 1.104
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T00-35-00Z_short_rsi_range_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T00:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4305.58,
      "stop": 4315.742,
      "target": 4285.257,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 24.75,
        "bb_width_pct": 1.104
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T00-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T00:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4305.58,
      "stop": 4317.073,
      "target": 4282.595,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 24.75,
        "bb_width_pct": 1.104
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T01-30-00Z_short_rsi_range_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4318.15,
      "stop": 4323.347,
      "target": 4307.755,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 16.37,
        "bb_width_pct": 1.121
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T01-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4318.15,
      "stop": 4329.965,
      "target": 4294.52,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 16.37,
        "bb_width_pct": 1.121
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T01-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4318.15,
      "stop": 4323.32,
      "target": 4307.81,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.37,
        "bb_width_pct": 1.121
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T01-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T01:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4320.22,
      "stop": 4325.834,
      "target": 4308.992,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.84,
        "bb_width_pct": 0.951
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T01-45-00Z_short_vwap_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T01:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4321.32,
      "stop": 4326.641,
      "target": 4310.677,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.11,
        "bb_width_pct": 0.841
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T01-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T01:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4321.32,
      "stop": 4334.72,
      "target": 4294.52,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.11,
        "bb_width_pct": 0.841
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T01-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T01:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4321.32,
      "stop": 4326.309,
      "target": 4311.343,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.11,
        "bb_width_pct": 0.841
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T01-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T01:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4318.63,
      "stop": 4330.685,
      "target": 4294.52,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.54,
        "bb_width_pct": 0.782
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T01-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T01:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4318.045,
      "stop": 4329.807,
      "target": 4294.52,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.7,
        "bb_width_pct": 0.692
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T02-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T02:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4325.17,
      "stop": 4330.444,
      "target": 4314.621,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.84,
        "bb_width_pct": 0.508
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T02-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T02:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4327.09,
      "stop": 4331.415,
      "target": 4318.44,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.97,
        "bb_width_pct": 0.49
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T02-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T02:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4326.54,
      "stop": 4330.066,
      "target": 4319.488,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.57,
        "bb_width_pct": 0.434
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T02-15-00Z_short_vwap_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T02:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4326.54,
      "stop": 4333.179,
      "target": 4313.261,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.57,
        "bb_width_pct": 0.434
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T02-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T02:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4326.54,
      "stop": 4341.282,
      "target": 4297.055,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.57,
        "bb_width_pct": 0.434
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T02-20-00Z_short_vwap_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T02:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4325.64,
      "stop": 4331.614,
      "target": 4313.693,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.74,
        "bb_width_pct": 0.41
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T02-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T02:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4325.64,
      "stop": 4339.84,
      "target": 4297.24,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.74,
        "bb_width_pct": 0.41
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T02-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T02:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4325.64,
      "stop": 4329.625,
      "target": 4317.67,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.74,
        "bb_width_pct": 0.41
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T02-25-00Z_short_vwap_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T02:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4324.43,
      "stop": 4329.616,
      "target": 4314.058,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.51,
        "bb_width_pct": 0.396
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T02-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T02:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4324.43,
      "stop": 4337.155,
      "target": 4298.98,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.51,
        "bb_width_pct": 0.396
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T02-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T02:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4324.43,
      "stop": 4327.488,
      "target": 4318.314,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.51,
        "bb_width_pct": 0.396
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T02-30-00Z_short_vwap_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4323.305,
      "stop": 4327.781,
      "target": 4314.354,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.06,
        "bb_width_pct": 0.376
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T02-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4323.305,
      "stop": 4335.468,
      "target": 4298.98,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.06,
        "bb_width_pct": 0.376
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T02-35-00Z_short_vwap_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T02:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4321.69,
      "stop": 4325.255,
      "target": 4314.56,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.13,
        "bb_width_pct": 0.259
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T02-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T02:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4321.69,
      "stop": 4333.045,
      "target": 4298.98,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.13,
        "bb_width_pct": 0.259
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T02-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T02:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4316.485,
      "stop": 4325.237,
      "target": 4298.98,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.23,
        "bb_width_pct": 0.281
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T02-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T02:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4314.01,
      "stop": 4310.632,
      "target": 4320.766,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.34,
        "bb_width_pct": 0.356
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T03-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4312.51,
      "stop": 4308.728,
      "target": 4320.074,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.15,
        "bb_width_pct": 0.434
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T03-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4312.51,
      "stop": 4310.376,
      "target": 4316.777,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.15,
        "bb_width_pct": 0.434
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T03-15-00Z_long_rsi_range_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4315.04,
      "stop": 4312.975,
      "target": 4319.169,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.62,
        "bb_width_pct": 0.493
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T03-20-00Z_long_rsi_range_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T03:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4316.11,
      "stop": 4314.744,
      "target": 4318.843,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.55,
        "bb_width_pct": 0.491
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T04-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T04:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4320.595,
      "stop": 4322.071,
      "target": 4317.643,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.69,
        "bb_width_pct": 0.358
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T04-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T04:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4313.59,
      "stop": 4310.613,
      "target": 4319.545,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.55,
        "bb_width_pct": 0.277
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T04-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4314.875,
      "stop": 4314.197,
      "target": 4316.231,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.22,
        "bb_width_pct": 0.274
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T04-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4314.875,
      "stop": 4312.54,
      "target": 4319.545,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.22,
        "bb_width_pct": 0.274
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T05-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4321.3,
      "stop": 4323.75,
      "target": 4316.4,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.5,
        "bb_width_pct": 0.254
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T05-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4321.3,
      "stop": 4323.796,
      "target": 4316.308,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.5,
        "bb_width_pct": 0.254
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T05-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4322.695,
      "stop": 4325.608,
      "target": 4316.87,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.0,
        "bb_width_pct": 0.31
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T05-30-00Z_short_vwap_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4322.695,
      "stop": 4326.288,
      "target": 4315.509,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.0,
        "bb_width_pct": 0.31
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T05-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4322.695,
      "stop": 4325.179,
      "target": 4317.727,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.0,
        "bb_width_pct": 0.31
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T05-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4308.07,
      "stop": 4304.578,
      "target": 4315.053,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.84,
        "bb_width_pct": 0.435
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T05-50-00Z_long_vwap_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4308.07,
      "stop": 4304.475,
      "target": 4315.26,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.84,
        "bb_width_pct": 0.435
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T05-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4308.07,
      "stop": 4305.257,
      "target": 4313.695,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.84,
        "bb_width_pct": 0.435
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T05-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4308.07,
      "stop": 4304.646,
      "target": 4314.919,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.84,
        "bb_width_pct": 0.435
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T05-55-00Z_long_vwap_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T05:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4308.105,
      "stop": 4304.575,
      "target": 4315.164,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.08,
        "bb_width_pct": 0.457
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T06-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T06:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4298.815,
      "stop": 4292.111,
      "target": 4312.224,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.97,
        "bb_width_pct": 0.682
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T06-20-00Z_long_vwap_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T06:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4303.52,
      "stop": 4298.122,
      "target": 4314.316,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.78,
        "bb_width_pct": 0.703
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T06-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T06:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4303.52,
      "stop": 4299.995,
      "target": 4310.57,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 19.78,
        "bb_width_pct": 0.703
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T06-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T06:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4303.52,
      "stop": 4300.591,
      "target": 4309.378,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.78,
        "bb_width_pct": 0.703
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T06-25-00Z_long_vwap_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T06:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4305.225,
      "stop": 4300.748,
      "target": 4314.179,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.03,
        "bb_width_pct": 0.712
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T06-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T06:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4305.225,
      "stop": 4302.553,
      "target": 4310.57,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 16.03,
        "bb_width_pct": 0.712
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T06-40-00Z_long_rsi_range_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T06:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4301.47,
      "stop": 4297.496,
      "target": 4309.417,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.79,
        "bb_width_pct": 0.752
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T06-40-00Z_long_vwap_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T06:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4301.47,
      "stop": 4295.338,
      "target": 4313.735,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.79,
        "bb_width_pct": 0.752
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T06-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T06:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4301.47,
      "stop": 4296.92,
      "target": 4310.57,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 17.79,
        "bb_width_pct": 0.752
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T06-45-00Z_long_vwap_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T06:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4304.465,
      "stop": 4299.887,
      "target": 4313.621,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.37,
        "bb_width_pct": 0.737
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T06-50-00Z_long_vwap_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T06:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4305.49,
      "stop": 4301.478,
      "target": 4313.514,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.02,
        "bb_width_pct": 0.723
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T06-55-00Z_long_vwap_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T06:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4306.66,
      "stop": 4303.279,
      "target": 4313.423,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.95,
        "bb_width_pct": 0.667
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T07-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T07:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4305.235,
      "stop": 4302.567,
      "target": 4310.57,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 2.95,
        "bb_width_pct": 0.515
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T07-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4298.7,
      "stop": 4296.012,
      "target": 4304.075,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.75,
        "bb_width_pct": 0.277
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T07-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4298.7,
      "stop": 4295.161,
      "target": 4305.778,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.75,
        "bb_width_pct": 0.277
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T07-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T07:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4297.84,
      "stop": 4295.298,
      "target": 4302.924,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.82,
        "bb_width_pct": 0.331
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T07-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T07:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4297.84,
      "stop": 4292.068,
      "target": 4309.385,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.82,
        "bb_width_pct": 0.331
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T07-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T07:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4297.84,
      "stop": 4294.732,
      "target": 4304.056,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.82,
        "bb_width_pct": 0.331
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T08-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4290.485,
      "stop": 4285.165,
      "target": 4301.125,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.46,
        "bb_width_pct": 0.544
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T08-00-00Z_long_rsi_range_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4290.485,
      "stop": 4285.165,
      "target": 4301.125,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.46,
        "bb_width_pct": 0.544
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T08-00-00Z_long_vwap_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4290.485,
      "stop": 4285.786,
      "target": 4299.884,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.46,
        "bb_width_pct": 0.544
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T08-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4290.485,
      "stop": 4282.639,
      "target": 4306.177,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 21.46,
        "bb_width_pct": 0.544
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T08-05-00Z_long_rsi_range_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T08:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4291.305,
      "stop": 4286.743,
      "target": 4300.429,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.7,
        "bb_width_pct": 0.572
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T08-05-00Z_long_vwap_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T08:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4291.305,
      "stop": 4287.33,
      "target": 4299.256,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.7,
        "bb_width_pct": 0.572
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T08-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T08:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4291.305,
      "stop": 4284.329,
      "target": 4305.257,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 16.7,
        "bb_width_pct": 0.572
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T08-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T08:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4291.305,
      "stop": 4287.415,
      "target": 4299.085,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.7,
        "bb_width_pct": 0.572
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T08-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T08:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4287.285,
      "stop": 4281.123,
      "target": 4299.609,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.7,
        "bb_width_pct": 0.626
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T08-15-00Z_long_rsi_range_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T08:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4288.445,
      "stop": 4283.182,
      "target": 4298.971,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.92,
        "bb_width_pct": 0.664
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T08-15-00Z_long_vwap_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T08:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4288.445,
      "stop": 4283.74,
      "target": 4297.856,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.92,
        "bb_width_pct": 0.664
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T08-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T08:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4288.445,
      "stop": 4280.376,
      "target": 4304.583,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 23.92,
        "bb_width_pct": 0.664
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T08-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4285.445,
      "stop": 4281.508,
      "target": 4293.32,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.17,
        "bb_width_pct": 0.75
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T08-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T08:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4277.54,
      "stop": 4270.633,
      "target": 4291.353,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.33,
        "bb_width_pct": 0.786
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T09-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4269.07,
      "stop": 4259.833,
      "target": 4287.545,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.01,
        "bb_width_pct": 0.881
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T09-00-00Z_long_rsi_range_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4269.07,
      "stop": 4259.833,
      "target": 4287.545,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.01,
        "bb_width_pct": 0.881
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T09-00-00Z_long_vwap_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4269.07,
      "stop": 4257.867,
      "target": 4291.476,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.01,
        "bb_width_pct": 0.881
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T09-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4269.07,
      "stop": 4259.251,
      "target": 4288.708,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 23.01,
        "bb_width_pct": 0.881
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T09-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T09:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4267.86,
      "stop": 4259.836,
      "target": 4283.908,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 27.94,
        "bb_width_pct": 0.893
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T09-10-00Z_long_rsi_range_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T09:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4267.86,
      "stop": 4259.836,
      "target": 4283.908,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 27.94,
        "bb_width_pct": 0.893
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T09-10-00Z_long_vwap_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T09:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4267.86,
      "stop": 4256.993,
      "target": 4289.594,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 27.94,
        "bb_width_pct": 0.893
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T09-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T09:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4267.86,
      "stop": 4258.915,
      "target": 4285.75,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 27.94,
        "bb_width_pct": 0.893
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T09-15-00Z_long_rsi_range_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T09:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4272.365,
      "stop": 4267.148,
      "target": 4282.798,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.28,
        "bb_width_pct": 0.892
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T09-15-00Z_long_vwap_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T09:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4272.365,
      "stop": 4264.092,
      "target": 4288.91,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.28,
        "bb_width_pct": 0.892
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T09-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T09:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4272.365,
      "stop": 4266.07,
      "target": 4284.955,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 17.28,
        "bb_width_pct": 0.892
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T09-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T09:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4272.365,
      "stop": 4267.83,
      "target": 4281.434,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.28,
        "bb_width_pct": 0.892
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T09-35-00Z_long_rsi_range_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4267.33,
      "stop": 4262.274,
      "target": 4277.443,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.13,
        "bb_width_pct": 0.88
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T09-35-00Z_long_vwap_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4267.33,
      "stop": 4257.885,
      "target": 4286.221,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.13,
        "bb_width_pct": 0.88
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T09-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4267.33,
      "stop": 4258.682,
      "target": 4284.625,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 21.13,
        "bb_width_pct": 0.88
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T09-40-00Z_long_rsi_range_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T09:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4268.645,
      "stop": 4264.792,
      "target": 4276.351,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.37,
        "bb_width_pct": 0.851
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T09-40-00Z_long_vwap_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T09:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4268.645,
      "stop": 4260.137,
      "target": 4285.662,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.37,
        "bb_width_pct": 0.851
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T09-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T09:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4268.645,
      "stop": 4260.655,
      "target": 4284.625,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 20.37,
        "bb_width_pct": 0.851
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T09-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T09:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4268.645,
      "stop": 4265.052,
      "target": 4275.831,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.37,
        "bb_width_pct": 0.851
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T09-45-00Z_long_rsi_range_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T09:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4269.225,
      "stop": 4266.214,
      "target": 4275.247,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.3,
        "bb_width_pct": 0.799
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T09-45-00Z_long_vwap_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T09:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4269.225,
      "stop": 4261.254,
      "target": 4285.168,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.3,
        "bb_width_pct": 0.799
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T09-50-00Z_long_vwap_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T09:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4270.575,
      "stop": 4263.483,
      "target": 4284.758,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.24,
        "bb_width_pct": 0.76
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T10-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T10:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4268.29,
      "stop": 4260.122,
      "target": 4284.625,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 3.16,
        "bb_width_pct": 0.529
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T10-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T10:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4268.29,
      "stop": 4266.263,
      "target": 4272.343,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.16,
        "bb_width_pct": 0.529
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T10-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T10:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4266.015,
      "stop": 4263.255,
      "target": 4271.536,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.93,
        "bb_width_pct": 0.338
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T10-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T10:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4269.735,
      "stop": 4262.29,
      "target": 4284.625,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 3.06,
        "bb_width_pct": 0.256
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T10-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T10:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4269.735,
      "stop": 4268.92,
      "target": 4271.364,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.06,
        "bb_width_pct": 0.256
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T10-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T10:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4267.19,
      "stop": 4258.544,
      "target": 4284.483,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 2.22,
        "bb_width_pct": 0.173
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T10-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T10:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4264.385,
      "stop": 4262.701,
      "target": 4267.753,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.2,
        "bb_width_pct": 0.186
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T10-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T10:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4261.5,
      "stop": 4258.01,
      "target": 4268.481,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.97,
        "bb_width_pct": 0.246
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T11-25-00Z_long_rsi_range_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T11:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4249.21,
      "stop": 4243.49,
      "target": 4260.65,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.01,
        "bb_width_pct": 0.828
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T11-25-00Z_long_vwap_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T11:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4249.21,
      "stop": 4243.963,
      "target": 4259.704,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.01,
        "bb_width_pct": 0.828
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T11-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T11:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4249.21,
      "stop": 4240.63,
      "target": 4266.37,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 21.01,
        "bb_width_pct": 0.828
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T11-50-00Z_long_rsi_range_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T11:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4242.385,
      "stop": 4236.296,
      "target": 4254.563,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.61,
        "bb_width_pct": 0.934
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T11-50-00Z_long_vwap_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T11:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4242.385,
      "stop": 4235.374,
      "target": 4256.408,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.61,
        "bb_width_pct": 0.934
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T11-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T11:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4242.385,
      "stop": 4231.35,
      "target": 4264.455,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 26.61,
        "bb_width_pct": 0.934
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T12-00-00Z_long_rsi_range_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4243.185,
      "stop": 4238.765,
      "target": 4252.025,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.98,
        "bb_width_pct": 0.883
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T12-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4243.185,
      "stop": 4234.256,
      "target": 4261.042,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 16.98,
        "bb_width_pct": 0.883
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T12-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4243.185,
      "stop": 4239.351,
      "target": 4250.852,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.98,
        "bb_width_pct": 0.883
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T12-05-00Z_long_rsi_range_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T12:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4244.165,
      "stop": 4240.874,
      "target": 4250.746,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.6,
        "bb_width_pct": 0.809
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T12-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T12:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4244.165,
      "stop": 4236.358,
      "target": 4259.78,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.6,
        "bb_width_pct": 0.809
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T12-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T12:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4244.165,
      "stop": 4241.14,
      "target": 4250.216,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.6,
        "bb_width_pct": 0.809
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T12-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T12:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4256.485,
      "stop": 4255.326,
      "target": 4258.802,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.46,
        "bb_width_pct": 0.75
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T12-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T12:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4263.5,
      "stop": 4270.313,
      "target": 4249.874,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.85,
        "bb_width_pct": 0.684
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T12-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T12:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4255.935,
      "stop": 4259.129,
      "target": 4249.548,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.37,
        "bb_width_pct": 0.643
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T12-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T12:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4255.935,
      "stop": 4257.34,
      "target": 4253.126,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.37,
        "bb_width_pct": 0.643
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T12-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T12:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4243.305,
      "stop": 4236.599,
      "target": 4256.717,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.26,
        "bb_width_pct": 0.589
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T12-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T12:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4244.795,
      "stop": 4238.834,
      "target": 4256.717,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.29,
        "bb_width_pct": 0.592
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T12-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T12:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4246.79,
      "stop": 4241.826,
      "target": 4256.717,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.2,
        "bb_width_pct": 0.595
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T13-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4272.185,
      "stop": 4281.334,
      "target": 4253.887,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.38,
        "bb_width_pct": 0.868
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T13-35-00Z_short_vwap_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4272.185,
      "stop": 4281.439,
      "target": 4253.676,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 21.38,
        "bb_width_pct": 0.868
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T13-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4272.185,
      "stop": 4279.074,
      "target": 4258.407,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 21.38,
        "bb_width_pct": 0.868
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T13-40-00Z_short_vwap_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T13:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4264.525,
      "stop": 4269.637,
      "target": 4254.301,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 21.48,
        "bb_width_pct": 0.862
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T13-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T13:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4264.525,
      "stop": 4267.584,
      "target": 4258.407,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 21.48,
        "bb_width_pct": 0.862
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T13-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T13:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4264.525,
      "stop": 4268.175,
      "target": 4257.226,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.48,
        "bb_width_pct": 0.862
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T13-45-00Z_short_rsi_range_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4260.095,
      "stop": 4262.267,
      "target": 4255.751,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 16.26,
        "bb_width_pct": 0.835
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T14-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4247.87,
      "stop": 4243.397,
      "target": 4256.815,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.91,
        "bb_width_pct": 0.836
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T14-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T14:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4243.59,
      "stop": 4237.607,
      "target": 4255.556,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.86,
        "bb_width_pct": 0.868
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T14-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T14:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4241.695,
      "stop": 4235.425,
      "target": 4254.236,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.59,
        "bb_width_pct": 0.904
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T14-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T14:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4249.645,
      "stop": 4245.415,
      "target": 4258.105,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.73,
        "bb_width_pct": 0.876
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T14-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T14:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4249.645,
      "stop": 4247.568,
      "target": 4253.799,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.73,
        "bb_width_pct": 0.876
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T14-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4249.75,
      "stop": 4246.122,
      "target": 4257.005,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.84,
        "bb_width_pct": 0.823
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T14-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T14:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4247.395,
      "stop": 4242.59,
      "target": 4257.005,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.76,
        "bb_width_pct": 0.858
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T15-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T15:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4231.835,
      "stop": 4225.654,
      "target": 4244.197,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.11,
        "bb_width_pct": 0.682
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T15-40-00Z_long_vwap_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T15:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4231.835,
      "stop": 4222.763,
      "target": 4249.978,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.11,
        "bb_width_pct": 0.682
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T15-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T15:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4231.835,
      "stop": 4222.544,
      "target": 4250.417,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 18.11,
        "bb_width_pct": 0.682
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T15-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T15:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4231.835,
      "stop": 4226.089,
      "target": 4243.326,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.11,
        "bb_width_pct": 0.682
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T15-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T15:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4224.685,
      "stop": 4215.767,
      "target": 4242.52,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.22,
        "bb_width_pct": 0.858
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T15-55-00Z_long_vwap_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T15:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4226.69,
      "stop": 4215.761,
      "target": 4248.549,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.02,
        "bb_width_pct": 0.902
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T15-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T15:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4226.69,
      "stop": 4215.049,
      "target": 4249.972,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 20.02,
        "bb_width_pct": 0.902
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T16-05-00Z_long_rsi_range_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T16:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4232.27,
      "stop": 4228.678,
      "target": 4239.455,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.42,
        "bb_width_pct": 0.925
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T16-05-00Z_long_vwap_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T16:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4232.27,
      "stop": 4224.517,
      "target": 4247.777,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.42,
        "bb_width_pct": 0.925
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T16-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T16:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4232.27,
      "stop": 4223.419,
      "target": 4249.972,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 18.42,
        "bb_width_pct": 0.925
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T16-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T16:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4232.27,
      "stop": 4229.817,
      "target": 4237.175,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.42,
        "bb_width_pct": 0.925
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T16-25-00Z_long_rsi_range_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T16:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4225.115,
      "stop": 4220.228,
      "target": 4234.888,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.61,
        "bb_width_pct": 0.971
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T16-25-00Z_long_vwap_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T16:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4225.115,
      "stop": 4214.606,
      "target": 4246.134,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.61,
        "bb_width_pct": 0.971
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T16-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T16:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4225.115,
      "stop": 4212.994,
      "target": 4249.358,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 16.61,
        "bb_width_pct": 0.971
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T16-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T16:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4225.115,
      "stop": 4221.182,
      "target": 4232.981,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.61,
        "bb_width_pct": 0.971
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T16-35-00Z_long_vwap_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4223.28,
      "stop": 4212.276,
      "target": 4245.289,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.59,
        "bb_width_pct": 0.898
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T16-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4223.28,
      "stop": 4210.28,
      "target": 4249.28,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.59,
        "bb_width_pct": 0.898
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T16-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4223.28,
      "stop": 4219.367,
      "target": 4231.107,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.59,
        "bb_width_pct": 0.898
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T16-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4219.65,
      "stop": 4216.304,
      "target": 4226.342,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.17,
        "bb_width_pct": 0.549
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T16-55-00Z_long_vwap_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4219.65,
      "stop": 4207.697,
      "target": 4243.556,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.17,
        "bb_width_pct": 0.549
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T16-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4219.65,
      "stop": 4207.724,
      "target": 4243.503,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.17,
        "bb_width_pct": 0.549
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T16-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4219.65,
      "stop": 4215.881,
      "target": 4227.189,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.17,
        "bb_width_pct": 0.549
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T17-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T17:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4224.255,
      "stop": 4216.452,
      "target": 4239.86,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 2.98,
        "bb_width_pct": 0.457
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T17-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T17:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4232.595,
      "stop": 4236.517,
      "target": 4224.751,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 23.27,
        "bb_width_pct": 0.379
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T18-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T18:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4224.94,
      "stop": 4223.716,
      "target": 4227.387,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.04,
        "bb_width_pct": 0.285
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T18-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T18:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4224.94,
      "stop": 4224.025,
      "target": 4226.769,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.04,
        "bb_width_pct": 0.285
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T18-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T18:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4221.7,
      "stop": 4218.939,
      "target": 4227.222,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.14,
        "bb_width_pct": 0.305
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T18-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T18:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4221.7,
      "stop": 4219.407,
      "target": 4226.286,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.14,
        "bb_width_pct": 0.305
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T18-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T18:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4220.505,
      "stop": 4217.336,
      "target": 4226.843,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.56,
        "bb_width_pct": 0.334
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T18-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T18:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4220.505,
      "stop": 4217.89,
      "target": 4225.736,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.56,
        "bb_width_pct": 0.334
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T18-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T18:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4218.605,
      "stop": 4214.779,
      "target": 4226.257,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.59,
        "bb_width_pct": 0.366
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T19-35-00Z_long_rsi_range_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T19:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4209.935,
      "stop": 4205.941,
      "target": 4217.923,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.48,
        "bb_width_pct": 0.892
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T19-35-00Z_long_vwap_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T19:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4209.935,
      "stop": 4204.072,
      "target": 4221.66,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.48,
        "bb_width_pct": 0.892
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T19-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T19:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4209.935,
      "stop": 4206.22,
      "target": 4217.365,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 18.48,
        "bb_width_pct": 0.892
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T19-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T19:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4209.935,
      "stop": 4207.359,
      "target": 4215.088,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.48,
        "bb_width_pct": 0.892
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T19-40-00Z_long_vwap_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T19:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4213.99,
      "stop": 4210.289,
      "target": 4221.392,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.37,
        "bb_width_pct": 0.865
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T20-15-00Z_short_rsi_range_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T20:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4216.965,
      "stop": 4218.556,
      "target": 4213.783,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 16.63,
        "bb_width_pct": 0.574
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T20-20-00Z_short_rsi_range_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T20:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4216.25,
      "stop": 4217.701,
      "target": 4213.348,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 21.35,
        "bb_width_pct": 0.524
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T20-30-00Z_short_rsi_range_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T20:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4216.195,
      "stop": 4217.794,
      "target": 4212.996,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 22.17,
        "bb_width_pct": 0.486
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T20-35-00Z_short_rsi_range_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T20:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4214.875,
      "stop": 4215.908,
      "target": 4212.81,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 22.67,
        "bb_width_pct": 0.473
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T20-40-00Z_short_rsi_range_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4212.885,
      "stop": 4212.914,
      "target": 4212.826,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 6.28,
        "bb_width_pct": 0.473
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T22-05-00Z_long_rsi_range_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T22:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4206.655,
      "stop": 4203.362,
      "target": 4213.241,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 27.59,
        "bb_width_pct": 0.43
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T22-05-00Z_long_vwap_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T22:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4206.655,
      "stop": 4184.012,
      "target": 4251.941,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 27.59,
        "bb_width_pct": 0.43
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T22-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T22:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4206.655,
      "stop": 4201.3,
      "target": 4217.365,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 27.59,
        "bb_width_pct": 0.43
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T22-10-00Z_long_rsi_range_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T22:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4208.02,
      "stop": 4205.293,
      "target": 4213.474,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.29,
        "bb_width_pct": 0.391
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T22-10-00Z_long_vwap_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T22:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4208.02,
      "stop": 4186.878,
      "target": 4250.304,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.29,
        "bb_width_pct": 0.391
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T22-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T22:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4208.02,
      "stop": 4205.915,
      "target": 4212.229,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.29,
        "bb_width_pct": 0.391
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T22-40-00Z_long_rsi_range_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T22:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4205.02,
      "stop": 4202.397,
      "target": 4210.266,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.6,
        "bb_width_pct": 0.507
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T22-40-00Z_long_vwap_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T22:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4205.02,
      "stop": 4186.517,
      "target": 4242.027,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.6,
        "bb_width_pct": 0.507
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T22-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T22:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4205.02,
      "stop": 4199.785,
      "target": 4215.49,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 25.6,
        "bb_width_pct": 0.507
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T22-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T22:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4205.02,
      "stop": 4203.171,
      "target": 4208.717,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.6,
        "bb_width_pct": 0.507
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T22-45-00Z_long_vwap_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T22:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4208.865,
      "stop": 4192.792,
      "target": 4241.012,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.34,
        "bb_width_pct": 0.488
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T22-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T22:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4208.865,
      "stop": 4206.329,
      "target": 4213.938,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.34,
        "bb_width_pct": 0.488
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T23-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T23:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4195.5,
      "stop": 4191.065,
      "target": 4204.369,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.3,
        "bb_width_pct": 0.437
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T23-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T23:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4197.375,
      "stop": 4194.197,
      "target": 4203.732,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.54,
        "bb_width_pct": 0.441
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T23-25-00Z_long_vwap_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T23:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4197.375,
      "stop": 4179.397,
      "target": 4233.331,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.54,
        "bb_width_pct": 0.441
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T23-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T23:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4197.375,
      "stop": 4192.693,
      "target": 4206.74,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.54,
        "bb_width_pct": 0.441
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T23-35-00Z_long_vwap_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4197.775,
      "stop": 4180.826,
      "target": 4231.673,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.99,
        "bb_width_pct": 0.444
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T23-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4197.775,
      "stop": 4193.292,
      "target": 4206.74,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.99,
        "bb_width_pct": 0.444
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-18T23-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4197.775,
      "stop": 4195.533,
      "target": 4202.258,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.99,
        "bb_width_pct": 0.444
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T00-00-00Z_long_rsi_range_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4190.775,
      "stop": 4186.797,
      "target": 4198.731,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.82,
        "bb_width_pct": 0.604
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T00-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4190.775,
      "stop": 4184.506,
      "target": 4203.312,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 23.82,
        "bb_width_pct": 0.604
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T00-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4190.775,
      "stop": 4187.341,
      "target": 4197.642,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.82,
        "bb_width_pct": 0.604
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T00-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T00:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4187.865,
      "stop": 4180.849,
      "target": 4201.898,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.79,
        "bb_width_pct": 0.687
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T00-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T00:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4187.865,
      "stop": 4184.855,
      "target": 4193.886,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.79,
        "bb_width_pct": 0.687
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T00-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4189.905,
      "stop": 4183.917,
      "target": 4201.88,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.31,
        "bb_width_pct": 0.562
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T00-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4189.905,
      "stop": 4188.482,
      "target": 4192.75,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.31,
        "bb_width_pct": 0.562
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T00-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T00:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4188.615,
      "stop": 4181.983,
      "target": 4201.88,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.48,
        "bb_width_pct": 0.442
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T00-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T00:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4190.595,
      "stop": 4185.128,
      "target": 4201.53,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.21,
        "bb_width_pct": 0.398
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T00-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T00:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4190.615,
      "stop": 4185.246,
      "target": 4201.352,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.18,
        "bb_width_pct": 0.383
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T00-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T00:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4190.62,
      "stop": 4186.174,
      "target": 4199.512,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.78,
        "bb_width_pct": 0.368
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T01-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T01:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4186.54,
      "stop": 4181.118,
      "target": 4197.385,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.56,
        "bb_width_pct": 0.302
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T01-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T01:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4187.225,
      "stop": 4182.145,
      "target": 4197.385,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 3.45,
        "bb_width_pct": 0.205
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T01-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T01:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4190.91,
      "stop": 4187.672,
      "target": 4197.385,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.97,
        "bb_width_pct": 0.21
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T01-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T01:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4185.735,
      "stop": 4179.91,
      "target": 4197.385,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.97,
        "bb_width_pct": 0.207
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T01-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T01:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4185.185,
      "stop": 4179.085,
      "target": 4197.385,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.84,
        "bb_width_pct": 0.215
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T02-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T02:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4185.495,
      "stop": 4179.55,
      "target": 4197.385,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.85,
        "bb_width_pct": 0.22
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T02-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T02:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4183.995,
      "stop": 4182.326,
      "target": 4187.333,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.09,
        "bb_width_pct": 0.226
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T02-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T02:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4183.995,
      "stop": 4182.338,
      "target": 4187.31,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.09,
        "bb_width_pct": 0.226
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T02-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T02:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4178.13,
      "stop": 4174.313,
      "target": 4185.764,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.97,
        "bb_width_pct": 0.385
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T02-20-00Z_long_vwap_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T02:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4178.13,
      "stop": 4173.921,
      "target": 4186.548,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.97,
        "bb_width_pct": 0.385
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T02-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T02:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4178.13,
      "stop": 4172.766,
      "target": 4188.858,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.97,
        "bb_width_pct": 0.385
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T02-25-00Z_long_vwap_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T02:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4179.505,
      "stop": 4176.112,
      "target": 4186.292,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.3,
        "bb_width_pct": 0.39
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T02-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T02:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4179.505,
      "stop": 4175.101,
      "target": 4188.312,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.3,
        "bb_width_pct": 0.39
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T02-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T02:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4179.505,
      "stop": 4177.073,
      "target": 4184.37,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.3,
        "bb_width_pct": 0.39
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T02-30-00Z_long_vwap_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4179.975,
      "stop": 4176.933,
      "target": 4186.059,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.83,
        "bb_width_pct": 0.386
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T02-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4179.975,
      "stop": 4176.275,
      "target": 4187.375,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 20.83,
        "bb_width_pct": 0.386
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T02-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4179.975,
      "stop": 4177.987,
      "target": 4183.951,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.83,
        "bb_width_pct": 0.386
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T02-40-00Z_long_rsi_range_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T02:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4180.025,
      "stop": 4178.239,
      "target": 4183.597,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.13,
        "bb_width_pct": 0.356
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T02-40-00Z_long_vwap_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T02:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4180.025,
      "stop": 4177.17,
      "target": 4185.736,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.13,
        "bb_width_pct": 0.356
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T02-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T02:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4176.945,
      "stop": 4174.079,
      "target": 4182.677,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.22,
        "bb_width_pct": 0.398
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T02-50-00Z_long_rsi_range_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T02:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4176.945,
      "stop": 4174.079,
      "target": 4182.677,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.22,
        "bb_width_pct": 0.398
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T02-50-00Z_long_vwap_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T02:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4176.945,
      "stop": 4172.814,
      "target": 4185.208,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.22,
        "bb_width_pct": 0.398
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T02-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T02:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4176.945,
      "stop": 4171.996,
      "target": 4186.843,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.22,
        "bb_width_pct": 0.398
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T02-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T02:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4176.945,
      "stop": 4174.406,
      "target": 4182.024,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.22,
        "bb_width_pct": 0.398
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T02-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T02:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4176.425,
      "stop": 4173.892,
      "target": 4181.491,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.01,
        "bb_width_pct": 0.414
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T03-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4168.115,
      "stop": 4163.053,
      "target": 4178.239,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.55,
        "bb_width_pct": 0.583
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T03-15-00Z_long_rsi_range_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4168.115,
      "stop": 4163.053,
      "target": 4178.239,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.55,
        "bb_width_pct": 0.583
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T03-15-00Z_long_vwap_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4168.115,
      "stop": 4160.502,
      "target": 4183.342,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.55,
        "bb_width_pct": 0.583
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T03-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4168.115,
      "stop": 4161.08,
      "target": 4182.185,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 19.55,
        "bb_width_pct": 0.583
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T03-20-00Z_long_rsi_range_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T03:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4168.775,
      "stop": 4164.467,
      "target": 4177.391,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.1,
        "bb_width_pct": 0.59
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T03-20-00Z_long_vwap_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T03:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4168.775,
      "stop": 4161.663,
      "target": 4182.999,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.1,
        "bb_width_pct": 0.59
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T03-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T03:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4168.775,
      "stop": 4163.186,
      "target": 4179.952,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.1,
        "bb_width_pct": 0.59
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T03-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4164.9,
      "stop": 4159.599,
      "target": 4175.502,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.0,
        "bb_width_pct": 0.617
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T03-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T03:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4162.455,
      "stop": 4157.051,
      "target": 4173.264,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 27.49,
        "bb_width_pct": 0.628
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T04-15-00Z_long_rsi_range_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T04:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4147.905,
      "stop": 4140.302,
      "target": 4163.11,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.06,
        "bb_width_pct": 1.039
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T04-15-00Z_long_vwap_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T04:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4147.905,
      "stop": 4133.218,
      "target": 4177.279,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.06,
        "bb_width_pct": 1.039
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T04-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T04:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4147.905,
      "stop": 4137.369,
      "target": 4168.977,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 23.06,
        "bb_width_pct": 1.039
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T04-20-00Z_long_rsi_range_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4149.105,
      "stop": 4142.875,
      "target": 4161.564,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.47,
        "bb_width_pct": 1.009
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T04-20-00Z_long_vwap_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4149.105,
      "stop": 4135.287,
      "target": 4176.741,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.47,
        "bb_width_pct": 1.009
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T04-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4149.105,
      "stop": 4140.342,
      "target": 4166.63,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 24.47,
        "bb_width_pct": 1.009
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T05-10-00Z_long_rsi_range_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4130.635,
      "stop": 4124.321,
      "target": 4143.263,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.22,
        "bb_width_pct": 1.177
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T05-10-00Z_long_vwap_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4130.635,
      "stop": 4110.979,
      "target": 4169.947,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.22,
        "bb_width_pct": 1.177
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T05-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4130.635,
      "stop": 4118.801,
      "target": 4154.302,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 18.22,
        "bb_width_pct": 1.177
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T05-20-00Z_long_rsi_range_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4129.265,
      "stop": 4123.977,
      "target": 4139.841,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.25,
        "bb_width_pct": 1.058
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T05-20-00Z_long_vwap_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4129.265,
      "stop": 4109.56,
      "target": 4168.675,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.25,
        "bb_width_pct": 1.058
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T05-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4129.265,
      "stop": 4116.847,
      "target": 4154.1,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 24.25,
        "bb_width_pct": 1.058
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T05-25-00Z_long_vwap_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4133.78,
      "stop": 4116.606,
      "target": 4168.128,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.65,
        "bb_width_pct": 0.975
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T05-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4133.78,
      "stop": 4124.007,
      "target": 4153.325,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 20.65,
        "bb_width_pct": 0.975
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T05-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4133.78,
      "stop": 4131.132,
      "target": 4139.076,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.65,
        "bb_width_pct": 0.975
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T05-40-00Z_long_vwap_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4135.045,
      "stop": 4119.254,
      "target": 4166.626,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.17,
        "bb_width_pct": 0.774
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T05-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4135.045,
      "stop": 4126.14,
      "target": 4152.855,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.17,
        "bb_width_pct": 0.774
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T05-45-00Z_long_vwap_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T05:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4137.835,
      "stop": 4123.65,
      "target": 4166.205,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.03,
        "bb_width_pct": 0.753
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T05-50-00Z_long_vwap_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4139.32,
      "stop": 4126.081,
      "target": 4165.798,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.56,
        "bb_width_pct": 0.723
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T05-55-00Z_long_vwap_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T05:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4139.77,
      "stop": 4126.938,
      "target": 4165.434,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.69,
        "bb_width_pct": 0.674
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T06-00-00Z_short_rsi_range_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4138.2,
      "stop": 4140.265,
      "target": 4134.071,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 16.87,
        "bb_width_pct": 0.6
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T06-05-00Z_long_vwap_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4143.685,
      "stop": 4133.163,
      "target": 4164.73,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.21,
        "bb_width_pct": 0.572
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T06-10-00Z_long_vwap_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T06:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4147.455,
      "stop": 4138.947,
      "target": 4164.47,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 27.98,
        "bb_width_pct": 0.609
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T06-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T06:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4147.455,
      "stop": 4151.512,
      "target": 4139.34,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 27.98,
        "bb_width_pct": 0.609
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T06-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T06:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4141.605,
      "stop": 4145.346,
      "target": 4134.124,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.82,
        "bb_width_pct": 0.609
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T06-15-00Z_short_rsi_range_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T06:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4141.605,
      "stop": 4145.346,
      "target": 4134.124,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 12.82,
        "bb_width_pct": 0.609
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T06-20-00Z_long_vwap_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T06:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4143.325,
      "stop": 4133.034,
      "target": 4163.907,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.33,
        "bb_width_pct": 0.639
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T06-25-00Z_short_rsi_range_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T06:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4142.14,
      "stop": 4145.794,
      "target": 4134.832,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 15.6,
        "bb_width_pct": 0.659
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T06-40-00Z_long_vwap_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T06:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4136.37,
      "stop": 4123.228,
      "target": 4162.654,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.84,
        "bb_width_pct": 0.556
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T06-45-00Z_long_vwap_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T06:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4145.58,
      "stop": 4137.169,
      "target": 4162.402,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.0,
        "bb_width_pct": 0.524
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T06-50-00Z_long_vwap_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T06:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4145.845,
      "stop": 4137.671,
      "target": 4162.192,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.1,
        "bb_width_pct": 0.529
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T06-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T06:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4147.775,
      "stop": 4152.065,
      "target": 4139.195,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.35,
        "bb_width_pct": 0.515
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T06-55-00Z_long_vwap_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T06:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4147.775,
      "stop": 4140.653,
      "target": 4162.02,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.35,
        "bb_width_pct": 0.515
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T06-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T06:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4147.775,
      "stop": 4151.135,
      "target": 4141.054,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.35,
        "bb_width_pct": 0.515
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T07-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T07:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4157.24,
      "stop": 4164.329,
      "target": 4143.062,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.57,
        "bb_width_pct": 0.719
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T07-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T07:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4157.24,
      "stop": 4165.36,
      "target": 4141.0,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.57,
        "bb_width_pct": 0.719
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T07-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T07:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4155.41,
      "stop": 4160.988,
      "target": 4144.254,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.69,
        "bb_width_pct": 0.716
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T07-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T07:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4155.41,
      "stop": 4162.706,
      "target": 4140.818,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.69,
        "bb_width_pct": 0.716
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T07-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T07:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4155.41,
      "stop": 4159.965,
      "target": 4146.301,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.69,
        "bb_width_pct": 0.716
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T07-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T07:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4156.245,
      "stop": 4160.744,
      "target": 4147.248,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.9,
        "bb_width_pct": 0.727
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T07-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T07:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4152.525,
      "stop": 4158.215,
      "target": 4141.145,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.09,
        "bb_width_pct": 0.723
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T07-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T07:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4154.035,
      "stop": 4160.48,
      "target": 4141.145,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 26.01,
        "bb_width_pct": 0.718
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T07-45-00Z_short_rsi_range_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T07:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4152.715,
      "stop": 4154.635,
      "target": 4148.875,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 22.15,
        "bb_width_pct": 0.715
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T07-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T07:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4152.715,
      "stop": 4158.5,
      "target": 4141.145,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 22.15,
        "bb_width_pct": 0.715
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T07-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T07:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4158.215,
      "stop": 4161.737,
      "target": 4151.17,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.67,
        "bb_width_pct": 0.729
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T08-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4159.845,
      "stop": 4163.769,
      "target": 4151.996,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.03,
        "bb_width_pct": 0.74
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T08-35-00Z_short_rsi_range_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4168.945,
      "stop": 4172.827,
      "target": 4161.181,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 20.39,
        "bb_width_pct": 0.749
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T08-35-00Z_short_vwap_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4168.945,
      "stop": 4173.0,
      "target": 4160.836,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 20.39,
        "bb_width_pct": 0.749
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T08-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4168.945,
      "stop": 4177.254,
      "target": 4152.327,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 20.39,
        "bb_width_pct": 0.749
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T08-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4168.945,
      "stop": 4172.548,
      "target": 4161.74,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.39,
        "bb_width_pct": 0.749
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T08-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T08:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4169.005,
      "stop": 4172.292,
      "target": 4162.432,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.09,
        "bb_width_pct": 0.758
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T08-45-00Z_short_vwap_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T08:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4167.98,
      "stop": 4171.198,
      "target": 4161.544,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 18.67,
        "bb_width_pct": 0.766
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T10-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T10:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4158.115,
      "stop": 4154.07,
      "target": 4166.205,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.69,
        "bb_width_pct": 0.394
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T10-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T10:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4158.115,
      "stop": 4155.413,
      "target": 4163.519,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.69,
        "bb_width_pct": 0.394
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T10-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T10:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4156.77,
      "stop": 4153.717,
      "target": 4162.876,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.03,
        "bb_width_pct": 0.376
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T10-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T10:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4156.075,
      "stop": 4152.313,
      "target": 4163.6,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.84,
        "bb_width_pct": 0.382
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T10-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T10:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4156.075,
      "stop": 4153.315,
      "target": 4161.596,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.84,
        "bb_width_pct": 0.382
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T10-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T10:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4155.47,
      "stop": 4151.744,
      "target": 4162.923,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.0,
        "bb_width_pct": 0.398
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T10-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T10:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4155.47,
      "stop": 4152.699,
      "target": 4161.012,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.0,
        "bb_width_pct": 0.398
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T10-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T10:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4153.855,
      "stop": 4149.674,
      "target": 4162.217,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.4,
        "bb_width_pct": 0.424
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T10-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T10:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4154.74,
      "stop": 4151.274,
      "target": 4161.671,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.46,
        "bb_width_pct": 0.445
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T10-30-00Z_long_rsi_range_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T10:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4154.74,
      "stop": 4151.274,
      "target": 4161.671,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.46,
        "bb_width_pct": 0.445
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T10-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T10:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4154.74,
      "stop": 4149.657,
      "target": 4164.905,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.46,
        "bb_width_pct": 0.445
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T10-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T10:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4154.74,
      "stop": 4152.211,
      "target": 4159.798,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.46,
        "bb_width_pct": 0.445
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T10-40-00Z_long_rsi_range_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T10:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4151.27,
      "stop": 4146.885,
      "target": 4160.04,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.71,
        "bb_width_pct": 0.491
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T10-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T10:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4151.27,
      "stop": 4144.705,
      "target": 4164.4,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 22.71,
        "bb_width_pct": 0.491
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T10-45-00Z_long_rsi_range_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T10:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4151.685,
      "stop": 4147.852,
      "target": 4159.351,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.83,
        "bb_width_pct": 0.505
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T10-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T10:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4151.685,
      "stop": 4145.328,
      "target": 4164.4,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 19.83,
        "bb_width_pct": 0.505
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T10-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T10:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4151.685,
      "stop": 4148.723,
      "target": 4157.609,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.83,
        "bb_width_pct": 0.505
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T11-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4148.545,
      "stop": 4144.343,
      "target": 4156.949,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.08,
        "bb_width_pct": 0.534
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T11-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T11:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4147.685,
      "stop": 4143.432,
      "target": 4156.19,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.5,
        "bb_width_pct": 0.551
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T11-15-00Z_long_rsi_range_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T11:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4147.25,
      "stop": 4143.671,
      "target": 4154.408,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.56,
        "bb_width_pct": 0.532
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T11-15-00Z_long_vwap_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T11:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4147.25,
      "stop": 4144.733,
      "target": 4152.283,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.56,
        "bb_width_pct": 0.532
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T11-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T11:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4147.25,
      "stop": 4140.57,
      "target": 4160.61,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.56,
        "bb_width_pct": 0.532
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T11-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T11:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4147.25,
      "stop": 4144.208,
      "target": 4153.334,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.56,
        "bb_width_pct": 0.532
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T11-20-00Z_long_rsi_range_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T11:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4148.12,
      "stop": 4145.342,
      "target": 4153.676,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.22,
        "bb_width_pct": 0.513
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T11-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T11:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4148.12,
      "stop": 4141.875,
      "target": 4160.61,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.22,
        "bb_width_pct": 0.513
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T11-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T11:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4148.12,
      "stop": 4145.761,
      "target": 4152.837,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.22,
        "bb_width_pct": 0.513
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T11-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T11:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4144.47,
      "stop": 4140.842,
      "target": 4151.727,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.44,
        "bb_width_pct": 0.459
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T11-30-00Z_long_rsi_range_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T11:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4144.47,
      "stop": 4140.842,
      "target": 4151.727,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.44,
        "bb_width_pct": 0.459
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T11-30-00Z_long_vwap_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T11:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4144.47,
      "stop": 4141.076,
      "target": 4151.258,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.44,
        "bb_width_pct": 0.459
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T11-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T11:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4144.47,
      "stop": 4136.4,
      "target": 4160.61,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 16.44,
        "bb_width_pct": 0.459
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T11-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T11:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4147.655,
      "stop": 4141.342,
      "target": 4160.28,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 11.98,
        "bb_width_pct": 0.392
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T11-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T11:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4147.655,
      "stop": 4146.001,
      "target": 4150.963,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.98,
        "bb_width_pct": 0.392
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T12-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4157.655,
      "stop": 4160.589,
      "target": 4151.788,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.62,
        "bb_width_pct": 0.317
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T12-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T12:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4155.885,
      "stop": 4158.652,
      "target": 4150.352,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.94,
        "bb_width_pct": 0.366
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T12-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T12:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4155.885,
      "stop": 4157.439,
      "target": 4152.777,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.94,
        "bb_width_pct": 0.366
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T13-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4169.265,
      "stop": 4176.328,
      "target": 4155.139,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.59,
        "bb_width_pct": 0.846
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T13-00-00Z_short_vwap_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4169.265,
      "stop": 4175.015,
      "target": 4157.766,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.59,
        "bb_width_pct": 0.846
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T13-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4169.265,
      "stop": 4173.359,
      "target": 4161.077,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.59,
        "bb_width_pct": 0.846
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T13-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4169.265,
      "stop": 4174.939,
      "target": 4157.918,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.59,
        "bb_width_pct": 0.846
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T13-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T13:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4170.01,
      "stop": 4175.852,
      "target": 4158.326,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.18,
        "bb_width_pct": 0.983
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T13-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T13:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4170.01,
      "stop": 4173.858,
      "target": 4162.315,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.18,
        "bb_width_pct": 0.983
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T13-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T13:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4170.01,
      "stop": 4174.417,
      "target": 4161.196,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.18,
        "bb_width_pct": 0.983
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T14-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T14:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4147.56,
      "stop": 4142.915,
      "target": 4156.85,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.66,
        "bb_width_pct": 0.957
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T14-25-00Z_long_rsi_range_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T14:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4149.275,
      "stop": 4143.509,
      "target": 4160.807,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.63,
        "bb_width_pct": 0.995
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T14-25-00Z_long_vwap_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T14:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4149.275,
      "stop": 4144.728,
      "target": 4158.369,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.63,
        "bb_width_pct": 0.995
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T14-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T14:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4149.275,
      "stop": 4142.622,
      "target": 4162.58,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 22.63,
        "bb_width_pct": 0.995
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T14-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T14:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4149.275,
      "stop": 4146.337,
      "target": 4155.152,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.63,
        "bb_width_pct": 0.995
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T14-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4146.37,
      "stop": 4142.397,
      "target": 4154.315,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.58,
        "bb_width_pct": 1.0
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T14-35-00Z_long_rsi_range_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T14:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4148.3,
      "stop": 4143.487,
      "target": 4157.926,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.42,
        "bb_width_pct": 0.926
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T14-35-00Z_long_vwap_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T14:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4148.3,
      "stop": 4143.59,
      "target": 4157.72,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.42,
        "bb_width_pct": 0.926
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T14-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T14:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4148.3,
      "stop": 4141.16,
      "target": 4162.58,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 19.42,
        "bb_width_pct": 0.926
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T14-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T14:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4144.68,
      "stop": 4140.58,
      "target": 4152.879,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.29,
        "bb_width_pct": 0.931
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T14-45-00Z_long_rsi_range_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T14:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4145.55,
      "stop": 4140.903,
      "target": 4154.845,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.31,
        "bb_width_pct": 0.763
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T14-45-00Z_long_vwap_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T14:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4145.55,
      "stop": 4139.824,
      "target": 4157.003,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.31,
        "bb_width_pct": 0.763
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T14-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T14:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4145.55,
      "stop": 4137.035,
      "target": 4162.58,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 17.31,
        "bb_width_pct": 0.763
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T14-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T14:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4145.55,
      "stop": 4142.234,
      "target": 4152.181,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.31,
        "bb_width_pct": 0.763
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T14-50-00Z_long_vwap_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T14:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4150.125,
      "stop": 4146.811,
      "target": 4156.754,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.2,
        "bb_width_pct": 0.691
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T14-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T14:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4150.125,
      "stop": 4143.77,
      "target": 4162.835,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.2,
        "bb_width_pct": 0.691
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T15-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T15:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4152.15,
      "stop": 4146.807,
      "target": 4162.835,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.93,
        "bb_width_pct": 0.527
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T15-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T15:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4151.81,
      "stop": 4146.298,
      "target": 4162.835,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.13,
        "bb_width_pct": 0.23
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T16-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T16:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4146.89,
      "stop": 4145.613,
      "target": 4149.445,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.75,
        "bb_width_pct": 0.237
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T16-20-00Z_long_vwap_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T16:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4146.89,
      "stop": 4143.143,
      "target": 4154.385,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.75,
        "bb_width_pct": 0.237
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T16-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T16:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4146.89,
      "stop": 4138.918,
      "target": 4162.835,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.75,
        "bb_width_pct": 0.237
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T16-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T16:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4146.89,
      "stop": 4145.708,
      "target": 4149.254,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.75,
        "bb_width_pct": 0.237
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T16-25-00Z_long_vwap_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T16:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4147.13,
      "stop": 4143.565,
      "target": 4154.26,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.09,
        "bb_width_pct": 0.227
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T16-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T16:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4147.13,
      "stop": 4139.278,
      "target": 4162.835,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.09,
        "bb_width_pct": 0.227
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T16-30-00Z_long_vwap_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T16:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4149.7,
      "stop": 4147.468,
      "target": 4154.163,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.99,
        "bb_width_pct": 0.226
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T16-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T16:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4151.85,
      "stop": 4152.745,
      "target": 4150.06,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.08,
        "bb_width_pct": 0.282
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-19T16-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T16:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4151.85,
      "stop": 4152.524,
      "target": 4150.503,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.08,
        "bb_width_pct": 0.282
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-21T22-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-21",
      "timestamp": "2026-06-21T22:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4154.66,
      "stop": 4156.686,
      "target": 4150.609,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.56,
        "bb_width_pct": 0.339
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-21T22-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-21",
      "timestamp": "2026-06-21T22:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4154.66,
      "stop": 4156.259,
      "target": 4151.462,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.56,
        "bb_width_pct": 0.339
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-21T22-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-21",
      "timestamp": "2026-06-21T22:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4154.66,
      "stop": 4156.073,
      "target": 4151.834,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.56,
        "bb_width_pct": 0.339
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-21T23-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-21",
      "timestamp": "2026-06-21T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4158.765,
      "stop": 4160.753,
      "target": 4154.79,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.3,
        "bb_width_pct": 0.307
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-21T23-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-21",
      "timestamp": "2026-06-21T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4158.765,
      "stop": 4161.234,
      "target": 4153.827,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.3,
        "bb_width_pct": 0.307
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-21T23-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-21",
      "timestamp": "2026-06-21T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4158.765,
      "stop": 4160.624,
      "target": 4155.046,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.3,
        "bb_width_pct": 0.307
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-21T23-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-21",
      "timestamp": "2026-06-21T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4145.75,
      "stop": 4141.657,
      "target": 4153.936,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.06,
        "bb_width_pct": 0.425
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-21T23-40-00Z_long_vwap_mean_reversion",
      "date": "2026-06-21",
      "timestamp": "2026-06-21T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4145.75,
      "stop": 4141.606,
      "target": 4154.038,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.06,
        "bb_width_pct": 0.425
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-21T23-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-21",
      "timestamp": "2026-06-21T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4145.75,
      "stop": 4141.784,
      "target": 4153.682,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.06,
        "bb_width_pct": 0.425
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-21T23-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-21",
      "timestamp": "2026-06-21T23:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4140.385,
      "stop": 4134.73,
      "target": 4151.695,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.34,
        "bb_width_pct": 0.687
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-21T23-55-00Z_long_vwap_mean_reversion",
      "date": "2026-06-21",
      "timestamp": "2026-06-21T23:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4140.385,
      "stop": 4134.461,
      "target": 4152.234,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.34,
        "bb_width_pct": 0.687
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-21T23-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-21",
      "timestamp": "2026-06-21T23:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4140.385,
      "stop": 4135.168,
      "target": 4150.82,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 22.34,
        "bb_width_pct": 0.687
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T00-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4147.075,
      "stop": 4145.202,
      "target": 4150.82,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 11.56,
        "bb_width_pct": 0.693
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T00-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4147.075,
      "stop": 4146.084,
      "target": 4149.057,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.56,
        "bb_width_pct": 0.693
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T00-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T00:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4163.605,
      "stop": 4169.21,
      "target": 4152.394,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.78,
        "bb_width_pct": 0.765
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T00-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4166.38,
      "stop": 4172.708,
      "target": 4153.725,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.56,
        "bb_width_pct": 0.9
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T02-15-00Z_long_rsi_range_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T02:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4188.025,
      "stop": 4183.463,
      "target": 4197.149,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.71,
        "bb_width_pct": 0.986
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T02-20-00Z_long_rsi_range_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T02:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4189.14,
      "stop": 4184.798,
      "target": 4197.824,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.68,
        "bb_width_pct": 0.887
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T03-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T03:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4179.085,
      "stop": 4174.392,
      "target": 4188.471,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.17,
        "bb_width_pct": 0.528
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T03-20-00Z_long_vwap_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T03:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4179.085,
      "stop": 4175.186,
      "target": 4186.883,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.17,
        "bb_width_pct": 0.528
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T03-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T03:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4179.085,
      "stop": 4175.301,
      "target": 4186.652,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.17,
        "bb_width_pct": 0.528
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T03-45-00Z_long_rsi_range_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T03:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4177.42,
      "stop": 4173.688,
      "target": 4184.884,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.94,
        "bb_width_pct": 0.613
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T03-45-00Z_long_vwap_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T03:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4177.42,
      "stop": 4173.17,
      "target": 4185.919,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.94,
        "bb_width_pct": 0.613
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T03-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T03:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4177.42,
      "stop": 4174.545,
      "target": 4183.17,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.94,
        "bb_width_pct": 0.613
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T04-00-00Z_long_rsi_range_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T04:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4174.005,
      "stop": 4169.57,
      "target": 4182.875,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.4,
        "bb_width_pct": 0.707
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T04-00-00Z_long_vwap_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T04:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4174.005,
      "stop": 4168.408,
      "target": 4185.2,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.4,
        "bb_width_pct": 0.707
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T04-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T04:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4174.005,
      "stop": 4162.964,
      "target": 4196.087,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 22.4,
        "bb_width_pct": 0.707
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T04-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T04:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4174.005,
      "stop": 4170.649,
      "target": 4180.717,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.4,
        "bb_width_pct": 0.707
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T04-05-00Z_long_vwap_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4177.78,
      "stop": 4174.156,
      "target": 4185.028,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.66,
        "bb_width_pct": 0.701
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T04-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4177.78,
      "stop": 4168.654,
      "target": 4196.032,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 16.66,
        "bb_width_pct": 0.701
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T04-20-00Z_long_vwap_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4176.475,
      "stop": 4172.429,
      "target": 4184.568,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.33,
        "bb_width_pct": 0.518
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T04-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4176.475,
      "stop": 4167.933,
      "target": 4193.56,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.33,
        "bb_width_pct": 0.518
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T04-25-00Z_long_vwap_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T04:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4176.59,
      "stop": 4172.678,
      "target": 4184.414,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.88,
        "bb_width_pct": 0.455
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T04-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T04:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4176.59,
      "stop": 4168.453,
      "target": 4192.865,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.88,
        "bb_width_pct": 0.455
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T04-35-00Z_long_vwap_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4178.04,
      "stop": 4174.983,
      "target": 4184.153,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.49,
        "bb_width_pct": 0.329
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T04-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4178.04,
      "stop": 4171.052,
      "target": 4192.015,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.49,
        "bb_width_pct": 0.329
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T04-45-00Z_long_vwap_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4179.11,
      "stop": 4176.702,
      "target": 4183.927,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.89,
        "bb_width_pct": 0.188
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T05-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4181.845,
      "stop": 4184.081,
      "target": 4177.374,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.33,
        "bb_width_pct": 0.232
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T05-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4191.405,
      "stop": 4196.808,
      "target": 4180.599,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 27.28,
        "bb_width_pct": 0.56
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T05-30-00Z_short_rsi_range_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4191.405,
      "stop": 4196.808,
      "target": 4180.599,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 27.28,
        "bb_width_pct": 0.56
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T05-30-00Z_short_vwap_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4191.405,
      "stop": 4195.053,
      "target": 4184.11,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 27.28,
        "bb_width_pct": 0.56
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T05-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4191.405,
      "stop": 4194.361,
      "target": 4185.493,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 27.28,
        "bb_width_pct": 0.56
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T05-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4193.405,
      "stop": 4198.695,
      "target": 4182.825,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 24.63,
        "bb_width_pct": 0.636
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T05-40-00Z_short_rsi_range_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4193.405,
      "stop": 4198.695,
      "target": 4182.825,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 24.63,
        "bb_width_pct": 0.636
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T05-40-00Z_short_vwap_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4193.405,
      "stop": 4197.894,
      "target": 4184.427,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 24.63,
        "bb_width_pct": 0.636
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T05-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4193.405,
      "stop": 4197.361,
      "target": 4185.493,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 24.63,
        "bb_width_pct": 0.636
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T05-55-00Z_short_rsi_range_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T05:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4193.96,
      "stop": 4198.203,
      "target": 4185.475,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 24.63,
        "bb_width_pct": 0.692
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T05-55-00Z_short_vwap_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T05:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4193.96,
      "stop": 4198.524,
      "target": 4184.833,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 24.63,
        "bb_width_pct": 0.692
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T05-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T05:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4193.96,
      "stop": 4198.601,
      "target": 4184.677,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 24.63,
        "bb_width_pct": 0.692
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T05-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T05:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4193.96,
      "stop": 4196.964,
      "target": 4187.952,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 24.63,
        "bb_width_pct": 0.692
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T06-00-00Z_short_rsi_range_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4191.535,
      "stop": 4194.189,
      "target": 4186.228,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 14.47,
        "bb_width_pct": 0.673
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T06-00-00Z_short_vwap_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4191.535,
      "stop": 4194.83,
      "target": 4184.946,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.47,
        "bb_width_pct": 0.673
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T06-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4191.535,
      "stop": 4194.964,
      "target": 4184.677,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.47,
        "bb_width_pct": 0.673
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T06-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4191.535,
      "stop": 4193.156,
      "target": 4188.293,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.47,
        "bb_width_pct": 0.673
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T06-10-00Z_short_vwap_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T06:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4194.475,
      "stop": 4199.101,
      "target": 4185.223,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.13,
        "bb_width_pct": 0.645
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T06-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T06:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4194.475,
      "stop": 4199.374,
      "target": 4184.677,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.13,
        "bb_width_pct": 0.645
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T06-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T06:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4194.475,
      "stop": 4196.901,
      "target": 4189.624,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.13,
        "bb_width_pct": 0.645
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T06-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T06:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4197.62,
      "stop": 4201.237,
      "target": 4190.385,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.87,
        "bb_width_pct": 0.634
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T06-25-00Z_short_vwap_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T06:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4196.505,
      "stop": 4201.902,
      "target": 4185.71,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.3,
        "bb_width_pct": 0.576
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T06-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T06:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4196.505,
      "stop": 4201.948,
      "target": 4185.62,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.3,
        "bb_width_pct": 0.576
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T06-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T06:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4196.505,
      "stop": 4198.844,
      "target": 4191.827,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.3,
        "bb_width_pct": 0.576
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T06-35-00Z_short_vwap_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4198.47,
      "stop": 4204.696,
      "target": 4186.019,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 9.89,
        "bb_width_pct": 0.486
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T06-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4198.47,
      "stop": 4204.851,
      "target": 4185.708,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.89,
        "bb_width_pct": 0.486
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T06-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T06:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4202.36,
      "stop": 4206.061,
      "target": 4194.958,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.52,
        "bb_width_pct": 0.43
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T06-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T06:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4204.2,
      "stop": 4208.355,
      "target": 4195.891,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.21,
        "bb_width_pct": 0.419
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T06-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T06:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4197.59,
      "stop": 4198.163,
      "target": 4196.444,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.53,
        "bb_width_pct": 0.367
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T06-55-00Z_short_vwap_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T06:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4197.59,
      "stop": 4202.993,
      "target": 4186.783,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.53,
        "bb_width_pct": 0.367
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T06-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T06:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4197.59,
      "stop": 4201.873,
      "target": 4189.025,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.53,
        "bb_width_pct": 0.367
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T06-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T06:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4197.59,
      "stop": 4198.476,
      "target": 4195.818,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.53,
        "bb_width_pct": 0.367
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T07-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T07:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4194.49,
      "stop": 4192.453,
      "target": 4198.564,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.88,
        "bb_width_pct": 0.243
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T07-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T07:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4195.125,
      "stop": 4193.45,
      "target": 4198.475,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.32,
        "bb_width_pct": 0.251
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T07-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T07:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4190.49,
      "stop": 4187.923,
      "target": 4195.623,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.47,
        "bb_width_pct": 0.325
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T08-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4192.13,
      "stop": 4189.423,
      "target": 4197.543,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.44,
        "bb_width_pct": 0.342
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T08-00-00Z_long_rsi_range_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4192.13,
      "stop": 4189.423,
      "target": 4197.543,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.44,
        "bb_width_pct": 0.342
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T08-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4192.13,
      "stop": 4190.55,
      "target": 4195.291,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.44,
        "bb_width_pct": 0.342
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T08-15-00Z_long_rsi_range_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T08:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4190.89,
      "stop": 4188.086,
      "target": 4196.498,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.84,
        "bb_width_pct": 0.408
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T08-15-00Z_long_vwap_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T08:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4190.89,
      "stop": 4188.66,
      "target": 4195.349,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.84,
        "bb_width_pct": 0.408
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T09-10-00Z_short_rsi_range_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T09:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4205.375,
      "stop": 4210.695,
      "target": 4194.734,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 22.75,
        "bb_width_pct": 0.476
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T09-10-00Z_short_vwap_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T09:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4205.375,
      "stop": 4210.212,
      "target": 4195.702,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 22.75,
        "bb_width_pct": 0.476
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T09-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T09:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4205.375,
      "stop": 4208.466,
      "target": 4199.193,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 22.75,
        "bb_width_pct": 0.476
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T09-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T09:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4205.865,
      "stop": 4210.833,
      "target": 4195.928,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 24.89,
        "bb_width_pct": 0.584
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T09-20-00Z_short_rsi_range_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T09:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4205.865,
      "stop": 4210.833,
      "target": 4195.928,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 24.89,
        "bb_width_pct": 0.584
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T09-20-00Z_short_vwap_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T09:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4205.865,
      "stop": 4210.57,
      "target": 4196.456,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 24.89,
        "bb_width_pct": 0.584
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T09-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T09:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4205.865,
      "stop": 4209.201,
      "target": 4199.193,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 24.89,
        "bb_width_pct": 0.584
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T09-25-00Z_short_rsi_range_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T09:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4204.08,
      "stop": 4207.932,
      "target": 4196.376,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 19.81,
        "bb_width_pct": 0.608
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T09-25-00Z_short_vwap_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T09:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4204.08,
      "stop": 4207.757,
      "target": 4196.726,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 19.81,
        "bb_width_pct": 0.608
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T09-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T09:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4204.08,
      "stop": 4206.524,
      "target": 4199.193,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 19.81,
        "bb_width_pct": 0.608
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T09-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T09:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4204.08,
      "stop": 4206.502,
      "target": 4199.236,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.81,
        "bb_width_pct": 0.608
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T09-40-00Z_short_rsi_range_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T09:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4206.97,
      "stop": 4211.01,
      "target": 4198.89,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 23.75,
        "bb_width_pct": 0.679
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T09-40-00Z_short_vwap_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T09:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4206.97,
      "stop": 4211.604,
      "target": 4197.702,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 23.75,
        "bb_width_pct": 0.679
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T09-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T09:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4206.97,
      "stop": 4210.751,
      "target": 4199.408,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 23.75,
        "bb_width_pct": 0.679
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T09-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T09:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4206.97,
      "stop": 4209.703,
      "target": 4201.505,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 23.75,
        "bb_width_pct": 0.679
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T09-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T09:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4208.78,
      "stop": 4211.815,
      "target": 4202.711,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.89,
        "bb_width_pct": 0.673
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T09-55-00Z_short_rsi_range_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T09:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4208.23,
      "stop": 4211.607,
      "target": 4201.476,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 18.49,
        "bb_width_pct": 0.656
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T09-55-00Z_short_vwap_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T09:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4208.23,
      "stop": 4213.068,
      "target": 4198.554,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 18.49,
        "bb_width_pct": 0.656
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T09-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T09:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4208.23,
      "stop": 4212.63,
      "target": 4199.43,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.49,
        "bb_width_pct": 0.656
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T10-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T10:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4210.8,
      "stop": 4213.979,
      "target": 4204.442,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.15,
        "bb_width_pct": 0.617
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T10-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T10:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4210.23,
      "stop": 4214.592,
      "target": 4201.505,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.32,
        "bb_width_pct": 0.524
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T10-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T10:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4210.23,
      "stop": 4212.475,
      "target": 4205.74,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.32,
        "bb_width_pct": 0.524
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T10-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T10:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4210.06,
      "stop": 4214.338,
      "target": 4201.505,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.35,
        "bb_width_pct": 0.405
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T10-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T10:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4210.06,
      "stop": 4211.769,
      "target": 4206.643,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.35,
        "bb_width_pct": 0.405
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T10-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T10:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4209.385,
      "stop": 4213.311,
      "target": 4201.533,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.87,
        "bb_width_pct": 0.237
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T10-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T10:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4208.68,
      "stop": 4212.254,
      "target": 4201.533,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.15,
        "bb_width_pct": 0.196
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T10-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T10:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4204.795,
      "stop": 4202.953,
      "target": 4208.479,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.22,
        "bb_width_pct": 0.21
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T11-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T11:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4210.825,
      "stop": 4211.739,
      "target": 4208.997,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.6,
        "bb_width_pct": 0.181
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T11-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T11:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4210.825,
      "stop": 4212.44,
      "target": 4207.595,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.6,
        "bb_width_pct": 0.181
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T11-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T11:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4205.98,
      "stop": 4204.622,
      "target": 4208.696,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.27,
        "bb_width_pct": 0.212
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T11-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T11:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4206.48,
      "stop": 4205.416,
      "target": 4208.609,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.61,
        "bb_width_pct": 0.217
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T11-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T11:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4205.6,
      "stop": 4204.483,
      "target": 4207.834,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.21,
        "bb_width_pct": 0.205
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T12-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T12:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4210.845,
      "stop": 4212.55,
      "target": 4207.436,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.12,
        "bb_width_pct": 0.184
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T12-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T12:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4208.56,
      "stop": 4209.045,
      "target": 4207.59,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.87,
        "bb_width_pct": 0.18
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T12-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T12:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4205.95,
      "stop": 4205.183,
      "target": 4207.483,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.27,
        "bb_width_pct": 0.183
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T12-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T12:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4204.035,
      "stop": 4202.475,
      "target": 4207.154,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.31,
        "bb_width_pct": 0.199
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T12-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T12:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4204.035,
      "stop": 4201.84,
      "target": 4208.425,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.31,
        "bb_width_pct": 0.199
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T12-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T12:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4202.565,
      "stop": 4200.477,
      "target": 4206.741,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.08,
        "bb_width_pct": 0.203
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T12-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T12:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4202.565,
      "stop": 4200.602,
      "target": 4206.492,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.08,
        "bb_width_pct": 0.203
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T13-00-00Z_long_rsi_range_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4193.635,
      "stop": 4188.073,
      "target": 4204.759,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.78,
        "bb_width_pct": 0.446
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T13-00-00Z_long_vwap_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4193.635,
      "stop": 4188.321,
      "target": 4204.262,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.78,
        "bb_width_pct": 0.446
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T13-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4193.635,
      "stop": 4188.579,
      "target": 4203.747,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 21.78,
        "bb_width_pct": 0.446
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T13-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T13:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4194.365,
      "stop": 4189.782,
      "target": 4203.531,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.17,
        "bb_width_pct": 0.564
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T13-10-00Z_long_rsi_range_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T13:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4194.365,
      "stop": 4189.782,
      "target": 4203.531,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.17,
        "bb_width_pct": 0.564
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T13-10-00Z_long_vwap_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T13:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4194.365,
      "stop": 4190.214,
      "target": 4202.667,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.17,
        "bb_width_pct": 0.564
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T13-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T13:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4194.365,
      "stop": 4190.517,
      "target": 4202.06,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 20.17,
        "bb_width_pct": 0.564
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T13-15-00Z_long_rsi_range_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T13:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4195.965,
      "stop": 4192.445,
      "target": 4203.006,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.6,
        "bb_width_pct": 0.582
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T13-15-00Z_long_vwap_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T13:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4195.965,
      "stop": 4192.835,
      "target": 4202.224,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.6,
        "bb_width_pct": 0.582
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T13-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T13:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4195.965,
      "stop": 4193.453,
      "target": 4200.989,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.6,
        "bb_width_pct": 0.582
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T13-35-00Z_long_rsi_range_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4192.07,
      "stop": 4188.334,
      "target": 4199.542,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.7,
        "bb_width_pct": 0.763
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T13-35-00Z_long_vwap_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4192.07,
      "stop": 4188.316,
      "target": 4199.578,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.7,
        "bb_width_pct": 0.763
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T13-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4192.07,
      "stop": 4188.541,
      "target": 4199.128,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 18.7,
        "bb_width_pct": 0.763
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T13-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4192.07,
      "stop": 4189.596,
      "target": 4197.018,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.7,
        "bb_width_pct": 0.763
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T13-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T13:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4190.975,
      "stop": 4188.241,
      "target": 4196.442,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.72,
        "bb_width_pct": 0.742
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T14-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T14:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4206.18,
      "stop": 4210.837,
      "target": 4196.866,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.32,
        "bb_width_pct": 0.583
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T14-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T14:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4206.18,
      "stop": 4209.984,
      "target": 4198.571,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.32,
        "bb_width_pct": 0.583
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T14-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T14:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4191.4,
      "stop": 4188.35,
      "target": 4197.5,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.04,
        "bb_width_pct": 0.546
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T15-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T15:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4180.97,
      "stop": 4174.504,
      "target": 4193.901,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.76,
        "bb_width_pct": 0.618
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T15-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T15:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4179.145,
      "stop": 4173.327,
      "target": 4190.782,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.49,
        "bb_width_pct": 0.724
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T15-50-00Z_long_vwap_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T15:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4179.145,
      "stop": 4170.633,
      "target": 4196.17,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.49,
        "bb_width_pct": 0.724
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T15-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T15:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4179.145,
      "stop": 4173.541,
      "target": 4190.352,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 24.49,
        "bb_width_pct": 0.724
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T15-55-00Z_long_vwap_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T15:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4182.805,
      "stop": 4176.269,
      "target": 4195.876,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.61,
        "bb_width_pct": 0.732
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T15-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T15:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4182.805,
      "stop": 4179.964,
      "target": 4188.488,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.61,
        "bb_width_pct": 0.732
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T16-10-00Z_long_rsi_range_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T16:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4177.78,
      "stop": 4172.622,
      "target": 4188.097,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.07,
        "bb_width_pct": 0.843
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T16-10-00Z_long_vwap_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T16:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4177.78,
      "stop": 4169.256,
      "target": 4194.827,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.07,
        "bb_width_pct": 0.843
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T16-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T16:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4177.78,
      "stop": 4171.52,
      "target": 4190.3,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 21.07,
        "bb_width_pct": 0.843
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T16-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T16:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4177.78,
      "stop": 4173.853,
      "target": 4185.634,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.07,
        "bb_width_pct": 0.843
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T16-15-00Z_long_vwap_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T16:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4179.405,
      "stop": 4171.849,
      "target": 4194.518,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.14,
        "bb_width_pct": 0.859
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T16-20-00Z_long_vwap_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T16:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4181.34,
      "stop": 4174.877,
      "target": 4194.266,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.88,
        "bb_width_pct": 0.859
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T16-25-00Z_long_vwap_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T16:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4182.69,
      "stop": 4177.016,
      "target": 4194.037,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.37,
        "bb_width_pct": 0.804
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T16-30-00Z_long_vwap_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T16:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4184.79,
      "stop": 4180.261,
      "target": 4193.849,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.54,
        "bb_width_pct": 0.763
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T16-45-00Z_long_vwap_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4185.075,
      "stop": 4180.956,
      "target": 4193.312,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.66,
        "bb_width_pct": 0.58
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T16-50-00Z_long_vwap_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T16:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4187.11,
      "stop": 4184.067,
      "target": 4193.196,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.12,
        "bb_width_pct": 0.492
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T16-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4190.13,
      "stop": 4193.904,
      "target": 4182.582,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.5,
        "bb_width_pct": 0.476
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T16-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4190.13,
      "stop": 4192.66,
      "target": 4185.071,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.5,
        "bb_width_pct": 0.476
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T17-10-00Z_short_rsi_range_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T17:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4186.84,
      "stop": 4189.077,
      "target": 4182.365,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 19.9,
        "bb_width_pct": 0.449
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T17-20-00Z_short_rsi_range_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T17:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4189.175,
      "stop": 4192.191,
      "target": 4183.142,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 20.2,
        "bb_width_pct": 0.49
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T17-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T17:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4189.175,
      "stop": 4190.543,
      "target": 4186.439,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.2,
        "bb_width_pct": 0.49
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T17-35-00Z_long_vwap_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T17:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4181.11,
      "stop": 4178.573,
      "target": 4186.184,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.67,
        "bb_width_pct": 0.4
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T17-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T17:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4181.11,
      "stop": 4179.101,
      "target": 4185.127,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.67,
        "bb_width_pct": 0.4
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T18-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T18:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4188.715,
      "stop": 4190.702,
      "target": 4184.74,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.75,
        "bb_width_pct": 0.296
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T18-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T18:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4189.855,
      "stop": 4191.881,
      "target": 4185.802,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.76,
        "bb_width_pct": 0.288
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T18-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T18:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4191.985,
      "stop": 4195.24,
      "target": 4185.475,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 27.77,
        "bb_width_pct": 0.317
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T18-50-00Z_short_rsi_range_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T18:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4190.77,
      "stop": 4193.319,
      "target": 4185.672,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 22.31,
        "bb_width_pct": 0.335
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T18-50-00Z_short_vwap_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T18:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4190.77,
      "stop": 4193.157,
      "target": 4185.997,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 22.31,
        "bb_width_pct": 0.335
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T18-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T18:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4190.77,
      "stop": 4195.393,
      "target": 4181.525,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 22.31,
        "bb_width_pct": 0.335
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T18-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T18:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4190.77,
      "stop": 4192.751,
      "target": 4186.808,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.31,
        "bb_width_pct": 0.335
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T19-10-00Z_short_rsi_range_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T19:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4191.455,
      "stop": 4193.719,
      "target": 4186.927,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 20.16,
        "bb_width_pct": 0.365
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T19-10-00Z_short_vwap_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T19:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4191.455,
      "stop": 4193.753,
      "target": 4186.859,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 20.16,
        "bb_width_pct": 0.365
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T19-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T19:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4191.455,
      "stop": 4195.214,
      "target": 4183.938,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 20.16,
        "bb_width_pct": 0.365
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T19-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T19:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4191.455,
      "stop": 4192.956,
      "target": 4188.453,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.16,
        "bb_width_pct": 0.365
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T19-15-00Z_short_rsi_range_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T19:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4190.9,
      "stop": 4192.642,
      "target": 4187.416,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 19.11,
        "bb_width_pct": 0.351
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T19-15-00Z_short_vwap_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T19:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4190.9,
      "stop": 4192.846,
      "target": 4187.008,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 19.11,
        "bb_width_pct": 0.351
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T19-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T19:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4190.9,
      "stop": 4194.381,
      "target": 4183.938,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 19.11,
        "bb_width_pct": 0.351
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T19-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T19:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4188.515,
      "stop": 4190.804,
      "target": 4183.938,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.05,
        "bb_width_pct": 0.327
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T20-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T20:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4192.47,
      "stop": 4194.471,
      "target": 4188.467,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.01,
        "bb_width_pct": 0.228
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T20-05-00Z_short_vwap_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T20:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4190.68,
      "stop": 4192.34,
      "target": 4187.36,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.34,
        "bb_width_pct": 0.229
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T20-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T20:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4190.68,
      "stop": 4193.27,
      "target": 4185.5,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.34,
        "bb_width_pct": 0.229
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T20-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T20:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4190.68,
      "stop": 4191.681,
      "target": 4188.678,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.34,
        "bb_width_pct": 0.229
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T20-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T20:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4190.5,
      "stop": 4193.0,
      "target": 4185.5,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.05,
        "bb_width_pct": 0.218
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T20-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T20:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4190.41,
      "stop": 4192.865,
      "target": 4185.5,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.1,
        "bb_width_pct": 0.214
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T20-40-00Z_short_vwap_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4192.89,
      "stop": 4195.339,
      "target": 4187.991,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.28,
        "bb_width_pct": 0.234
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T20-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4192.89,
      "stop": 4196.585,
      "target": 4185.5,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.28,
        "bb_width_pct": 0.234
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T20-45-00Z_short_vwap_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T20:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4191.205,
      "stop": 4192.771,
      "target": 4188.073,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 18.41,
        "bb_width_pct": 0.229
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T20-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T20:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4191.205,
      "stop": 4194.057,
      "target": 4185.5,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.41,
        "bb_width_pct": 0.229
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T20-55-00Z_short_rsi_range_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T20:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4191.69,
      "stop": 4192.566,
      "target": 4189.937,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 13.2,
        "bb_width_pct": 0.232
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T20-55-00Z_short_vwap_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T20:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4191.69,
      "stop": 4193.422,
      "target": 4188.225,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.2,
        "bb_width_pct": 0.232
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T20-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T20:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4191.69,
      "stop": 4194.029,
      "target": 4187.012,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.2,
        "bb_width_pct": 0.232
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T22-00-00Z_long_vwap_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T22:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4192.86,
      "stop": 4185.494,
      "target": 4207.592,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.07,
        "bb_width_pct": 0.238
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T22-05-00Z_long_vwap_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T22:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4192.865,
      "stop": 4185.787,
      "target": 4207.022,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.5,
        "bb_width_pct": 0.236
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T22-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T22:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4192.56,
      "stop": 4194.863,
      "target": 4187.955,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.87,
        "bb_width_pct": 0.229
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T22-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T22:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4192.22,
      "stop": 4194.204,
      "target": 4188.253,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.67,
        "bb_width_pct": 0.225
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T22-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T22:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4191.755,
      "stop": 4193.423,
      "target": 4188.42,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.94,
        "bb_width_pct": 0.178
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T22-25-00Z_long_vwap_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T22:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4193.05,
      "stop": 4187.037,
      "target": 4205.075,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.92,
        "bb_width_pct": 0.128
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T22-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T22:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4192.705,
      "stop": 4193.111,
      "target": 4191.894,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.94,
        "bb_width_pct": 0.089
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T22-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T22:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4192.705,
      "stop": 4194.597,
      "target": 4188.92,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.94,
        "bb_width_pct": 0.089
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T22-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T22:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4192.705,
      "stop": 4193.266,
      "target": 4191.583,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.94,
        "bb_width_pct": 0.089
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T22-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T22:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4190.21,
      "stop": 4189.391,
      "target": 4191.849,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.44,
        "bb_width_pct": 0.093
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T22-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T22:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4190.265,
      "stop": 4189.539,
      "target": 4191.716,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.68,
        "bb_width_pct": 0.115
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T22-50-00Z_long_vwap_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T22:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4190.265,
      "stop": 4183.87,
      "target": 4203.056,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.68,
        "bb_width_pct": 0.115
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T23-00-00Z_long_vwap_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4190.505,
      "stop": 4184.568,
      "target": 4202.378,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.48,
        "bb_width_pct": 0.12
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T23-05-00Z_long_vwap_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4191.84,
      "stop": 4186.715,
      "target": 4202.089,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.77,
        "bb_width_pct": 0.117
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T23-15-00Z_long_vwap_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4191.405,
      "stop": 4186.335,
      "target": 4201.545,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.12,
        "bb_width_pct": 0.11
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T23-25-00Z_long_vwap_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T23:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4191.08,
      "stop": 4186.099,
      "target": 4201.042,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.43,
        "bb_width_pct": 0.108
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T23-30-00Z_long_vwap_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4192.45,
      "stop": 4188.259,
      "target": 4200.832,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.12,
        "bb_width_pct": 0.11
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T23-35-00Z_long_vwap_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4194.815,
      "stop": 4191.884,
      "target": 4200.676,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.18,
        "bb_width_pct": 0.13
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T23-40-00Z_long_vwap_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4194.83,
      "stop": 4191.973,
      "target": 4200.544,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.61,
        "bb_width_pct": 0.144
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T23-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4194.83,
      "stop": 4196.324,
      "target": 4191.842,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.61,
        "bb_width_pct": 0.144
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T23-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4190.855,
      "stop": 4191.411,
      "target": 4189.743,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.14,
        "bb_width_pct": 0.143
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T23-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T23:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4187.615,
      "stop": 4185.838,
      "target": 4191.168,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.36,
        "bb_width_pct": 0.181
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T23-55-00Z_long_vwap_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T23:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4187.615,
      "stop": 4181.495,
      "target": 4199.856,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.36,
        "bb_width_pct": 0.181
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-22T23-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T23:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4187.615,
      "stop": 4185.925,
      "target": 4190.995,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.36,
        "bb_width_pct": 0.181
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T00-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4189.4,
      "stop": 4188.575,
      "target": 4191.05,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.62,
        "bb_width_pct": 0.184
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T00-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4189.4,
      "stop": 4188.678,
      "target": 4190.844,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.62,
        "bb_width_pct": 0.184
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T00-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T00:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4182.365,
      "stop": 4178.825,
      "target": 4189.444,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.38,
        "bb_width_pct": 0.357
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T00-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T00:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4182.365,
      "stop": 4180.112,
      "target": 4186.87,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 19.38,
        "bb_width_pct": 0.357
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T00-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T00:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4182.73,
      "stop": 4179.56,
      "target": 4189.07,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.27,
        "bb_width_pct": 0.383
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T00-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T00:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4182.73,
      "stop": 4180.66,
      "target": 4186.87,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 18.27,
        "bb_width_pct": 0.383
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T00-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T00:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4183.94,
      "stop": 4181.493,
      "target": 4188.834,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.1,
        "bb_width_pct": 0.397
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T00-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T00:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4183.94,
      "stop": 4182.475,
      "target": 4186.87,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 13.1,
        "bb_width_pct": 0.397
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T00-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T00:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4183.94,
      "stop": 4182.121,
      "target": 4187.578,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.1,
        "bb_width_pct": 0.397
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T00-45-00Z_short_vwap_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T00:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4191.29,
      "stop": 4194.208,
      "target": 4185.454,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.47,
        "bb_width_pct": 0.414
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T00-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T00:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4191.29,
      "stop": 4193.5,
      "target": 4186.87,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.47,
        "bb_width_pct": 0.414
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T01-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4189.95,
      "stop": 4190.656,
      "target": 4188.537,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.26,
        "bb_width_pct": 0.424
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T01-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4189.95,
      "stop": 4191.49,
      "target": 4186.87,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.26,
        "bb_width_pct": 0.424
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T01-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4189.95,
      "stop": 4190.436,
      "target": 4188.977,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.26,
        "bb_width_pct": 0.424
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T01-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T01:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4178.375,
      "stop": 4174.47,
      "target": 4186.185,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.51,
        "bb_width_pct": 0.485
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T01-20-00Z_long_vwap_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T01:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4178.375,
      "stop": 4174.563,
      "target": 4185.999,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.51,
        "bb_width_pct": 0.485
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T01-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T01:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4178.375,
      "stop": 4174.804,
      "target": 4185.517,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.51,
        "bb_width_pct": 0.485
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T01-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T01:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4178.375,
      "stop": 4174.388,
      "target": 4186.349,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.51,
        "bb_width_pct": 0.485
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T02-35-00Z_long_vwap_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T02:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4157.98,
      "stop": 4150.065,
      "target": 4173.81,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.69,
        "bb_width_pct": 1.177
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T02-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T02:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4157.98,
      "stop": 4150.092,
      "target": 4173.755,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 11.69,
        "bb_width_pct": 1.177
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T02-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T02:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4154.935,
      "stop": 4150.512,
      "target": 4163.781,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.96,
        "bb_width_pct": 1.063
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T02-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4154.19,
      "stop": 4149.851,
      "target": 4162.868,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.14,
        "bb_width_pct": 0.925
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T03-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4142.235,
      "stop": 4134.79,
      "target": 4157.125,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.8,
        "bb_width_pct": 0.722
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T03-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T03:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4142.205,
      "stop": 4136.364,
      "target": 4153.887,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.09,
        "bb_width_pct": 0.619
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T03-10-00Z_long_rsi_range_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T03:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4142.205,
      "stop": 4136.364,
      "target": 4153.887,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.09,
        "bb_width_pct": 0.619
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T03-10-00Z_long_vwap_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T03:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4142.205,
      "stop": 4128.679,
      "target": 4169.258,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.09,
        "bb_width_pct": 0.619
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T03-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T03:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4142.205,
      "stop": 4128.802,
      "target": 4169.01,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.09,
        "bb_width_pct": 0.619
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T03-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T03:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4135.835,
      "stop": 4127.983,
      "target": 4151.539,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 27.27,
        "bb_width_pct": 0.803
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T03-20-00Z_long_rsi_range_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T03:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4135.835,
      "stop": 4127.983,
      "target": 4151.539,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 27.27,
        "bb_width_pct": 0.803
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T03-20-00Z_long_vwap_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T03:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4135.835,
      "stop": 4119.95,
      "target": 4167.606,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 27.27,
        "bb_width_pct": 0.803
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T03-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T03:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4135.835,
      "stop": 4121.095,
      "target": 4165.315,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 27.27,
        "bb_width_pct": 0.803
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T03-25-00Z_long_rsi_range_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4140.98,
      "stop": 4135.937,
      "target": 4151.065,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.68,
        "bb_width_pct": 0.833
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T03-25-00Z_long_vwap_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4140.98,
      "stop": 4128.01,
      "target": 4166.921,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.68,
        "bb_width_pct": 0.833
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T03-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4140.98,
      "stop": 4129.077,
      "target": 4164.785,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 23.68,
        "bb_width_pct": 0.833
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T03-40-00Z_long_rsi_range_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T03:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4139.025,
      "stop": 4134.557,
      "target": 4147.96,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.8,
        "bb_width_pct": 0.857
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T03-40-00Z_long_vwap_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T03:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4139.025,
      "stop": 4126.029,
      "target": 4165.017,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.8,
        "bb_width_pct": 0.857
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T03-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T03:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4139.025,
      "stop": 4126.145,
      "target": 4164.785,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 22.8,
        "bb_width_pct": 0.857
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T03-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T03:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4139.025,
      "stop": 4134.752,
      "target": 4147.57,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.8,
        "bb_width_pct": 0.857
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T03-45-00Z_long_rsi_range_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T03:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4139.09,
      "stop": 4134.969,
      "target": 4147.332,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.96,
        "bb_width_pct": 0.873
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T03-45-00Z_long_vwap_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T03:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4139.09,
      "stop": 4126.412,
      "target": 4164.446,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.96,
        "bb_width_pct": 0.873
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T03-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T03:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4139.09,
      "stop": 4126.243,
      "target": 4164.785,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 18.96,
        "bb_width_pct": 0.873
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T03-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T03:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4139.09,
      "stop": 4135.254,
      "target": 4146.763,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.96,
        "bb_width_pct": 0.873
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T03-50-00Z_long_vwap_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T03:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4141.11,
      "stop": 4129.696,
      "target": 4163.939,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.32,
        "bb_width_pct": 0.871
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T03-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T03:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4141.11,
      "stop": 4129.272,
      "target": 4164.785,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 16.32,
        "bb_width_pct": 0.871
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T03-55-00Z_long_vwap_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T03:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4144.195,
      "stop": 4134.542,
      "target": 4163.502,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.51,
        "bb_width_pct": 0.834
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T03-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T03:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4144.195,
      "stop": 4133.9,
      "target": 4164.785,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.51,
        "bb_width_pct": 0.834
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T04-00-00Z_long_vwap_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T04:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4144.8,
      "stop": 4135.635,
      "target": 4163.13,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.74,
        "bb_width_pct": 0.772
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T04-20-00Z_long_vwap_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4140.395,
      "stop": 4129.826,
      "target": 4161.533,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.79,
        "bb_width_pct": 0.473
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T04-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4140.395,
      "stop": 4129.256,
      "target": 4162.673,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.79,
        "bb_width_pct": 0.473
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T04-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T04:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4140.26,
      "stop": 4138.313,
      "target": 4144.154,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.97,
        "bb_width_pct": 0.39
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T04-35-00Z_long_vwap_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4139.325,
      "stop": 4128.84,
      "target": 4160.295,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.22,
        "bb_width_pct": 0.277
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T04-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4139.325,
      "stop": 4131.0,
      "target": 4155.975,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.22,
        "bb_width_pct": 0.277
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T04-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4139.325,
      "stop": 4137.465,
      "target": 4143.044,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.22,
        "bb_width_pct": 0.277
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T04-45-00Z_long_vwap_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4139.105,
      "stop": 4128.875,
      "target": 4159.565,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.16,
        "bb_width_pct": 0.275
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T05-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4134.73,
      "stop": 4132.709,
      "target": 4138.771,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.45,
        "bb_width_pct": 0.527
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T05-00-00Z_long_vwap_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4134.73,
      "stop": 4123.062,
      "target": 4158.066,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.45,
        "bb_width_pct": 0.527
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T05-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4134.73,
      "stop": 4132.539,
      "target": 4139.112,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 11.45,
        "bb_width_pct": 0.527
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T05-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4134.73,
      "stop": 4132.632,
      "target": 4138.926,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.45,
        "bb_width_pct": 0.527
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T05-10-00Z_long_vwap_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4129.975,
      "stop": 4116.375,
      "target": 4157.174,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.83,
        "bb_width_pct": 0.596
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T05-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4129.975,
      "stop": 4126.402,
      "target": 4137.12,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.83,
        "bb_width_pct": 0.596
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T05-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4127.89,
      "stop": 4123.714,
      "target": 4136.241,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.07,
        "bb_width_pct": 0.63
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T05-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4125.06,
      "stop": 4120.364,
      "target": 4134.452,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.39,
        "bb_width_pct": 0.699
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T05-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4131.48,
      "stop": 4129.494,
      "target": 4135.451,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.34,
        "bb_width_pct": 0.696
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T05-30-00Z_long_vwap_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4131.48,
      "stop": 4119.527,
      "target": 4155.386,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.34,
        "bb_width_pct": 0.696
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T05-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4131.48,
      "stop": 4127.664,
      "target": 4139.112,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.34,
        "bb_width_pct": 0.696
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T05-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4131.48,
      "stop": 4130.136,
      "target": 4134.169,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.34,
        "bb_width_pct": 0.696
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T05-40-00Z_long_vwap_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4127.685,
      "stop": 4114.247,
      "target": 4154.562,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.2,
        "bb_width_pct": 0.674
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T05-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4127.685,
      "stop": 4121.971,
      "target": 4139.112,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.2,
        "bb_width_pct": 0.674
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T05-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T05:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4119.045,
      "stop": 4112.368,
      "target": 4132.399,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.7,
        "bb_width_pct": 0.699
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T05-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T05:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4119.045,
      "stop": 4112.828,
      "target": 4131.479,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.7,
        "bb_width_pct": 0.699
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T05-50-00Z_long_vwap_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4120.705,
      "stop": 4104.252,
      "target": 4153.61,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.19,
        "bb_width_pct": 0.695
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T05-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4120.705,
      "stop": 4112.539,
      "target": 4137.038,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.19,
        "bb_width_pct": 0.695
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T05-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4120.705,
      "stop": 4115.831,
      "target": 4130.453,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.19,
        "bb_width_pct": 0.695
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T05-55-00Z_long_vwap_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T05:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4121.245,
      "stop": 4105.295,
      "target": 4153.145,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.75,
        "bb_width_pct": 0.697
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T05-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T05:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4121.245,
      "stop": 4113.542,
      "target": 4136.65,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.75,
        "bb_width_pct": 0.697
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T06-00-00Z_long_vwap_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4123.16,
      "stop": 4108.372,
      "target": 4152.737,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.83,
        "bb_width_pct": 0.675
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T06-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4123.16,
      "stop": 4116.849,
      "target": 4135.782,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 3.83,
        "bb_width_pct": 0.675
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T06-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4113.535,
      "stop": 4106.241,
      "target": 4128.123,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.19,
        "bb_width_pct": 0.709
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T06-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T06:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4122.51,
      "stop": 4120.056,
      "target": 4127.418,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.81,
        "bb_width_pct": 0.693
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T06-10-00Z_long_vwap_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T06:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4122.51,
      "stop": 4107.858,
      "target": 4151.815,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.81,
        "bb_width_pct": 0.693
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T06-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T06:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4122.51,
      "stop": 4116.68,
      "target": 4134.17,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.81,
        "bb_width_pct": 0.693
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T06-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T06:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4122.51,
      "stop": 4120.255,
      "target": 4127.021,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.81,
        "bb_width_pct": 0.693
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T06-20-00Z_long_vwap_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T06:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4122.515,
      "stop": 4108.244,
      "target": 4151.057,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.9,
        "bb_width_pct": 0.589
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T06-30-00Z_long_vwap_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4119.72,
      "stop": 4104.468,
      "target": 4150.225,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.59,
        "bb_width_pct": 0.501
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T06-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4119.72,
      "stop": 4115.035,
      "target": 4129.09,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.59,
        "bb_width_pct": 0.501
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T06-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T06:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4113.5,
      "stop": 4108.895,
      "target": 4122.709,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.74,
        "bb_width_pct": 0.497
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T06-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T06:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4113.5,
      "stop": 4108.781,
      "target": 4122.937,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.74,
        "bb_width_pct": 0.497
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T06-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T06:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4115.64,
      "stop": 4112.411,
      "target": 4122.098,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.1,
        "bb_width_pct": 0.505
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T06-45-00Z_long_vwap_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T06:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4115.64,
      "stop": 4098.992,
      "target": 4148.937,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.1,
        "bb_width_pct": 0.505
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T06-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T06:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4115.64,
      "stop": 4109.004,
      "target": 4128.913,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 11.1,
        "bb_width_pct": 0.505
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T06-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T06:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4115.64,
      "stop": 4112.339,
      "target": 4122.242,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.1,
        "bb_width_pct": 0.505
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T06-50-00Z_long_vwap_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T06:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4118.25,
      "stop": 4103.095,
      "target": 4148.559,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.76,
        "bb_width_pct": 0.479
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T06-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T06:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4118.25,
      "stop": 4113.025,
      "target": 4128.7,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.76,
        "bb_width_pct": 0.479
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T07-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T07:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4119.795,
      "stop": 4119.473,
      "target": 4120.44,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.38,
        "bb_width_pct": 0.453
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T07-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T07:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4119.795,
      "stop": 4115.343,
      "target": 4128.7,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.38,
        "bb_width_pct": 0.453
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T07-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T07:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4117.91,
      "stop": 4112.579,
      "target": 4128.573,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.52,
        "bb_width_pct": 0.352
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T07-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T07:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4111.695,
      "stop": 4108.489,
      "target": 4118.106,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.27,
        "bb_width_pct": 0.32
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T07-45-00Z_long_vwap_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T07:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4106.555,
      "stop": 4102.016,
      "target": 4115.633,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.92,
        "bb_width_pct": 0.457
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T07-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T07:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4106.555,
      "stop": 4098.724,
      "target": 4122.217,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.92,
        "bb_width_pct": 0.457
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T08-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T08:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4094.49,
      "stop": 4085.745,
      "target": 4111.979,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 27.85,
        "bb_width_pct": 0.857
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T08-05-00Z_long_rsi_range_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T08:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4094.49,
      "stop": 4085.745,
      "target": 4111.979,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 27.85,
        "bb_width_pct": 0.857
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T08-05-00Z_long_vwap_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T08:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4094.49,
      "stop": 4086.524,
      "target": 4110.421,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 27.85,
        "bb_width_pct": 0.857
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T08-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T08:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4094.49,
      "stop": 4083.962,
      "target": 4115.545,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 27.85,
        "bb_width_pct": 0.857
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T08-15-00Z_long_rsi_range_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T08:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4098.4,
      "stop": 4092.694,
      "target": 4109.811,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.97,
        "bb_width_pct": 0.944
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T08-15-00Z_long_vwap_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T08:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4098.4,
      "stop": 4093.317,
      "target": 4108.566,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.97,
        "bb_width_pct": 0.944
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T08-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T08:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4098.4,
      "stop": 4090.444,
      "target": 4114.312,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 19.97,
        "bb_width_pct": 0.944
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T08-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T08:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4098.4,
      "stop": 4093.826,
      "target": 4107.548,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.97,
        "bb_width_pct": 0.944
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T08-25-00Z_long_rsi_range_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T08:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4098.21,
      "stop": 4093.251,
      "target": 4108.128,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.17,
        "bb_width_pct": 0.991
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T08-25-00Z_long_vwap_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T08:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4098.21,
      "stop": 4093.643,
      "target": 4107.345,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.17,
        "bb_width_pct": 0.991
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T08-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T08:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4098.21,
      "stop": 4091.064,
      "target": 4112.503,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 26.17,
        "bb_width_pct": 0.991
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T08-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T08:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4098.21,
      "stop": 4094.429,
      "target": 4105.773,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.17,
        "bb_width_pct": 0.991
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T08-30-00Z_long_rsi_range_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4101.75,
      "stop": 4098.974,
      "target": 4107.303,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.63,
        "bb_width_pct": 0.973
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T08-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4101.75,
      "stop": 4096.374,
      "target": 4112.503,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 20.63,
        "bb_width_pct": 0.973
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T08-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4101.75,
      "stop": 4099.93,
      "target": 4105.389,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.63,
        "bb_width_pct": 0.973
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T08-35-00Z_long_rsi_range_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4102.36,
      "stop": 4100.192,
      "target": 4106.697,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.41,
        "bb_width_pct": 0.964
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T09-15-00Z_short_rsi_range_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T09:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4111.3,
      "stop": 4115.447,
      "target": 4103.007,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 22.24,
        "bb_width_pct": 0.574
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T09-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T09:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4116.04,
      "stop": 4122.283,
      "target": 4103.554,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.47,
        "bb_width_pct": 0.637
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T09-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T09:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4116.04,
      "stop": 4119.99,
      "target": 4108.141,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.47,
        "bb_width_pct": 0.637
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T09-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T09:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4112.67,
      "stop": 4114.719,
      "target": 4108.572,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.26,
        "bb_width_pct": 0.663
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T09-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4118.52,
      "stop": 4122.661,
      "target": 4110.239,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.51,
        "bb_width_pct": 0.759
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T09-40-00Z_short_rsi_range_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T09:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4117.12,
      "stop": 4122.236,
      "target": 4106.887,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 19.51,
        "bb_width_pct": 0.735
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T09-40-00Z_short_vwap_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T09:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4117.12,
      "stop": 4121.423,
      "target": 4108.515,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 19.51,
        "bb_width_pct": 0.735
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T09-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T09:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4117.12,
      "stop": 4121.692,
      "target": 4107.975,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 19.51,
        "bb_width_pct": 0.735
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T09-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T09:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4117.12,
      "stop": 4120.233,
      "target": 4110.894,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.51,
        "bb_width_pct": 0.735
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T09-50-00Z_short_vwap_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T09:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4115.58,
      "stop": 4118.871,
      "target": 4108.997,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 16.89,
        "bb_width_pct": 0.657
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T10-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T10:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4127.045,
      "stop": 4133.831,
      "target": 4113.474,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 23.36,
        "bb_width_pct": 0.743
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T10-05-00Z_short_rsi_range_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T10:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4127.045,
      "stop": 4133.831,
      "target": 4113.474,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 23.36,
        "bb_width_pct": 0.743
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T10-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T10:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4127.045,
      "stop": 4134.44,
      "target": 4112.255,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 23.36,
        "bb_width_pct": 0.743
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T10-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T10:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4127.875,
      "stop": 4135.685,
      "target": 4112.255,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 24.12,
        "bb_width_pct": 0.827
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T10-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T10:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4128.83,
      "stop": 4137.118,
      "target": 4112.255,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.89,
        "bb_width_pct": 0.77
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T10-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T10:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4128.83,
      "stop": 4132.126,
      "target": 4122.239,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.89,
        "bb_width_pct": 0.77
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T10-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T10:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4126.535,
      "stop": 4133.675,
      "target": 4112.255,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.83,
        "bb_width_pct": 0.74
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T10-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T10:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4126.535,
      "stop": 4128.479,
      "target": 4122.648,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.83,
        "bb_width_pct": 0.74
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T11-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T11:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4128.34,
      "stop": 4136.382,
      "target": 4112.255,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.88,
        "bb_width_pct": 0.5
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T11-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T11:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4129.415,
      "stop": 4132.032,
      "target": 4124.182,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.81,
        "bb_width_pct": 0.471
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T11-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T11:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4127.35,
      "stop": 4134.658,
      "target": 4112.735,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.78,
        "bb_width_pct": 0.432
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T11-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T11:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4123.56,
      "stop": 4128.854,
      "target": 4112.972,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.05,
        "bb_width_pct": 0.366
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T11-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T11:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4121.155,
      "stop": 4118.48,
      "target": 4126.505,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.37,
        "bb_width_pct": 0.357
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T11-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T11:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4121.765,
      "stop": 4119.527,
      "target": 4126.241,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.57,
        "bb_width_pct": 0.371
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T12-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T12:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4113.98,
      "stop": 4109.778,
      "target": 4122.384,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.33,
        "bb_width_pct": 0.38
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T12-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T12:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4117.935,
      "stop": 4115.302,
      "target": 4123.201,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.79,
        "bb_width_pct": 0.381
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T12-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T12:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4117.935,
      "stop": 4115.923,
      "target": 4121.96,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.79,
        "bb_width_pct": 0.381
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T12-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T12:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4117.715,
      "stop": 4115.192,
      "target": 4122.76,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.51,
        "bb_width_pct": 0.39
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T12-30-00Z_long_rsi_range_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T12:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4115.755,
      "stop": 4112.635,
      "target": 4121.994,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.86,
        "bb_width_pct": 0.441
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T12-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T12:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4118.28,
      "stop": 4116.12,
      "target": 4122.6,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 3.44,
        "bb_width_pct": 0.441
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T13-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4112.005,
      "stop": 4108.232,
      "target": 4119.55,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.93,
        "bb_width_pct": 0.395
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T13-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4112.005,
      "stop": 4108.645,
      "target": 4118.726,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.93,
        "bb_width_pct": 0.395
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T13-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T13:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4116.56,
      "stop": 4115.335,
      "target": 4119.011,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.44,
        "bb_width_pct": 0.359
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T13-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T13:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4116.56,
      "stop": 4114.458,
      "target": 4120.765,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.44,
        "bb_width_pct": 0.359
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T13-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T13:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4107.59,
      "stop": 4102.861,
      "target": 4117.048,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.92,
        "bb_width_pct": 0.391
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T13-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T13:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4116.705,
      "stop": 4116.374,
      "target": 4117.367,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.3,
        "bb_width_pct": 0.383
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T13-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T13:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4116.705,
      "stop": 4115.121,
      "target": 4119.872,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.3,
        "bb_width_pct": 0.383
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T13-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T13:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4116.705,
      "stop": 4116.55,
      "target": 4117.015,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.3,
        "bb_width_pct": 0.383
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T13-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4118.68,
      "stop": 4119.588,
      "target": 4116.863,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.9,
        "bb_width_pct": 0.35
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T13-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4131.075,
      "stop": 4136.793,
      "target": 4119.638,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.18,
        "bb_width_pct": 0.489
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T13-55-00Z_short_vwap_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T13:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4135.39,
      "stop": 4143.407,
      "target": 4119.355,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.88,
        "bb_width_pct": 0.723
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T13-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T13:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4135.39,
      "stop": 4141.63,
      "target": 4122.91,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.88,
        "bb_width_pct": 0.723
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T14-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T14:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4137.615,
      "stop": 4144.874,
      "target": 4123.096,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.05,
        "bb_width_pct": 0.964
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T14-10-00Z_short_rsi_range_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T14:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4137.615,
      "stop": 4144.874,
      "target": 4123.096,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 17.05,
        "bb_width_pct": 0.964
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T14-10-00Z_short_vwap_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T14:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4137.615,
      "stop": 4145.667,
      "target": 4121.51,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 17.05,
        "bb_width_pct": 0.964
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T14-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T14:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4137.615,
      "stop": 4144.095,
      "target": 4124.655,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.05,
        "bb_width_pct": 0.964
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T14-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T14:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4137.615,
      "stop": 4142.97,
      "target": 4126.905,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.05,
        "bb_width_pct": 0.964
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T14-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T14:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4141.49,
      "stop": 4148.088,
      "target": 4128.294,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.5,
        "bb_width_pct": 1.039
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T14-20-00Z_short_vwap_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T14:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4134.885,
      "stop": 4141.0,
      "target": 4122.656,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 21.3,
        "bb_width_pct": 1.053
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T14-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T14:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4134.885,
      "stop": 4139.666,
      "target": 4125.323,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 21.3,
        "bb_width_pct": 1.053
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T14-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T14:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4134.885,
      "stop": 4137.867,
      "target": 4128.922,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.3,
        "bb_width_pct": 1.053
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T14-25-00Z_short_rsi_range_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T14:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4132.65,
      "stop": 4136.158,
      "target": 4125.633,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 12.44,
        "bb_width_pct": 1.054
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T15-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T15:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4138.935,
      "stop": 4143.313,
      "target": 4130.18,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.58,
        "bb_width_pct": 0.549
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T15-45-00Z_short_vwap_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T15:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4135.17,
      "stop": 4140.108,
      "target": 4125.293,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.77,
        "bb_width_pct": 0.505
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T15-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T15:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4135.17,
      "stop": 4140.094,
      "target": 4125.323,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.77,
        "bb_width_pct": 0.505
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T15-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T15:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4135.17,
      "stop": 4137.427,
      "target": 4130.655,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.77,
        "bb_width_pct": 0.505
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T16-00-00Z_short_vwap_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4136.35,
      "stop": 4141.503,
      "target": 4126.043,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.0,
        "bb_width_pct": 0.488
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T16-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4136.35,
      "stop": 4141.864,
      "target": 4125.323,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.0,
        "bb_width_pct": 0.488
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T16-05-00Z_short_vwap_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T16:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4134.985,
      "stop": 4139.363,
      "target": 4126.229,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 1.2,
        "bb_width_pct": 0.495
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T16-20-00Z_short_vwap_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T16:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4136.425,
      "stop": 4141.239,
      "target": 4126.797,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.52,
        "bb_width_pct": 0.474
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T16-25-00Z_short_vwap_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T16:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4136.385,
      "stop": 4141.091,
      "target": 4126.973,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 18.11,
        "bb_width_pct": 0.462
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T16-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T16:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4140.68,
      "stop": 4143.722,
      "target": 4134.597,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.04,
        "bb_width_pct": 0.473
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T16-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4141.98,
      "stop": 4145.32,
      "target": 4135.3,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.05,
        "bb_width_pct": 0.496
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T16-45-00Z_short_vwap_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4140.395,
      "stop": 4146.616,
      "target": 4127.953,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.55,
        "bb_width_pct": 0.48
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T16-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4140.395,
      "stop": 4146.788,
      "target": 4127.61,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.55,
        "bb_width_pct": 0.48
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T16-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4140.395,
      "stop": 4142.349,
      "target": 4136.486,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.55,
        "bb_width_pct": 0.48
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T16-50-00Z_short_vwap_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T16:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4139.64,
      "stop": 4145.383,
      "target": 4128.155,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.26,
        "bb_width_pct": 0.458
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T16-55-00Z_short_vwap_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4134.385,
      "stop": 4137.439,
      "target": 4128.276,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.8,
        "bb_width_pct": 0.419
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T17-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T17:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4132.495,
      "stop": 4130.141,
      "target": 4137.203,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.69,
        "bb_width_pct": 0.288
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T17-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T17:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4131.02,
      "stop": 4128.047,
      "target": 4136.967,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.79,
        "bb_width_pct": 0.31
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T17-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T17:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4130.08,
      "stop": 4126.827,
      "target": 4136.587,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.14,
        "bb_width_pct": 0.341
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T17-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T17:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4130.08,
      "stop": 4127.657,
      "target": 4134.927,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.14,
        "bb_width_pct": 0.341
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T18-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4121.59,
      "stop": 4117.67,
      "target": 4129.429,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.5,
        "bb_width_pct": 0.457
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T18-30-00Z_long_rsi_range_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4121.59,
      "stop": 4117.67,
      "target": 4129.429,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.5,
        "bb_width_pct": 0.457
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T18-30-00Z_long_vwap_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4121.59,
      "stop": 4117.692,
      "target": 4129.386,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.5,
        "bb_width_pct": 0.457
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T18-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4121.59,
      "stop": 4116.203,
      "target": 4132.365,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 22.5,
        "bb_width_pct": 0.457
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T18-55-00Z_long_rsi_range_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T18:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4117.88,
      "stop": 4114.35,
      "target": 4124.94,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.43,
        "bb_width_pct": 0.554
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T18-55-00Z_long_vwap_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T18:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4117.88,
      "stop": 4113.39,
      "target": 4126.86,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.43,
        "bb_width_pct": 0.554
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T18-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T18:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4117.88,
      "stop": 4112.615,
      "target": 4128.41,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 24.43,
        "bb_width_pct": 0.554
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T19-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T19:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4123.36,
      "stop": 4120.835,
      "target": 4128.41,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.89,
        "bb_width_pct": 0.52
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T19-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T19:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4123.36,
      "stop": 4123.152,
      "target": 4123.776,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.89,
        "bb_width_pct": 0.52
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T19-20-00Z_long_vwap_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T19:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4120.735,
      "stop": 4118.153,
      "target": 4125.9,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.57,
        "bb_width_pct": 0.431
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T19-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T19:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4115.725,
      "stop": 4113.441,
      "target": 4120.294,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.32,
        "bb_width_pct": 0.273
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T20-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T20:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4112.44,
      "stop": 4109.363,
      "target": 4118.594,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.01,
        "bb_width_pct": 0.362
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T20-05-00Z_long_vwap_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T20:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4112.44,
      "stop": 4106.656,
      "target": 4124.009,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.01,
        "bb_width_pct": 0.362
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T20-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T20:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4112.44,
      "stop": 4106.244,
      "target": 4124.833,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 20.01,
        "bb_width_pct": 0.362
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T20-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T20:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4110.065,
      "stop": 4106.333,
      "target": 4117.528,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.16,
        "bb_width_pct": 0.427
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T20-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T20:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4109.005,
      "stop": 4104.923,
      "target": 4117.169,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.41,
        "bb_width_pct": 0.464
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T20-25-00Z_long_vwap_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T20:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4111.03,
      "stop": 4105.206,
      "target": 4122.679,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.76,
        "bb_width_pct": 0.48
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T20-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T20:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4111.03,
      "stop": 4104.674,
      "target": 4123.743,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 20.76,
        "bb_width_pct": 0.48
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T20-35-00Z_long_rsi_range_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T20:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4110.935,
      "stop": 4108.226,
      "target": 4116.352,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.02,
        "bb_width_pct": 0.513
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T20-35-00Z_long_vwap_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T20:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4110.935,
      "stop": 4105.34,
      "target": 4122.124,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.02,
        "bb_width_pct": 0.513
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T20-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T20:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4110.935,
      "stop": 4105.068,
      "target": 4122.67,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 25.02,
        "bb_width_pct": 0.513
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T20-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T20:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4110.935,
      "stop": 4108.826,
      "target": 4115.152,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.02,
        "bb_width_pct": 0.513
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T20-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4110.715,
      "stop": 4108.708,
      "target": 4114.729,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 27.18,
        "bb_width_pct": 0.501
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T20-55-00Z_long_rsi_range_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T20:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4110.745,
      "stop": 4109.029,
      "target": 4114.177,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.32,
        "bb_width_pct": 0.481
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T20-55-00Z_long_vwap_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T20:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4110.745,
      "stop": 4105.543,
      "target": 4121.15,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.32,
        "bb_width_pct": 0.481
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T20-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T20:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4110.745,
      "stop": 4105.923,
      "target": 4120.39,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.32,
        "bb_width_pct": 0.481
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T20-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T20:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4110.745,
      "stop": 4109.325,
      "target": 4113.585,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.32,
        "bb_width_pct": 0.481
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T22-00-00Z_long_vwap_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T22:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4111.715,
      "stop": 4104.823,
      "target": 4125.5,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.24,
        "bb_width_pct": 0.46
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T22-05-00Z_long_vwap_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T22:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4112.725,
      "stop": 4106.58,
      "target": 4125.015,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.67,
        "bb_width_pct": 0.423
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T22-10-00Z_long_vwap_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T22:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4114.015,
      "stop": 4108.728,
      "target": 4124.589,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.24,
        "bb_width_pct": 0.377
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T22-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T22:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4106.5,
      "stop": 4103.956,
      "target": 4111.588,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.89,
        "bb_width_pct": 0.265
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T22-35-00Z_long_rsi_range_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T22:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4101.315,
      "stop": 4097.225,
      "target": 4109.495,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.43,
        "bb_width_pct": 0.355
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T22-35-00Z_long_vwap_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T22:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4101.315,
      "stop": 4091.122,
      "target": 4121.701,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.43,
        "bb_width_pct": 0.355
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T22-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T22:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4101.315,
      "stop": 4096.166,
      "target": 4111.613,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 18.43,
        "bb_width_pct": 0.355
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T22-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T22:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4104.57,
      "stop": 4102.282,
      "target": 4109.146,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.13,
        "bb_width_pct": 0.367
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T22-40-00Z_long_vwap_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T22:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4104.57,
      "stop": 4096.288,
      "target": 4121.134,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.13,
        "bb_width_pct": 0.367
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T22-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T22:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4104.57,
      "stop": 4101.049,
      "target": 4111.613,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.13,
        "bb_width_pct": 0.367
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T22-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T22:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4104.57,
      "stop": 4102.2,
      "target": 4109.309,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.13,
        "bb_width_pct": 0.367
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T22-45-00Z_long_vwap_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T22:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4106.05,
      "stop": 4098.728,
      "target": 4120.693,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.45,
        "bb_width_pct": 0.365
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T22-50-00Z_long_vwap_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T22:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4106.25,
      "stop": 4099.222,
      "target": 4120.306,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.59,
        "bb_width_pct": 0.367
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T23-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4100.115,
      "stop": 4096.225,
      "target": 4107.895,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.3,
        "bb_width_pct": 0.415
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T23-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4099.94,
      "stop": 4096.586,
      "target": 4106.647,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.24,
        "bb_width_pct": 0.49
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T23-10-00Z_long_vwap_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4099.94,
      "stop": 4090.763,
      "target": 4118.295,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.24,
        "bb_width_pct": 0.49
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T23-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4099.94,
      "stop": 4094.606,
      "target": 4110.608,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 18.24,
        "bb_width_pct": 0.49
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T23-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4099.94,
      "stop": 4096.976,
      "target": 4105.868,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.24,
        "bb_width_pct": 0.49
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T23-15-00Z_long_vwap_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4100.395,
      "stop": 4091.679,
      "target": 4117.828,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.29,
        "bb_width_pct": 0.497
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T23-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4100.395,
      "stop": 4095.289,
      "target": 4110.608,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 19.29,
        "bb_width_pct": 0.497
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T23-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4100.395,
      "stop": 4097.919,
      "target": 4105.347,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.29,
        "bb_width_pct": 0.497
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T23-40-00Z_long_vwap_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4086.455,
      "stop": 4072.142,
      "target": 4115.081,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.06,
        "bb_width_pct": 0.729
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T23-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4086.455,
      "stop": 4078.325,
      "target": 4102.715,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 21.06,
        "bb_width_pct": 0.729
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T23-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4095.78,
      "stop": 4093.297,
      "target": 4100.746,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.26,
        "bb_width_pct": 0.695
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T23-45-00Z_long_vwap_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4095.78,
      "stop": 4086.368,
      "target": 4114.604,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.26,
        "bb_width_pct": 0.695
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T23-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4095.78,
      "stop": 4092.328,
      "target": 4102.685,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 11.26,
        "bb_width_pct": 0.695
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T23-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4095.78,
      "stop": 4093.87,
      "target": 4099.599,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.26,
        "bb_width_pct": 0.695
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T23-50-00Z_long_vwap_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T23:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4096.125,
      "stop": 4087.074,
      "target": 4114.227,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.66,
        "bb_width_pct": 0.634
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-23T23-55-00Z_long_vwap_mean_reversion",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T23:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4099.25,
      "stop": 4091.924,
      "target": 4113.902,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.88,
        "bb_width_pct": 0.577
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T00-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T00:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4110.21,
      "stop": 4115.691,
      "target": 4099.248,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.77,
        "bb_width_pct": 0.59
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T00-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T00:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4110.21,
      "stop": 4115.022,
      "target": 4100.587,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.77,
        "bb_width_pct": 0.59
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T00-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T00:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4107.26,
      "stop": 4111.596,
      "target": 4098.587,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.18,
        "bb_width_pct": 0.614
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T00-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T00:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4107.26,
      "stop": 4110.279,
      "target": 4101.222,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.18,
        "bb_width_pct": 0.614
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T01-05-00Z_long_vwap_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T01:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4077.37,
      "stop": 4067.597,
      "target": 4096.916,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.81,
        "bb_width_pct": 0.86
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T01-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T01:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4077.37,
      "stop": 4069.911,
      "target": 4092.287,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 20.81,
        "bb_width_pct": 0.86
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T01-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T01:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4089.74,
      "stop": 4087.019,
      "target": 4095.182,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.41,
        "bb_width_pct": 0.868
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T01-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T01:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4089.74,
      "stop": 4087.437,
      "target": 4094.346,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.41,
        "bb_width_pct": 0.868
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T02-20-00Z_long_vwap_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T02:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4076.045,
      "stop": 4068.001,
      "target": 4092.133,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.45,
        "bb_width_pct": 0.796
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T02-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T02:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4076.045,
      "stop": 4068.904,
      "target": 4090.328,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.45,
        "bb_width_pct": 0.796
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T02-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4068.875,
      "stop": 4060.726,
      "target": 4085.172,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 27.86,
        "bb_width_pct": 0.865
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T03-25-00Z_long_vwap_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4056.625,
      "stop": 4043.75,
      "target": 4082.374,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.07,
        "bb_width_pct": 1.167
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T03-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4056.625,
      "stop": 4044.432,
      "target": 4081.01,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 18.07,
        "bb_width_pct": 1.167
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T03-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4056.625,
      "stop": 4051.757,
      "target": 4066.361,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.07,
        "bb_width_pct": 1.167
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T03-30-00Z_long_vwap_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4060.37,
      "stop": 4049.641,
      "target": 4081.827,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.18,
        "bb_width_pct": 1.102
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T03-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4060.37,
      "stop": 4050.557,
      "target": 4079.995,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.18,
        "bb_width_pct": 1.102
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T03-35-00Z_long_vwap_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T03:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4062.16,
      "stop": 4052.559,
      "target": 4081.362,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.34,
        "bb_width_pct": 0.98
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T03-40-00Z_long_vwap_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T03:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4069.0,
      "stop": 4062.982,
      "target": 4081.037,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.13,
        "bb_width_pct": 0.847
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T04-10-00Z_long_vwap_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T04:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4059.085,
      "stop": 4049.228,
      "target": 4078.799,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.65,
        "bb_width_pct": 0.396
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T04-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T04:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4059.085,
      "stop": 4050.383,
      "target": 4076.49,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.65,
        "bb_width_pct": 0.396
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T04-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T04:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4055.715,
      "stop": 4052.104,
      "target": 4062.937,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.86,
        "bb_width_pct": 0.406
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T04-20-00Z_long_vwap_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4061.335,
      "stop": 4052.987,
      "target": 4078.03,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.23,
        "bb_width_pct": 0.403
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T04-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4061.335,
      "stop": 4053.758,
      "target": 4076.49,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 11.23,
        "bb_width_pct": 0.403
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T04-25-00Z_long_vwap_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T04:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4063.295,
      "stop": 4056.058,
      "target": 4077.769,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.3,
        "bb_width_pct": 0.408
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T04-30-00Z_long_vwap_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T04:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4065.24,
      "stop": 4059.093,
      "target": 4077.534,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.95,
        "bb_width_pct": 0.407
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T04-55-00Z_long_vwap_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T04:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4064.635,
      "stop": 4058.736,
      "target": 4076.434,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.91,
        "bb_width_pct": 0.37
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T05-05-00Z_long_vwap_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4069.625,
      "stop": 4066.406,
      "target": 4076.063,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.74,
        "bb_width_pct": 0.327
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T05-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4070.915,
      "stop": 4073.847,
      "target": 4065.051,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.51,
        "bb_width_pct": 0.356
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T05-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4077.48,
      "stop": 4083.414,
      "target": 4065.613,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.81,
        "bb_width_pct": 0.625
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T05-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4077.48,
      "stop": 4082.043,
      "target": 4068.355,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 16.81,
        "bb_width_pct": 0.625
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T05-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T05:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4075.045,
      "stop": 4077.675,
      "target": 4069.784,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.39,
        "bb_width_pct": 0.653
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T06-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4077.91,
      "stop": 4081.176,
      "target": 4071.379,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.86,
        "bb_width_pct": 0.595
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T06-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T06:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4087.255,
      "stop": 4093.901,
      "target": 4073.963,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.29,
        "bb_width_pct": 0.921
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T06-15-00Z_short_vwap_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T06:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4087.255,
      "stop": 4092.707,
      "target": 4076.352,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 19.29,
        "bb_width_pct": 0.921
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T06-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T06:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4087.255,
      "stop": 4093.921,
      "target": 4073.922,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 19.29,
        "bb_width_pct": 0.921
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T06-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T06:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4087.255,
      "stop": 4092.597,
      "target": 4076.572,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.29,
        "bb_width_pct": 0.921
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T06-25-00Z_short_rsi_range_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T06:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4087.72,
      "stop": 4093.369,
      "target": 4076.422,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 15.91,
        "bb_width_pct": 0.942
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T06-25-00Z_short_vwap_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T06:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4087.72,
      "stop": 4093.259,
      "target": 4076.642,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.91,
        "bb_width_pct": 0.942
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T06-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T06:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4087.72,
      "stop": 4094.53,
      "target": 4074.1,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.91,
        "bb_width_pct": 0.942
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T06-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T06:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4087.72,
      "stop": 4092.233,
      "target": 4078.694,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.91,
        "bb_width_pct": 0.942
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T06-30-00Z_short_vwap_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4087.755,
      "stop": 4093.247,
      "target": 4076.771,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.9,
        "bb_width_pct": 0.924
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T06-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4089.365,
      "stop": 4093.802,
      "target": 4080.491,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.03,
        "bb_width_pct": 0.908
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T06-45-00Z_short_vwap_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T06:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4089.25,
      "stop": 4095.232,
      "target": 4077.286,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.81,
        "bb_width_pct": 0.851
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T06-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T06:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4089.25,
      "stop": 4095.684,
      "target": 4076.382,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.81,
        "bb_width_pct": 0.851
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T06-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T06:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4089.25,
      "stop": 4092.716,
      "target": 4082.319,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.81,
        "bb_width_pct": 0.851
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T06-55-00Z_short_vwap_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T06:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4087.135,
      "stop": 4091.93,
      "target": 4077.544,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.35,
        "bb_width_pct": 0.723
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T07-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T07:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4078.905,
      "stop": 4074.745,
      "target": 4087.225,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.05,
        "bb_width_pct": 0.413
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T07-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T07:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4078.905,
      "stop": 4076.416,
      "target": 4083.882,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.05,
        "bb_width_pct": 0.413
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T07-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T07:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4082.495,
      "stop": 4080.015,
      "target": 4087.454,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.4,
        "bb_width_pct": 0.373
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T07-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T07:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4074.925,
      "stop": 4071.095,
      "target": 4082.585,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.1,
        "bb_width_pct": 0.421
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T08-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4077.835,
      "stop": 4074.197,
      "target": 4085.111,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.46,
        "bb_width_pct": 0.446
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T08-00-00Z_long_rsi_range_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4077.835,
      "stop": 4074.197,
      "target": 4085.111,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.46,
        "bb_width_pct": 0.446
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T08-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4077.835,
      "stop": 4075.686,
      "target": 4082.133,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.46,
        "bb_width_pct": 0.446
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T08-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T08:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4074.185,
      "stop": 4070.869,
      "target": 4080.818,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.1,
        "bb_width_pct": 0.526
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T09-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T09:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4076.36,
      "stop": 4075.49,
      "target": 4078.099,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.06,
        "bb_width_pct": 0.375
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T09-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T09:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4076.36,
      "stop": 4072.633,
      "target": 4083.815,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.06,
        "bb_width_pct": 0.375
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T09-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T09:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4076.36,
      "stop": 4075.402,
      "target": 4078.275,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.06,
        "bb_width_pct": 0.375
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T09-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T09:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4069.395,
      "stop": 4065.633,
      "target": 4076.92,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.64,
        "bb_width_pct": 0.372
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T09-30-00Z_long_vwap_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4070.55,
      "stop": 4066.113,
      "target": 4079.423,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.23,
        "bb_width_pct": 0.392
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T09-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4070.55,
      "stop": 4064.275,
      "target": 4083.1,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.23,
        "bb_width_pct": 0.392
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T09-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4070.55,
      "stop": 4067.568,
      "target": 4076.514,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.23,
        "bb_width_pct": 0.392
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T09-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4068.385,
      "stop": 4064.492,
      "target": 4076.17,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.54,
        "bb_width_pct": 0.428
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T09-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4068.385,
      "stop": 4064.708,
      "target": 4075.74,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.54,
        "bb_width_pct": 0.428
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T09-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T09:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4068.61,
      "stop": 4065.061,
      "target": 4075.709,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.49,
        "bb_width_pct": 0.456
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T09-40-00Z_long_rsi_range_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T09:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4068.61,
      "stop": 4065.061,
      "target": 4075.709,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.49,
        "bb_width_pct": 0.456
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T09-40-00Z_long_vwap_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T09:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4068.61,
      "stop": 4063.534,
      "target": 4078.761,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.49,
        "bb_width_pct": 0.456
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T09-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T09:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4068.61,
      "stop": 4062.389,
      "target": 4081.052,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 20.49,
        "bb_width_pct": 0.456
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T09-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T09:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4068.61,
      "stop": 4065.385,
      "target": 4075.061,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.49,
        "bb_width_pct": 0.456
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T09-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T09:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4069.32,
      "stop": 4066.284,
      "target": 4075.392,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.1,
        "bb_width_pct": 0.476
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T09-45-00Z_long_vwap_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T09:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4069.32,
      "stop": 4064.75,
      "target": 4078.459,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.1,
        "bb_width_pct": 0.476
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T09-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T09:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4069.32,
      "stop": 4063.871,
      "target": 4080.217,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 21.1,
        "bb_width_pct": 0.476
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T09-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T09:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4069.32,
      "stop": 4066.723,
      "target": 4074.514,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.1,
        "bb_width_pct": 0.476
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T10-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T10:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4062.25,
      "stop": 4056.408,
      "target": 4073.933,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.26,
        "bb_width_pct": 0.602
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T10-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T10:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4061.325,
      "stop": 4054.389,
      "target": 4075.198,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 13.14,
        "bb_width_pct": 0.643
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T10-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T10:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4059.325,
      "stop": 4053.681,
      "target": 4070.613,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.85,
        "bb_width_pct": 0.65
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T10-25-00Z_long_rsi_range_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T10:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4061.08,
      "stop": 4057.385,
      "target": 4068.47,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.4,
        "bb_width_pct": 0.623
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T10-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T10:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4061.08,
      "stop": 4055.524,
      "target": 4072.193,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 21.4,
        "bb_width_pct": 0.623
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T10-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T10:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4061.08,
      "stop": 4057.973,
      "target": 4067.295,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.4,
        "bb_width_pct": 0.623
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T10-30-00Z_long_rsi_range_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T10:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4061.995,
      "stop": 4059.13,
      "target": 4067.725,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.26,
        "bb_width_pct": 0.607
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T10-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T10:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4064.87,
      "stop": 4061.565,
      "target": 4071.48,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.41,
        "bb_width_pct": 0.581
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T10-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T10:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4064.87,
      "stop": 4064.369,
      "target": 4065.873,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.41,
        "bb_width_pct": 0.581
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T10-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T10:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4058.83,
      "stop": 4055.746,
      "target": 4064.997,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.6,
        "bb_width_pct": 0.548
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T11-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T11:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4046.595,
      "stop": 4040.788,
      "target": 4058.208,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.22,
        "bb_width_pct": 0.722
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T11-20-00Z_long_vwap_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T11:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4046.595,
      "stop": 4041.513,
      "target": 4056.758,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.22,
        "bb_width_pct": 0.722
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T11-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T11:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4046.595,
      "stop": 4038.556,
      "target": 4062.673,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.22,
        "bb_width_pct": 0.722
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T11-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T11:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4044.42,
      "stop": 4038.148,
      "target": 4056.963,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.03,
        "bb_width_pct": 0.734
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T11-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T11:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4050.275,
      "stop": 4044.076,
      "target": 4062.673,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 13.02,
        "bb_width_pct": 0.712
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T11-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T11:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4050.275,
      "stop": 4048.156,
      "target": 4054.513,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.02,
        "bb_width_pct": 0.712
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T11-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T11:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4045.105,
      "stop": 4041.207,
      "target": 4052.9,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.72,
        "bb_width_pct": 0.729
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T11-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T11:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4054.75,
      "stop": 4051.365,
      "target": 4061.52,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.91,
        "bb_width_pct": 0.708
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T12-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T12:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4041.09,
      "stop": 4036.211,
      "target": 4050.848,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.03,
        "bb_width_pct": 0.716
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T12-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T12:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4041.09,
      "stop": 4036.265,
      "target": 4050.74,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.03,
        "bb_width_pct": 0.716
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T12-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T12:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4041.015,
      "stop": 4032.85,
      "target": 4057.345,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.35,
        "bb_width_pct": 0.712
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T12-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T12:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4041.015,
      "stop": 4037.148,
      "target": 4048.75,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.35,
        "bb_width_pct": 0.712
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T12-30-00Z_long_rsi_range_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T12:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4019.38,
      "stop": 4007.649,
      "target": 4042.841,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.84,
        "bb_width_pct": 0.984
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T12-30-00Z_long_vwap_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T12:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4019.38,
      "stop": 4012.148,
      "target": 4033.844,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.84,
        "bb_width_pct": 0.984
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T12-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T12:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4019.38,
      "stop": 4007.601,
      "target": 4042.938,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 18.84,
        "bb_width_pct": 0.984
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T15-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T15:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3999.86,
      "stop": 3993.425,
      "target": 4012.731,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.0,
        "bb_width_pct": 1.189
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T15-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T15:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4002.05,
      "stop": 3997.218,
      "target": 4011.714,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.97,
        "bb_width_pct": 1.032
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T16-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T16:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4014.81,
      "stop": 4018.654,
      "target": 4007.122,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.02,
        "bb_width_pct": 0.497
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T16-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4018.1,
      "stop": 4023.338,
      "target": 4007.625,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.38,
        "bb_width_pct": 0.551
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T16-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4018.1,
      "stop": 4022.248,
      "target": 4009.804,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.38,
        "bb_width_pct": 0.551
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T16-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T16:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4011.685,
      "stop": 4013.523,
      "target": 4008.009,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.32,
        "bb_width_pct": 0.551
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T19-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T19:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3976.545,
      "stop": 3972.47,
      "target": 3984.695,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.53,
        "bb_width_pct": 0.566
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T19-15-00Z_long_vwap_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T19:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3977.585,
      "stop": 3973.141,
      "target": 3986.473,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.1,
        "bb_width_pct": 0.568
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T19-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T19:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3977.585,
      "stop": 3974.368,
      "target": 3984.018,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.1,
        "bb_width_pct": 0.568
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T19-20-00Z_long_vwap_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T19:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3978.99,
      "stop": 3975.384,
      "target": 3986.202,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.47,
        "bb_width_pct": 0.568
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T20-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T20:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3995.23,
      "stop": 4000.551,
      "target": 3984.589,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.75,
        "bb_width_pct": 0.637
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T20-10-00Z_short_vwap_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T20:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3995.23,
      "stop": 3999.488,
      "target": 3986.714,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 21.75,
        "bb_width_pct": 0.637
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T20-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T20:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3995.23,
      "stop": 3998.953,
      "target": 3987.784,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.75,
        "bb_width_pct": 0.637
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T20-15-00Z_short_rsi_range_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T20:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3993.03,
      "stop": 3997.044,
      "target": 3985.002,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 20.58,
        "bb_width_pct": 0.663
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T20-30-00Z_short_rsi_range_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T20:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3998.495,
      "stop": 4003.937,
      "target": 3987.611,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 17.22,
        "bb_width_pct": 0.804
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T20-30-00Z_short_vwap_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T20:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3998.495,
      "stop": 4003.895,
      "target": 3987.696,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 17.22,
        "bb_width_pct": 0.804
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T20-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T20:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3998.495,
      "stop": 4006.157,
      "target": 3983.17,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.22,
        "bb_width_pct": 0.804
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T20-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T20:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3998.495,
      "stop": 4002.209,
      "target": 3991.068,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.22,
        "bb_width_pct": 0.804
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T20-35-00Z_short_vwap_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T20:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3996.02,
      "stop": 4000.069,
      "target": 3987.923,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.41,
        "bb_width_pct": 0.811
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T20-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T20:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3996.02,
      "stop": 4003.51,
      "target": 3981.04,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.41,
        "bb_width_pct": 0.811
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T20-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T20:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3996.02,
      "stop": 3998.26,
      "target": 3991.539,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.41,
        "bb_width_pct": 0.811
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T20-45-00Z_short_vwap_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T20:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3997.145,
      "stop": 4001.534,
      "target": 3988.368,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 18.17,
        "bb_width_pct": 0.8
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T20-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T20:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3997.145,
      "stop": 4005.198,
      "target": 3981.04,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.17,
        "bb_width_pct": 0.8
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T22-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T22:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4003.865,
      "stop": 4014.071,
      "target": 3983.452,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.12,
        "bb_width_pct": 0.711
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T22-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T22:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4003.865,
      "stop": 4007.765,
      "target": 3996.066,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.12,
        "bb_width_pct": 0.711
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T22-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T22:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4001.75,
      "stop": 4010.899,
      "target": 3983.452,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.42,
        "bb_width_pct": 0.694
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T22-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T22:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4001.75,
      "stop": 4004.321,
      "target": 3996.607,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.42,
        "bb_width_pct": 0.694
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T22-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T22:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4001.045,
      "stop": 4009.841,
      "target": 3983.452,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.35,
        "bb_width_pct": 0.635
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T22-20-00Z_long_vwap_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T22:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4002.08,
      "stop": 3980.494,
      "target": 4045.252,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.5,
        "bb_width_pct": 0.56
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T22-25-00Z_long_vwap_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T22:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4002.115,
      "stop": 3981.269,
      "target": 4043.808,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.1,
        "bb_width_pct": 0.437
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T22-30-00Z_long_vwap_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T22:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4004.37,
      "stop": 3985.31,
      "target": 4042.49,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.84,
        "bb_width_pct": 0.416
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T22-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T22:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4004.37,
      "stop": 4007.275,
      "target": 3998.561,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.84,
        "bb_width_pct": 0.416
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T22-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T22:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4002.83,
      "stop": 4004.28,
      "target": 3999.93,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.66,
        "bb_width_pct": 0.335
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T22-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T22:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4002.83,
      "stop": 4008.871,
      "target": 3990.747,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.66,
        "bb_width_pct": 0.335
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T22-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T22:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4002.83,
      "stop": 4004.761,
      "target": 3998.967,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.66,
        "bb_width_pct": 0.335
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T22-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T22:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4002.26,
      "stop": 4008.016,
      "target": 3990.747,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.7,
        "bb_width_pct": 0.334
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T22-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T22:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3996.475,
      "stop": 3994.572,
      "target": 4000.28,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.75,
        "bb_width_pct": 0.308
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T22-55-00Z_long_vwap_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T22:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3996.475,
      "stop": 3976.446,
      "target": 4036.534,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.75,
        "bb_width_pct": 0.308
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T23-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3993.95,
      "stop": 3991.018,
      "target": 3999.814,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.76,
        "bb_width_pct": 0.352
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T23-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3993.95,
      "stop": 3992.008,
      "target": 3997.833,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.76,
        "bb_width_pct": 0.352
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T23-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3995.15,
      "stop": 3992.902,
      "target": 3999.647,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.46,
        "bb_width_pct": 0.365
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T23-10-00Z_long_rsi_range_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3995.15,
      "stop": 3992.902,
      "target": 3999.647,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.46,
        "bb_width_pct": 0.365
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T23-10-00Z_long_vwap_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3995.15,
      "stop": 3976.074,
      "target": 4033.302,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.46,
        "bb_width_pct": 0.365
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T23-15-00Z_long_vwap_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3997.845,
      "stop": 3980.566,
      "target": 4032.404,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.27,
        "bb_width_pct": 0.358
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T23-20-00Z_long_vwap_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T23:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4000.145,
      "stop": 3984.419,
      "target": 4031.598,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.73,
        "bb_width_pct": 0.358
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T23-30-00Z_long_vwap_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4008.98,
      "stop": 3998.358,
      "target": 4030.225,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.92,
        "bb_width_pct": 0.406
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T23-35-00Z_long_vwap_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4016.01,
      "stop": 4009.083,
      "target": 4029.864,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.36,
        "bb_width_pct": 0.529
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T23-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4014.665,
      "stop": 4022.649,
      "target": 3998.698,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 16.41,
        "bb_width_pct": 0.59
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T23-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4010.875,
      "stop": 4015.381,
      "target": 4001.863,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.49,
        "bb_width_pct": 0.623
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T23-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4010.875,
      "stop": 4016.739,
      "target": 3999.148,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.49,
        "bb_width_pct": 0.623
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T23-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T23:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4010.675,
      "stop": 4016.439,
      "target": 3999.148,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 16.71,
        "bb_width_pct": 0.651
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T23-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T23:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4010.675,
      "stop": 4014.252,
      "target": 4003.522,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.71,
        "bb_width_pct": 0.651
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-24T23-55-00Z_long_vwap_mean_reversion",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T23:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4012.5,
      "stop": 4004.537,
      "target": 4028.426,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.9,
        "bb_width_pct": 0.687
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T00-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T00:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4005.51,
      "stop": 4007.381,
      "target": 4001.767,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.75,
        "bb_width_pct": 0.767
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T01-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T01:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3994.63,
      "stop": 3992.614,
      "target": 3998.662,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.88,
        "bb_width_pct": 1.08
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T01-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T01:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3987.355,
      "stop": 3981.701,
      "target": 3998.662,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.18,
        "bb_width_pct": 0.922
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T01-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T01:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3987.355,
      "stop": 3984.241,
      "target": 3993.584,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.18,
        "bb_width_pct": 0.922
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T01-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T01:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3985.33,
      "stop": 3979.005,
      "target": 3997.98,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.15,
        "bb_width_pct": 0.703
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T01-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T01:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3976.92,
      "stop": 3970.849,
      "target": 3989.063,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.57,
        "bb_width_pct": 0.661
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T01-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T01:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3976.92,
      "stop": 3970.662,
      "target": 3989.435,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.57,
        "bb_width_pct": 0.661
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T02-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T02:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3975.21,
      "stop": 3968.939,
      "target": 3987.752,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.32,
        "bb_width_pct": 0.663
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T02-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T02:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3968.005,
      "stop": 3959.378,
      "target": 3985.259,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.83,
        "bb_width_pct": 0.88
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T02-10-00Z_long_rsi_range_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T02:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3968.005,
      "stop": 3959.378,
      "target": 3985.259,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.83,
        "bb_width_pct": 0.88
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T02-10-00Z_long_vwap_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T02:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3968.005,
      "stop": 3956.841,
      "target": 3990.333,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.83,
        "bb_width_pct": 0.88
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T02-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T02:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3968.005,
      "stop": 3956.352,
      "target": 3991.31,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 16.83,
        "bb_width_pct": 0.88
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T02-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T02:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3981.07,
      "stop": 3979.019,
      "target": 3985.172,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.03,
        "bb_width_pct": 0.884
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T02-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T02:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3981.07,
      "stop": 3976.28,
      "target": 3990.65,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.03,
        "bb_width_pct": 0.884
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T02-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T02:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3981.07,
      "stop": 3979.623,
      "target": 3983.963,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.03,
        "bb_width_pct": 0.884
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T03-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T03:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3970.795,
      "stop": 3966.395,
      "target": 3979.595,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.93,
        "bb_width_pct": 0.598
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T03-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T03:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3970.795,
      "stop": 3965.665,
      "target": 3981.056,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.93,
        "bb_width_pct": 0.598
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T03-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3981.81,
      "stop": 3977.991,
      "target": 3989.448,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 11.15,
        "bb_width_pct": 0.573
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T03-25-00Z_long_vwap_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3976.46,
      "stop": 3971.393,
      "target": 3986.595,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.28,
        "bb_width_pct": 0.567
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T03-40-00Z_long_vwap_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T03:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3975.39,
      "stop": 3970.22,
      "target": 3985.729,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.5,
        "bb_width_pct": 0.584
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T03-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T03:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3995.365,
      "stop": 4000.972,
      "target": 3984.15,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.69,
        "bb_width_pct": 0.699
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T04-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T04:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3994.185,
      "stop": 4000.481,
      "target": 3981.594,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.82,
        "bb_width_pct": 0.752
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T04-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T04:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3994.185,
      "stop": 3999.538,
      "target": 3983.479,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.82,
        "bb_width_pct": 0.752
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T04-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3995.48,
      "stop": 4000.909,
      "target": 3984.622,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.2,
        "bb_width_pct": 0.805
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T04-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T04:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3994.505,
      "stop": 4000.858,
      "target": 3981.8,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 22.22,
        "bb_width_pct": 0.915
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T04-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T04:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3994.505,
      "stop": 3998.064,
      "target": 3987.387,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.22,
        "bb_width_pct": 0.915
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T04-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T04:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3990.905,
      "stop": 3995.458,
      "target": 3981.8,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.87,
        "bb_width_pct": 0.919
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T05-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3997.005,
      "stop": 4000.21,
      "target": 3990.595,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.34,
        "bb_width_pct": 0.799
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T05-10-00Z_short_vwap_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3998.405,
      "stop": 4003.641,
      "target": 3987.934,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.2,
        "bb_width_pct": 0.699
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T05-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3998.405,
      "stop": 4006.708,
      "target": 3981.8,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.2,
        "bb_width_pct": 0.699
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T05-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3998.405,
      "stop": 4001.564,
      "target": 3992.087,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.2,
        "bb_width_pct": 0.699
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T05-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3992.395,
      "stop": 3997.693,
      "target": 3981.8,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.1,
        "bb_width_pct": 0.522
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T05-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3994.41,
      "stop": 4000.715,
      "target": 3981.8,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.54,
        "bb_width_pct": 0.289
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T05-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3985.13,
      "stop": 3985.83,
      "target": 3983.73,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.46,
        "bb_width_pct": 0.342
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T05-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T05:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3983.17,
      "stop": 3979.515,
      "target": 3990.479,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.26,
        "bb_width_pct": 0.462
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T05-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3988.36,
      "stop": 3986.322,
      "target": 3992.436,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.76,
        "bb_width_pct": 0.466
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T06-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T06:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3979.295,
      "stop": 3974.199,
      "target": 3989.487,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.31,
        "bb_width_pct": 0.696
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T06-20-00Z_long_rsi_range_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T06:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3979.295,
      "stop": 3974.199,
      "target": 3989.487,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.31,
        "bb_width_pct": 0.696
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T06-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T06:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3979.295,
      "stop": 3975.758,
      "target": 3986.368,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.31,
        "bb_width_pct": 0.696
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T07-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T07:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3980.055,
      "stop": 3976.271,
      "target": 3987.622,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.74,
        "bb_width_pct": 0.508
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T07-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T07:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3980.055,
      "stop": 3978.513,
      "target": 3983.139,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.74,
        "bb_width_pct": 0.508
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T07-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T07:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3985.215,
      "stop": 3986.636,
      "target": 3982.372,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.38,
        "bb_width_pct": 0.353
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T07-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3983.225,
      "stop": 3983.78,
      "target": 3982.116,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.25,
        "bb_width_pct": 0.326
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T07-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T07:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3974.875,
      "stop": 3971.766,
      "target": 3981.094,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.49,
        "bb_width_pct": 0.329
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T07-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T07:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3977.675,
      "stop": 3976.174,
      "target": 3980.678,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.98,
        "bb_width_pct": 0.317
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T07-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T07:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3977.675,
      "stop": 3973.061,
      "target": 3986.903,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.98,
        "bb_width_pct": 0.317
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T07-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T07:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3977.675,
      "stop": 3975.649,
      "target": 3981.727,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.98,
        "bb_width_pct": 0.317
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T07-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T07:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3987.835,
      "stop": 3991.161,
      "target": 3981.184,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.0,
        "bb_width_pct": 0.335
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T08-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3990.145,
      "stop": 3993.871,
      "target": 3982.693,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.47,
        "bb_width_pct": 0.385
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T08-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T08:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3988.085,
      "stop": 3991.171,
      "target": 3981.912,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.03,
        "bb_width_pct": 0.406
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T08-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T08:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3993.72,
      "stop": 3998.473,
      "target": 3984.215,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.03,
        "bb_width_pct": 0.623
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T08-25-00Z_short_vwap_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T08:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3993.72,
      "stop": 3998.216,
      "target": 3984.729,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.03,
        "bb_width_pct": 0.623
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T08-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4001.575,
      "stop": 4009.088,
      "target": 3986.548,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.23,
        "bb_width_pct": 0.763
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T08-40-00Z_short_vwap_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T08:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3999.68,
      "stop": 4006.102,
      "target": 3986.837,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 23.28,
        "bb_width_pct": 0.798
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T08-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T08:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3999.68,
      "stop": 4006.105,
      "target": 3986.83,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 23.28,
        "bb_width_pct": 0.798
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T08-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T08:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3999.68,
      "stop": 4004.413,
      "target": 3990.214,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 23.28,
        "bb_width_pct": 0.798
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T08-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T08:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3992.635,
      "stop": 3995.501,
      "target": 3986.903,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 19.06,
        "bb_width_pct": 0.803
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T09-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3993.955,
      "stop": 3997.481,
      "target": 3986.903,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.35,
        "bb_width_pct": 0.408
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T09-45-00Z_long_rsi_range_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T09:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3989.08,
      "stop": 3986.879,
      "target": 3993.482,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.35,
        "bb_width_pct": 0.391
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T10-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T10:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3984.39,
      "stop": 3982.993,
      "target": 3987.183,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.0,
        "bb_width_pct": 0.349
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T11-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T11:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3981.635,
      "stop": 3979.437,
      "target": 3986.031,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.56,
        "bb_width_pct": 0.237
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T11-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T11:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3981.635,
      "stop": 3979.476,
      "target": 3985.953,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.56,
        "bb_width_pct": 0.237
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T11-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T11:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3980.385,
      "stop": 3977.866,
      "target": 3985.422,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.11,
        "bb_width_pct": 0.259
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T11-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T11:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3982.56,
      "stop": 3981.808,
      "target": 3984.064,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.2,
        "bb_width_pct": 0.306
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T11-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T11:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3982.56,
      "stop": 3979.245,
      "target": 3989.19,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.2,
        "bb_width_pct": 0.306
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T11-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T11:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3982.56,
      "stop": 3981.933,
      "target": 3983.813,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.2,
        "bb_width_pct": 0.306
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T14-30-00Z_short_vwap_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4025.7,
      "stop": 4033.741,
      "target": 4009.617,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.29,
        "bb_width_pct": 0.742
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T14-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4025.7,
      "stop": 4036.584,
      "target": 4003.932,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.29,
        "bb_width_pct": 0.742
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T14-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T14:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4017.64,
      "stop": 4024.494,
      "target": 4003.932,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.33,
        "bb_width_pct": 0.729
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T15-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T15:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4026.955,
      "stop": 4031.727,
      "target": 4017.411,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.75,
        "bb_width_pct": 0.746
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T15-25-00Z_short_vwap_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T15:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4026.955,
      "stop": 4034.483,
      "target": 4011.898,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.75,
        "bb_width_pct": 0.746
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T15-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T15:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4026.955,
      "stop": 4035.525,
      "target": 4009.815,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.75,
        "bb_width_pct": 0.746
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T15-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T15:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4026.955,
      "stop": 4031.4,
      "target": 4018.065,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.75,
        "bb_width_pct": 0.746
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T15-40-00Z_short_vwap_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T15:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4027.785,
      "stop": 4035.239,
      "target": 4012.878,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.83,
        "bb_width_pct": 0.676
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T15-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T15:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4031.855,
      "stop": 4037.377,
      "target": 4020.812,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.19,
        "bb_width_pct": 0.718
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T15-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T15:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4031.855,
      "stop": 4037.117,
      "target": 4021.331,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.19,
        "bb_width_pct": 0.718
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T16-00-00Z_short_vwap_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4037.885,
      "stop": 4049.406,
      "target": 4014.842,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 19.15,
        "bb_width_pct": 0.935
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T16-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4037.885,
      "stop": 4046.346,
      "target": 4020.963,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 19.15,
        "bb_width_pct": 0.935
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T16-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4037.885,
      "stop": 4043.84,
      "target": 4025.975,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.15,
        "bb_width_pct": 0.935
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T16-05-00Z_short_vwap_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T16:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4034.215,
      "stop": 4043.689,
      "target": 4015.266,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.11,
        "bb_width_pct": 0.959
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T16-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T16:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4034.215,
      "stop": 4040.781,
      "target": 4021.082,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.11,
        "bb_width_pct": 0.959
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T16-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T16:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4040.59,
      "stop": 4046.405,
      "target": 4028.96,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 23.53,
        "bb_width_pct": 1.033
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T16-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T16:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4041.55,
      "stop": 4047.245,
      "target": 4030.159,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.48,
        "bb_width_pct": 1.072
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T16-25-00Z_short_vwap_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T16:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4040.41,
      "stop": 4052.058,
      "target": 4017.114,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.01,
        "bb_width_pct": 1.077
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T16-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T16:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4040.41,
      "stop": 4049.801,
      "target": 4021.628,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.01,
        "bb_width_pct": 1.077
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T16-30-00Z_short_vwap_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T16:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4035.04,
      "stop": 4043.827,
      "target": 4017.466,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.01,
        "bb_width_pct": 1.054
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T16-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T16:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4035.04,
      "stop": 4041.746,
      "target": 4021.628,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.01,
        "bb_width_pct": 1.054
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T16-35-00Z_short_vwap_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4031.935,
      "stop": 4039.028,
      "target": 4017.748,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.35,
        "bb_width_pct": 0.976
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T16-40-00Z_short_vwap_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T16:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4031.445,
      "stop": 4038.167,
      "target": 4018.001,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.13,
        "bb_width_pct": 0.911
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T16-50-00Z_short_vwap_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T16:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4031.52,
      "stop": 4038.074,
      "target": 4018.412,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.37,
        "bb_width_pct": 0.658
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T16-55-00Z_short_vwap_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4028.73,
      "stop": 4033.798,
      "target": 4018.594,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.34,
        "bb_width_pct": 0.529
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T17-05-00Z_long_rsi_range_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T17:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4030.705,
      "stop": 4029.227,
      "target": 4033.66,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.59,
        "bb_width_pct": 0.509
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T17-25-00Z_long_rsi_range_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T17:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4032.725,
      "stop": 4031.896,
      "target": 4034.382,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.79,
        "bb_width_pct": 0.417
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T18-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T18:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4037.92,
      "stop": 4040.581,
      "target": 4032.597,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.44,
        "bb_width_pct": 0.211
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T18-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4034.105,
      "stop": 4034.57,
      "target": 4033.174,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.88,
        "bb_width_pct": 0.356
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T18-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4034.105,
      "stop": 4038.592,
      "target": 4025.13,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.88,
        "bb_width_pct": 0.356
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T19-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T19:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4037.22,
      "stop": 4038.197,
      "target": 4035.266,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.55,
        "bb_width_pct": 0.335
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T19-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T19:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4037.22,
      "stop": 4038.825,
      "target": 4034.01,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.55,
        "bb_width_pct": 0.335
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T19-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T19:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4037.22,
      "stop": 4038.136,
      "target": 4035.388,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.55,
        "bb_width_pct": 0.335
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T19-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T19:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4026.83,
      "stop": 4022.796,
      "target": 4034.898,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.39,
        "bb_width_pct": 0.434
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T19-55-00Z_long_vwap_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T19:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4026.83,
      "stop": 4023.364,
      "target": 4033.763,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.39,
        "bb_width_pct": 0.434
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T19-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T19:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4026.83,
      "stop": 4023.719,
      "target": 4033.052,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.39,
        "bb_width_pct": 0.434
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T19-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T19:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4026.83,
      "stop": 4023.641,
      "target": 4033.207,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.39,
        "bb_width_pct": 0.434
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T20-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T20:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4031.55,
      "stop": 4030.053,
      "target": 4034.544,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.44,
        "bb_width_pct": 0.431
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T20-15-00Z_long_rsi_range_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T20:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4028.265,
      "stop": 4025.873,
      "target": 4033.05,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.47,
        "bb_width_pct": 0.419
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T20-40-00Z_long_vwap_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4026.485,
      "stop": 4023.37,
      "target": 4032.715,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.4,
        "bb_width_pct": 0.471
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T20-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4026.485,
      "stop": 4023.201,
      "target": 4033.052,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.4,
        "bb_width_pct": 0.471
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T20-50-00Z_long_rsi_range_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T20:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4025.1,
      "stop": 4022.58,
      "target": 4030.14,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.14,
        "bb_width_pct": 0.426
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T20-50-00Z_long_vwap_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T20:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4025.1,
      "stop": 4021.451,
      "target": 4032.399,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.14,
        "bb_width_pct": 0.426
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T20-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T20:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4025.1,
      "stop": 4021.124,
      "target": 4033.052,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 3.14,
        "bb_width_pct": 0.426
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T20-55-00Z_long_vwap_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T20:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4026.92,
      "stop": 4024.245,
      "target": 4032.27,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.52,
        "bb_width_pct": 0.399
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T20-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T20:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4026.92,
      "stop": 4023.854,
      "target": 4033.052,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.52,
        "bb_width_pct": 0.399
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T22-00-00Z_short_vwap_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T22:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4029.785,
      "stop": 4051.757,
      "target": 3985.841,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.9,
        "bb_width_pct": 0.334
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T22-05-00Z_short_vwap_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T22:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4025.95,
      "stop": 4045.206,
      "target": 3987.439,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.51,
        "bb_width_pct": 0.3
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T22-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T22:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4023.175,
      "stop": 4020.713,
      "target": 4028.099,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.13,
        "bb_width_pct": 0.296
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T22-10-00Z_short_vwap_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T22:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4023.175,
      "stop": 4040.368,
      "target": 3988.79,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.13,
        "bb_width_pct": 0.296
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T22-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T22:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4022.51,
      "stop": 4020.025,
      "target": 4027.48,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.81,
        "bb_width_pct": 0.276
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T22-15-00Z_short_vwap_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T22:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4022.51,
      "stop": 4038.762,
      "target": 3990.007,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.81,
        "bb_width_pct": 0.276
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T22-20-00Z_short_vwap_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T22:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4021.645,
      "stop": 4036.915,
      "target": 3991.105,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 17.38,
        "bb_width_pct": 0.253
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T22-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T22:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4024.9,
      "stop": 4023.981,
      "target": 4026.739,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.08,
        "bb_width_pct": 0.257
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T22-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T22:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4024.9,
      "stop": 4021.331,
      "target": 4032.037,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.08,
        "bb_width_pct": 0.257
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T22-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T22:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4024.9,
      "stop": 4023.881,
      "target": 4026.938,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.08,
        "bb_width_pct": 0.257
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T22-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T22:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4028.45,
      "stop": 4029.126,
      "target": 4027.097,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.61,
        "bb_width_pct": 0.293
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T22-40-00Z_short_vwap_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T22:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4028.45,
      "stop": 4044.816,
      "target": 3995.717,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.61,
        "bb_width_pct": 0.293
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T22-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T22:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4028.45,
      "stop": 4028.719,
      "target": 4027.913,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.61,
        "bb_width_pct": 0.293
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T22-45-00Z_short_vwap_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T22:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4024.83,
      "stop": 4038.937,
      "target": 3996.617,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.89,
        "bb_width_pct": 0.295
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T22-50-00Z_short_vwap_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T22:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4022.51,
      "stop": 4035.075,
      "target": 3997.38,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.03,
        "bb_width_pct": 0.309
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T22-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T22:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4026.44,
      "stop": 4023.709,
      "target": 4031.903,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 2.14,
        "bb_width_pct": 0.307
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T23-00-00Z_short_vwap_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4023.695,
      "stop": 4036.101,
      "target": 3998.882,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.99,
        "bb_width_pct": 0.302
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T23-05-00Z_short_vwap_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4023.105,
      "stop": 4034.898,
      "target": 3999.519,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.27,
        "bb_width_pct": 0.291
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T23-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4023.65,
      "stop": 4019.524,
      "target": 4031.903,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 3.41,
        "bb_width_pct": 0.293
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T23-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4026.335,
      "stop": 4023.551,
      "target": 4031.903,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.73,
        "bb_width_pct": 0.294
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T23-30-00Z_short_vwap_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4021.545,
      "stop": 4031.019,
      "target": 4002.596,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.69,
        "bb_width_pct": 0.325
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T23-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4024.085,
      "stop": 4020.899,
      "target": 4030.457,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.02,
        "bb_width_pct": 0.326
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T23-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4024.345,
      "stop": 4021.289,
      "target": 4030.457,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.1,
        "bb_width_pct": 0.313
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T23-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4018.035,
      "stop": 4014.525,
      "target": 4025.055,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.78,
        "bb_width_pct": 0.352
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T23-45-00Z_short_vwap_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4018.035,
      "stop": 4025.107,
      "target": 4003.891,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.78,
        "bb_width_pct": 0.352
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T23-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4018.035,
      "stop": 4014.505,
      "target": 4025.094,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.78,
        "bb_width_pct": 0.352
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T23-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T23:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4017.575,
      "stop": 4013.975,
      "target": 4024.775,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.9,
        "bb_width_pct": 0.386
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T23-50-00Z_short_vwap_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T23:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4017.575,
      "stop": 4024.267,
      "target": 4004.191,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.9,
        "bb_width_pct": 0.386
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-25T23-55-00Z_short_vwap_mean_reversion",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T23:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4014.555,
      "stop": 4019.623,
      "target": 4004.418,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.27,
        "bb_width_pct": 0.443
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T00-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T00:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4014.96,
      "stop": 4010.728,
      "target": 4023.424,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.24,
        "bb_width_pct": 0.545
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T00-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T00:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4014.96,
      "stop": 4010.206,
      "target": 4024.467,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.24,
        "bb_width_pct": 0.545
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T00-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T00:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4019.825,
      "stop": 4018.271,
      "target": 4022.934,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.99,
        "bb_width_pct": 0.531
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T00-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T00:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4019.825,
      "stop": 4017.717,
      "target": 4024.04,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.99,
        "bb_width_pct": 0.531
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T00-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T00:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4019.825,
      "stop": 4018.979,
      "target": 4021.516,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.99,
        "bb_width_pct": 0.531
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T00-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T00:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4015.485,
      "stop": 4012.874,
      "target": 4020.706,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.34,
        "bb_width_pct": 0.466
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T00-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4016.15,
      "stop": 4012.205,
      "target": 4024.04,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 18.69,
        "bb_width_pct": 0.478
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T00-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4016.15,
      "stop": 4014.089,
      "target": 4020.272,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.69,
        "bb_width_pct": 0.478
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T00-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T00:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4016.515,
      "stop": 4012.752,
      "target": 4024.04,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.7,
        "bb_width_pct": 0.471
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T00-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T00:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4019.255,
      "stop": 4016.863,
      "target": 4024.04,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.86,
        "bb_width_pct": 0.466
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T01-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T01:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4017.67,
      "stop": 4014.485,
      "target": 4024.04,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.88,
        "bb_width_pct": 0.301
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T01-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T01:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4022.825,
      "stop": 4025.152,
      "target": 4018.171,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.89,
        "bb_width_pct": 0.286
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T01-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T01:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4020.43,
      "stop": 4021.006,
      "target": 4019.277,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.64,
        "bb_width_pct": 0.259
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T01-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T01:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4018.54,
      "stop": 4015.79,
      "target": 4024.04,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.62,
        "bb_width_pct": 0.249
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T02-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T02:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4015.195,
      "stop": 4013.112,
      "target": 4019.361,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.29,
        "bb_width_pct": 0.24
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T02-25-00Z_long_rsi_range_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T02:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4007.67,
      "stop": 4002.618,
      "target": 4017.774,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.34,
        "bb_width_pct": 0.483
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T02-25-00Z_long_vwap_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T02:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4007.67,
      "stop": 4002.575,
      "target": 4017.861,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.34,
        "bb_width_pct": 0.483
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T02-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T02:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4007.67,
      "stop": 4002.53,
      "target": 4017.95,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 20.34,
        "bb_width_pct": 0.483
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T03-10-00Z_long_rsi_range_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T03:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3997.52,
      "stop": 3993.285,
      "target": 4005.99,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.1,
        "bb_width_pct": 1.19
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T03-10-00Z_long_vwap_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T03:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3997.52,
      "stop": 3990.09,
      "target": 4012.38,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.1,
        "bb_width_pct": 1.19
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T03-15-00Z_long_rsi_range_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3998.59,
      "stop": 3995.461,
      "target": 4004.849,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.94,
        "bb_width_pct": 1.145
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T03-15-00Z_long_vwap_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3998.59,
      "stop": 3991.879,
      "target": 4012.011,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.94,
        "bb_width_pct": 1.145
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T03-25-00Z_long_vwap_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3995.575,
      "stop": 3987.764,
      "target": 4011.197,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.98,
        "bb_width_pct": 1.083
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T03-30-00Z_long_vwap_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3995.865,
      "stop": 3988.377,
      "target": 4010.842,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.41,
        "bb_width_pct": 1.026
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T03-35-00Z_long_vwap_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T03:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3996.52,
      "stop": 3989.52,
      "target": 4010.52,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.93,
        "bb_width_pct": 0.927
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T03-40-00Z_long_vwap_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T03:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4000.365,
      "stop": 3995.413,
      "target": 4010.27,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.96,
        "bb_width_pct": 0.804
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T03-50-00Z_long_vwap_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T03:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4002.05,
      "stop": 3998.165,
      "target": 4009.82,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.13,
        "bb_width_pct": 0.58
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T04-00-00Z_short_rsi_range_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T04:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4001.07,
      "stop": 4003.101,
      "target": 3997.007,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 13.94,
        "bb_width_pct": 0.507
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T04-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T04:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4008.44,
      "stop": 4011.949,
      "target": 4001.421,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.62,
        "bb_width_pct": 0.506
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T04-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T04:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4009.255,
      "stop": 4012.799,
      "target": 4002.168,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.49,
        "bb_width_pct": 0.573
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T04-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4007.98,
      "stop": 4012.815,
      "target": 3998.31,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.98,
        "bb_width_pct": 0.602
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T04-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4007.98,
      "stop": 4010.609,
      "target": 4002.721,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.98,
        "bb_width_pct": 0.602
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T04-30-00Z_short_rsi_range_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T04:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4005.13,
      "stop": 4007.712,
      "target": 3999.966,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 15.37,
        "bb_width_pct": 0.563
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T04-55-00Z_short_rsi_range_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T04:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4011.705,
      "stop": 4015.701,
      "target": 4003.714,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 14.75,
        "bb_width_pct": 0.576
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T04-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T04:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4011.705,
      "stop": 4014.585,
      "target": 4005.944,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.75,
        "bb_width_pct": 0.576
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T05-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4014.785,
      "stop": 4018.56,
      "target": 4007.235,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.7,
        "bb_width_pct": 0.498
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T05-15-00Z_short_rsi_range_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4014.785,
      "stop": 4018.56,
      "target": 4007.235,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 9.7,
        "bb_width_pct": 0.498
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T05-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4014.785,
      "stop": 4020.601,
      "target": 4003.153,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.7,
        "bb_width_pct": 0.498
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T05-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4014.785,
      "stop": 4018.007,
      "target": 4008.341,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.7,
        "bb_width_pct": 0.498
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T05-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4013.395,
      "stop": 4019.18,
      "target": 4001.825,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.89,
        "bb_width_pct": 0.489
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T05-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4016.575,
      "stop": 4020.454,
      "target": 4008.817,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.39,
        "bb_width_pct": 0.467
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T05-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4016.57,
      "stop": 4020.083,
      "target": 4009.543,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.17,
        "bb_width_pct": 0.469
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T05-30-00Z_short_vwap_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4016.57,
      "stop": 4020.005,
      "target": 4009.7,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.17,
        "bb_width_pct": 0.469
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T05-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4016.57,
      "stop": 4024.333,
      "target": 4001.045,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.17,
        "bb_width_pct": 0.469
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T05-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4016.57,
      "stop": 4019.741,
      "target": 4010.228,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.17,
        "bb_width_pct": 0.469
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T05-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4013.8,
      "stop": 4019.57,
      "target": 4002.26,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.81,
        "bb_width_pct": 0.463
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T05-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4013.8,
      "stop": 4015.416,
      "target": 4010.568,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.81,
        "bb_width_pct": 0.463
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T05-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4011.39,
      "stop": 4015.955,
      "target": 4002.26,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.4,
        "bb_width_pct": 0.416
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T06-30-00Z_short_vwap_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4023.625,
      "stop": 4030.279,
      "target": 4010.316,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.27,
        "bb_width_pct": 0.488
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T06-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4023.625,
      "stop": 4031.01,
      "target": 4008.855,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.27,
        "bb_width_pct": 0.488
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T06-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4023.37,
      "stop": 4027.846,
      "target": 4014.419,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.08,
        "bb_width_pct": 0.527
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T06-35-00Z_short_vwap_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4023.37,
      "stop": 4029.815,
      "target": 4010.48,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.08,
        "bb_width_pct": 0.527
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T06-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4023.37,
      "stop": 4029.894,
      "target": 4010.323,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.08,
        "bb_width_pct": 0.527
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T06-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4023.37,
      "stop": 4027.746,
      "target": 4014.618,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.08,
        "bb_width_pct": 0.527
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T06-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T06:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4023.83,
      "stop": 4027.861,
      "target": 4015.767,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.33,
        "bb_width_pct": 0.588
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T06-45-00Z_short_vwap_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T06:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4023.83,
      "stop": 4030.332,
      "target": 4010.826,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.33,
        "bb_width_pct": 0.588
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T06-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T06:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4023.83,
      "stop": 4030.443,
      "target": 4010.605,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.33,
        "bb_width_pct": 0.588
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T06-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T06:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4023.83,
      "stop": 4027.548,
      "target": 4016.394,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.33,
        "bb_width_pct": 0.588
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T06-50-00Z_short_rsi_range_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T06:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4023.8,
      "stop": 4027.603,
      "target": 4016.194,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 14.94,
        "bb_width_pct": 0.613
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T06-50-00Z_short_vwap_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T06:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4023.8,
      "stop": 4030.208,
      "target": 4010.983,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.94,
        "bb_width_pct": 0.613
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T06-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T06:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4023.8,
      "stop": 4029.819,
      "target": 4011.762,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.94,
        "bb_width_pct": 0.613
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T06-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T06:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4023.8,
      "stop": 4027.15,
      "target": 4017.099,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.94,
        "bb_width_pct": 0.613
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T07-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T07:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4029.52,
      "stop": 4035.347,
      "target": 4017.866,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 25.33,
        "bb_width_pct": 0.746
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T07-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T07:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4029.52,
      "stop": 4036.604,
      "target": 4015.352,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 25.33,
        "bb_width_pct": 0.746
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T07-05-00Z_short_rsi_range_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T07:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4029.125,
      "stop": 4034.441,
      "target": 4018.494,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 26.81,
        "bb_width_pct": 0.784
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T07-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T07:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4029.125,
      "stop": 4035.735,
      "target": 4015.905,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 26.81,
        "bb_width_pct": 0.784
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T07-10-00Z_short_rsi_range_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T07:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4027.54,
      "stop": 4031.789,
      "target": 4019.042,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 23.81,
        "bb_width_pct": 0.806
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T07-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T07:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4027.54,
      "stop": 4033.092,
      "target": 4016.435,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 23.81,
        "bb_width_pct": 0.806
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T07-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T07:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4027.54,
      "stop": 4030.731,
      "target": 4021.157,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 23.81,
        "bb_width_pct": 0.806
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T07-20-00Z_short_rsi_range_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T07:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4029.54,
      "stop": 4033.894,
      "target": 4020.832,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 26.17,
        "bb_width_pct": 0.84
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T07-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T07:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4029.54,
      "stop": 4036.092,
      "target": 4016.435,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 26.17,
        "bb_width_pct": 0.84
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T07-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T07:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4029.54,
      "stop": 4032.889,
      "target": 4022.843,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 26.17,
        "bb_width_pct": 0.84
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T07-30-00Z_short_rsi_range_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4037.655,
      "stop": 4044.856,
      "target": 4023.254,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 18.42,
        "bb_width_pct": 0.939
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T07-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4037.655,
      "stop": 4046.116,
      "target": 4020.733,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.42,
        "bb_width_pct": 0.939
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T07-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T07:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4036.23,
      "stop": 4043.979,
      "target": 4020.733,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.54,
        "bb_width_pct": 0.912
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T07-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T07:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4031.585,
      "stop": 4037.011,
      "target": 4020.733,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.41,
        "bb_width_pct": 0.837
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T07-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T07:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4031.585,
      "stop": 4033.847,
      "target": 4027.06,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.41,
        "bb_width_pct": 0.837
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T08-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4034.5,
      "stop": 4040.374,
      "target": 4022.753,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.59,
        "bb_width_pct": 0.308
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T08-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T08:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4033.61,
      "stop": 4039.039,
      "target": 4022.753,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.43,
        "bb_width_pct": 0.311
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T08-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T08:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4033.61,
      "stop": 4034.864,
      "target": 4031.102,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.43,
        "bb_width_pct": 0.311
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T09-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T09:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4038.645,
      "stop": 4041.553,
      "target": 4032.829,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.73,
        "bb_width_pct": 0.292
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T09-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T09:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4038.645,
      "stop": 4041.863,
      "target": 4032.209,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.73,
        "bb_width_pct": 0.292
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T09-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4048.28,
      "stop": 4054.349,
      "target": 4036.142,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.86,
        "bb_width_pct": 0.645
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T09-30-00Z_short_rsi_range_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4048.28,
      "stop": 4054.349,
      "target": 4036.142,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 18.86,
        "bb_width_pct": 0.645
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T09-30-00Z_short_vwap_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4048.28,
      "stop": 4055.239,
      "target": 4034.362,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 18.86,
        "bb_width_pct": 0.645
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T09-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4048.28,
      "stop": 4057.559,
      "target": 4029.722,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.86,
        "bb_width_pct": 0.645
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T09-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T09:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4048.0,
      "stop": 4052.863,
      "target": 4038.274,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.93,
        "bb_width_pct": 0.707
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T09-40-00Z_short_rsi_range_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T09:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4048.0,
      "stop": 4052.863,
      "target": 4038.274,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 20.93,
        "bb_width_pct": 0.707
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T09-40-00Z_short_vwap_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T09:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4048.0,
      "stop": 4054.327,
      "target": 4035.345,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 20.93,
        "bb_width_pct": 0.707
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T09-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T09:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4048.0,
      "stop": 4053.304,
      "target": 4037.392,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 20.93,
        "bb_width_pct": 0.707
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T09-45-00Z_short_rsi_range_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T09:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4047.235,
      "stop": 4051.301,
      "target": 4039.103,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 16.06,
        "bb_width_pct": 0.709
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T09-45-00Z_short_vwap_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T09:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4047.235,
      "stop": 4053.004,
      "target": 4035.697,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 16.06,
        "bb_width_pct": 0.709
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T09-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T09:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4047.235,
      "stop": 4052.066,
      "target": 4037.573,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 16.06,
        "bb_width_pct": 0.709
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T09-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T09:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4047.235,
      "stop": 4050.495,
      "target": 4040.714,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.06,
        "bb_width_pct": 0.709
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T09-55-00Z_short_rsi_range_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T09:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4047.185,
      "stop": 4050.37,
      "target": 4040.816,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 19.44,
        "bb_width_pct": 0.72
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T09-55-00Z_short_vwap_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T09:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4047.185,
      "stop": 4052.549,
      "target": 4036.457,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 19.44,
        "bb_width_pct": 0.72
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T09-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T09:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4047.185,
      "stop": 4051.991,
      "target": 4037.573,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 19.44,
        "bb_width_pct": 0.72
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T09-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T09:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4047.185,
      "stop": 4049.683,
      "target": 4042.189,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.44,
        "bb_width_pct": 0.72
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T10-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T10:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4051.055,
      "stop": 4054.523,
      "target": 4044.12,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.58,
        "bb_width_pct": 0.705
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T10-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T10:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4044.55,
      "stop": 4046.82,
      "target": 4040.01,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.41,
        "bb_width_pct": 0.668
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T10-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T10:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4049.255,
      "stop": 4053.77,
      "target": 4040.225,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.39,
        "bb_width_pct": 0.453
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T10-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T10:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4049.255,
      "stop": 4050.954,
      "target": 4045.858,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.39,
        "bb_width_pct": 0.453
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T10-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T10:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4048.5,
      "stop": 4052.637,
      "target": 4040.225,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.67,
        "bb_width_pct": 0.354
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T10-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T10:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4052.85,
      "stop": 4054.877,
      "target": 4048.797,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.42,
        "bb_width_pct": 0.237
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T10-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T10:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4052.85,
      "stop": 4055.776,
      "target": 4046.998,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.42,
        "bb_width_pct": 0.237
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T10-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T10:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4054.705,
      "stop": 4058.191,
      "target": 4047.732,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.05,
        "bb_width_pct": 0.263
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T11-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4052.97,
      "stop": 4054.732,
      "target": 4049.446,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.18,
        "bb_width_pct": 0.274
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T11-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4052.97,
      "stop": 4059.241,
      "target": 4040.427,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.18,
        "bb_width_pct": 0.274
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T11-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4052.97,
      "stop": 4055.339,
      "target": 4048.231,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.18,
        "bb_width_pct": 0.274
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T11-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T11:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4052.91,
      "stop": 4058.997,
      "target": 4040.735,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.39,
        "bb_width_pct": 0.282
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T11-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T11:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4047.43,
      "stop": 4050.777,
      "target": 4040.735,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.77,
        "bb_width_pct": 0.285
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T11-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T11:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4052.125,
      "stop": 4057.82,
      "target": 4040.735,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.17,
        "bb_width_pct": 0.293
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T11-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T11:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4048.625,
      "stop": 4051.6,
      "target": 4042.675,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.81,
        "bb_width_pct": 0.299
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T11-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T11:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4044.75,
      "stop": 4042.193,
      "target": 4049.864,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.25,
        "bb_width_pct": 0.338
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T12-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T12:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4044.315,
      "stop": 4041.847,
      "target": 4049.251,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.3,
        "bb_width_pct": 0.347
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T12-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T12:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4040.44,
      "stop": 4036.863,
      "target": 4047.594,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.06,
        "bb_width_pct": 0.359
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T12-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T12:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4040.44,
      "stop": 4037.483,
      "target": 4046.355,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.06,
        "bb_width_pct": 0.359
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T12-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T12:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4044.695,
      "stop": 4043.451,
      "target": 4047.184,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.46,
        "bb_width_pct": 0.343
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T12-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T12:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4044.695,
      "stop": 4043.944,
      "target": 4046.196,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.46,
        "bb_width_pct": 0.343
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T13-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4052.365,
      "stop": 4054.838,
      "target": 4047.42,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.28,
        "bb_width_pct": 0.412
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T13-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4052.365,
      "stop": 4054.16,
      "target": 4048.775,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.28,
        "bb_width_pct": 0.412
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T13-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4052.365,
      "stop": 4054.609,
      "target": 4047.876,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.28,
        "bb_width_pct": 0.412
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T13-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T13:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4057.05,
      "stop": 4061.542,
      "target": 4048.065,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.6,
        "bb_width_pct": 0.483
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T13-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4062.095,
      "stop": 4068.117,
      "target": 4050.05,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.75,
        "bb_width_pct": 0.618
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T13-45-00Z_short_vwap_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4062.095,
      "stop": 4068.449,
      "target": 4049.387,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 16.75,
        "bb_width_pct": 0.618
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T13-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4062.095,
      "stop": 4067.626,
      "target": 4051.033,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 16.75,
        "bb_width_pct": 0.618
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T13-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T13:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4064.185,
      "stop": 4070.876,
      "target": 4050.803,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.02,
        "bb_width_pct": 0.688
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T13-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T13:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4064.185,
      "stop": 4069.692,
      "target": 4053.171,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.02,
        "bb_width_pct": 0.688
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T15-10-00Z_short_vwap_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T15:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4079.695,
      "stop": 4087.981,
      "target": 4063.122,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.4,
        "bb_width_pct": 1.015
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T15-30-00Z_short_vwap_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T15:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4082.09,
      "stop": 4090.655,
      "target": 4064.96,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.81,
        "bb_width_pct": 0.378
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T15-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T15:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4082.09,
      "stop": 4090.864,
      "target": 4064.543,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.81,
        "bb_width_pct": 0.378
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T15-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T15:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4082.09,
      "stop": 4083.875,
      "target": 4078.52,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.81,
        "bb_width_pct": 0.378
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T15-45-00Z_short_rsi_range_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T15:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4094.785,
      "stop": 4099.755,
      "target": 4084.846,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 13.24,
        "bb_width_pct": 0.475
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T15-45-00Z_short_vwap_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T15:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4094.785,
      "stop": 4108.804,
      "target": 4066.746,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.24,
        "bb_width_pct": 0.475
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T15-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T15:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4094.785,
      "stop": 4109.285,
      "target": 4065.785,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.24,
        "bb_width_pct": 0.475
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T15-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T15:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4086.62,
      "stop": 4087.4,
      "target": 4085.06,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.65,
        "bb_width_pct": 0.473
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T15-50-00Z_short_vwap_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T15:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4086.62,
      "stop": 4096.325,
      "target": 4067.21,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 1.65,
        "bb_width_pct": 0.473
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T15-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T15:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4086.62,
      "stop": 4096.95,
      "target": 4065.96,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.65,
        "bb_width_pct": 0.473
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T15-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T15:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4086.62,
      "stop": 4088.474,
      "target": 4082.912,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.65,
        "bb_width_pct": 0.473
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T16-05-00Z_short_vwap_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T16:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4089.485,
      "stop": 4099.93,
      "target": 4068.596,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.28,
        "bb_width_pct": 0.503
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T16-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T16:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4089.485,
      "stop": 4099.424,
      "target": 4069.608,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.28,
        "bb_width_pct": 0.503
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T16-15-00Z_short_vwap_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T16:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4090.245,
      "stop": 4100.638,
      "target": 4069.459,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.16,
        "bb_width_pct": 0.487
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T16-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T16:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4090.245,
      "stop": 4100.564,
      "target": 4069.608,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.16,
        "bb_width_pct": 0.487
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T16-20-00Z_short_vwap_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T16:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4085.645,
      "stop": 4093.577,
      "target": 4069.78,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.95,
        "bb_width_pct": 0.48
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T16-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T16:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4085.645,
      "stop": 4093.664,
      "target": 4069.608,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.95,
        "bb_width_pct": 0.48
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T16-35-00Z_short_vwap_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4084.585,
      "stop": 4091.52,
      "target": 4070.716,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.0,
        "bb_width_pct": 0.462
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T16-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4084.585,
      "stop": 4091.616,
      "target": 4070.523,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.0,
        "bb_width_pct": 0.462
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T16-45-00Z_short_vwap_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4083.92,
      "stop": 4090.282,
      "target": 4071.196,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.71,
        "bb_width_pct": 0.42
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T16-55-00Z_short_vwap_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4085.2,
      "stop": 4091.974,
      "target": 4071.652,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.14,
        "bb_width_pct": 0.372
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T17-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T17:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4084.595,
      "stop": 4083.378,
      "target": 4087.029,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.07,
        "bb_width_pct": 0.319
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T17-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T17:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4081.62,
      "stop": 4079.245,
      "target": 4086.37,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.18,
        "bb_width_pct": 0.288
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T17-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T17:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4076.85,
      "stop": 4073.04,
      "target": 4084.469,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.42,
        "bb_width_pct": 0.396
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T17-40-00Z_long_rsi_range_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T17:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4076.85,
      "stop": 4073.04,
      "target": 4084.469,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.42,
        "bb_width_pct": 0.396
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T17-40-00Z_long_vwap_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T17:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4076.85,
      "stop": 4074.404,
      "target": 4081.743,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.42,
        "bb_width_pct": 0.396
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T17-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T17:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4076.85,
      "stop": 4072.701,
      "target": 4085.148,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.42,
        "bb_width_pct": 0.396
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T17-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T17:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4076.15,
      "stop": 4072.324,
      "target": 4083.803,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.16,
        "bb_width_pct": 0.417
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T18-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T18:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4076.715,
      "stop": 4074.178,
      "target": 4081.789,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.36,
        "bb_width_pct": 0.425
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T18-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T18:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4076.715,
      "stop": 4072.62,
      "target": 4084.905,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 16.36,
        "bb_width_pct": 0.425
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T18-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T18:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4076.715,
      "stop": 4074.855,
      "target": 4080.435,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.36,
        "bb_width_pct": 0.425
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T18-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T18:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4077.475,
      "stop": 4074.092,
      "target": 4084.24,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 13.75,
        "bb_width_pct": 0.419
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T18-25-00Z_long_vwap_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T18:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4073.655,
      "stop": 4071.229,
      "target": 4078.506,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.53,
        "bb_width_pct": 0.441
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T18-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T18:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4073.655,
      "stop": 4068.578,
      "target": 4083.81,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 21.53,
        "bb_width_pct": 0.441
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T18-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T18:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4073.655,
      "stop": 4071.402,
      "target": 4078.162,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.53,
        "bb_width_pct": 0.441
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T18-30-00Z_long_rsi_range_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4074.665,
      "stop": 4072.713,
      "target": 4078.57,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.48,
        "bb_width_pct": 0.426
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T18-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4074.665,
      "stop": 4070.092,
      "target": 4083.81,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.48,
        "bb_width_pct": 0.426
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T18-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T18:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4072.66,
      "stop": 4070.499,
      "target": 4076.982,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.7,
        "bb_width_pct": 0.395
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T18-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T18:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4069.55,
      "stop": 4066.066,
      "target": 4076.518,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.68,
        "bb_width_pct": 0.367
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T18-50-00Z_long_vwap_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T18:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4070.385,
      "stop": 4067.004,
      "target": 4077.147,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.43,
        "bb_width_pct": 0.355
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T18-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T18:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4070.385,
      "stop": 4064.605,
      "target": 4081.945,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.43,
        "bb_width_pct": 0.355
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T19-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T19:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4066.83,
      "stop": 4063.511,
      "target": 4073.469,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.28,
        "bb_width_pct": 0.356
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T19-05-00Z_long_vwap_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T19:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4066.83,
      "stop": 4062.247,
      "target": 4075.996,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.28,
        "bb_width_pct": 0.356
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T19-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T19:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4066.83,
      "stop": 4060.069,
      "target": 4080.352,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 23.28,
        "bb_width_pct": 0.356
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T19-10-00Z_long_vwap_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T19:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4069.645,
      "stop": 4066.604,
      "target": 4075.727,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.66,
        "bb_width_pct": 0.349
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T19-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T19:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4069.645,
      "stop": 4064.845,
      "target": 4079.245,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 18.66,
        "bb_width_pct": 0.349
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T19-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T19:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4069.645,
      "stop": 4067.969,
      "target": 4072.998,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.66,
        "bb_width_pct": 0.349
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T19-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T19:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4068.29,
      "stop": 4066.16,
      "target": 4072.55,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.4,
        "bb_width_pct": 0.357
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T19-25-00Z_long_vwap_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T19:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4066.655,
      "stop": 4062.551,
      "target": 4074.863,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.88,
        "bb_width_pct": 0.379
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T19-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T19:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4066.655,
      "stop": 4060.36,
      "target": 4079.245,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.88,
        "bb_width_pct": 0.379
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T19-30-00Z_long_vwap_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T19:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4070.325,
      "stop": 4068.153,
      "target": 4074.67,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.81,
        "bb_width_pct": 0.37
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T19-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T19:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4070.325,
      "stop": 4065.865,
      "target": 4079.245,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.81,
        "bb_width_pct": 0.37
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T19-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T19:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4070.325,
      "stop": 4069.838,
      "target": 4071.3,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.81,
        "bb_width_pct": 0.37
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T19-40-00Z_long_vwap_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T19:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4068.825,
      "stop": 4066.069,
      "target": 4074.338,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.1,
        "bb_width_pct": 0.345
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T19-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T19:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4068.825,
      "stop": 4063.754,
      "target": 4078.967,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 11.1,
        "bb_width_pct": 0.345
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T19-45-00Z_long_vwap_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T19:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4070.185,
      "stop": 4068.185,
      "target": 4074.185,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.47,
        "bb_width_pct": 0.309
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T19-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T19:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4070.185,
      "stop": 4065.794,
      "target": 4078.967,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.47,
        "bb_width_pct": 0.309
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T20-10-00Z_long_vwap_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T20:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4068.1,
      "stop": 4065.297,
      "target": 4073.707,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.68,
        "bb_width_pct": 0.24
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T20-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T20:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4068.1,
      "stop": 4063.92,
      "target": 4076.46,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 2.68,
        "bb_width_pct": 0.24
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T20-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T20:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4068.1,
      "stop": 4066.927,
      "target": 4070.446,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.68,
        "bb_width_pct": 0.24
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T20-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T20:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4071.7,
      "stop": 4069.32,
      "target": 4076.46,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.26,
        "bb_width_pct": 0.212
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-26T20-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T20:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4076.115,
      "stop": 4078.668,
      "target": 4071.009,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.93,
        "bb_width_pct": 0.243
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-28T22-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-28",
      "timestamp": "2026-06-28T22:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4076.03,
      "stop": 4077.791,
      "target": 4072.508,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.78,
        "bb_width_pct": 0.495
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-28T22-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-28",
      "timestamp": "2026-06-28T22:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4076.03,
      "stop": 4077.042,
      "target": 4074.006,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.78,
        "bb_width_pct": 0.495
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-28T22-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-28",
      "timestamp": "2026-06-28T22:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4059.425,
      "stop": 4053.332,
      "target": 4071.612,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.88,
        "bb_width_pct": 0.615
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-28T22-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-28",
      "timestamp": "2026-06-28T22:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4057.38,
      "stop": 4050.584,
      "target": 4070.972,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.9,
        "bb_width_pct": 0.687
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-28T22-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-28",
      "timestamp": "2026-06-28T22:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4057.55,
      "stop": 4050.18,
      "target": 4072.29,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.99,
        "bb_width_pct": 0.741
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-28T22-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-28",
      "timestamp": "2026-06-28T22:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4057.55,
      "stop": 4051.992,
      "target": 4068.667,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.99,
        "bb_width_pct": 0.741
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-28T22-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-28",
      "timestamp": "2026-06-28T22:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4061.35,
      "stop": 4055.88,
      "target": 4072.29,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.15,
        "bb_width_pct": 0.763
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-28T22-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-28",
      "timestamp": "2026-06-28T22:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4061.35,
      "stop": 4058.04,
      "target": 4067.97,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.15,
        "bb_width_pct": 0.763
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-28T23-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-28",
      "timestamp": "2026-06-28T23:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4057.3,
      "stop": 4053.402,
      "target": 4065.096,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.81,
        "bb_width_pct": 0.827
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-28T23-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-28",
      "timestamp": "2026-06-28T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4056.42,
      "stop": 4052.495,
      "target": 4064.269,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.28,
        "bb_width_pct": 0.78
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-28T23-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-28",
      "timestamp": "2026-06-28T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4060.76,
      "stop": 4055.303,
      "target": 4071.675,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.23,
        "bb_width_pct": 0.585
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T00-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T00:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4058.09,
      "stop": 4055.848,
      "target": 4062.574,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.53,
        "bb_width_pct": 0.387
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T00-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T00:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4058.09,
      "stop": 4055.634,
      "target": 4063.001,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.53,
        "bb_width_pct": 0.387
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T00-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T00:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4059.285,
      "stop": 4053.09,
      "target": 4071.675,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.39,
        "bb_width_pct": 0.377
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T00-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4054.285,
      "stop": 4051.256,
      "target": 4060.344,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.96,
        "bb_width_pct": 0.516
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T00-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4054.285,
      "stop": 4046.589,
      "target": 4069.677,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 3.96,
        "bb_width_pct": 0.516
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T00-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4054.285,
      "stop": 4051.708,
      "target": 4059.438,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.96,
        "bb_width_pct": 0.516
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T00-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T00:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4060.775,
      "stop": 4056.324,
      "target": 4069.677,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.39,
        "bb_width_pct": 0.498
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T00-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T00:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4069.42,
      "stop": 4073.878,
      "target": 4060.504,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.24,
        "bb_width_pct": 0.511
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T00-45-00Z_short_vwap_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T00:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4066.665,
      "stop": 4070.716,
      "target": 4058.563,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.55,
        "bb_width_pct": 0.481
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T00-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T00:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4069.41,
      "stop": 4073.812,
      "target": 4060.606,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.62,
        "bb_width_pct": 0.547
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T00-55-00Z_short_vwap_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T00:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4069.41,
      "stop": 4073.948,
      "target": 4060.333,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.62,
        "bb_width_pct": 0.547
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T00-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T00:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4069.41,
      "stop": 4072.809,
      "target": 4062.611,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.62,
        "bb_width_pct": 0.547
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T01-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T01:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4061.97,
      "stop": 4062.361,
      "target": 4061.189,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.18,
        "bb_width_pct": 0.544
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T02-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T02:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4068.715,
      "stop": 4071.511,
      "target": 4063.123,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.25,
        "bb_width_pct": 0.378
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T02-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4068.62,
      "stop": 4071.392,
      "target": 4063.077,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.36,
        "bb_width_pct": 0.371
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T02-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4068.62,
      "stop": 4072.205,
      "target": 4061.45,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.36,
        "bb_width_pct": 0.371
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T03-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T03:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4069.065,
      "stop": 4072.873,
      "target": 4061.45,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.7,
        "bb_width_pct": 0.322
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T03-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T03:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4073.59,
      "stop": 4077.14,
      "target": 4066.49,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.73,
        "bb_width_pct": 0.37
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T03-25-00Z_short_vwap_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4072.555,
      "stop": 4077.143,
      "target": 4063.379,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.69,
        "bb_width_pct": 0.375
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T03-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4072.555,
      "stop": 4077.791,
      "target": 4062.082,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.69,
        "bb_width_pct": 0.375
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T03-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4069.75,
      "stop": 4073.584,
      "target": 4062.082,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.39,
        "bb_width_pct": 0.369
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T04-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T04:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4064.78,
      "stop": 4063.209,
      "target": 4067.923,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.28,
        "bb_width_pct": 0.263
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T04-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4064.02,
      "stop": 4061.989,
      "target": 4068.082,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.68,
        "bb_width_pct": 0.228
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T04-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T04:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4061.41,
      "stop": 4059.005,
      "target": 4066.22,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.23,
        "bb_width_pct": 0.275
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T04-40-00Z_long_rsi_range_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4057.35,
      "stop": 4052.693,
      "target": 4066.665,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.91,
        "bb_width_pct": 0.439
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T04-40-00Z_long_vwap_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4057.35,
      "stop": 4054.069,
      "target": 4063.912,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.91,
        "bb_width_pct": 0.439
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T04-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4057.35,
      "stop": 4053.295,
      "target": 4065.46,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 17.91,
        "bb_width_pct": 0.439
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T04-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4057.12,
      "stop": 4052.663,
      "target": 4066.034,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.01,
        "bb_width_pct": 0.478
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T05-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4054.835,
      "stop": 4050.504,
      "target": 4063.497,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.05,
        "bb_width_pct": 0.591
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T05-00-00Z_long_rsi_range_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4054.835,
      "stop": 4050.504,
      "target": 4063.497,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.05,
        "bb_width_pct": 0.591
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T05-00-00Z_long_vwap_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4054.835,
      "stop": 4050.616,
      "target": 4063.274,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.05,
        "bb_width_pct": 0.591
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T05-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4054.835,
      "stop": 4050.832,
      "target": 4062.84,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 25.05,
        "bb_width_pct": 0.591
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T05-10-00Z_long_rsi_range_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4055.95,
      "stop": 4053.017,
      "target": 4061.816,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.22,
        "bb_width_pct": 0.589
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T05-10-00Z_long_vwap_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4055.95,
      "stop": 4052.432,
      "target": 4062.987,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.22,
        "bb_width_pct": 0.589
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T05-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4055.95,
      "stop": 4053.964,
      "target": 4059.923,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.22,
        "bb_width_pct": 0.589
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T05-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4045.465,
      "stop": 4039.122,
      "target": 4058.151,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.43,
        "bb_width_pct": 0.657
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T05-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4044.145,
      "stop": 4037.761,
      "target": 4056.914,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.95,
        "bb_width_pct": 0.675
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T05-40-00Z_long_vwap_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4050.505,
      "stop": 4044.871,
      "target": 4061.773,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.45,
        "bb_width_pct": 0.643
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T05-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4050.505,
      "stop": 4046.923,
      "target": 4057.67,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.45,
        "bb_width_pct": 0.643
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T05-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4050.505,
      "stop": 4048.325,
      "target": 4054.865,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.45,
        "bb_width_pct": 0.643
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T05-50-00Z_long_vwap_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4053.46,
      "stop": 4049.45,
      "target": 4061.48,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.44,
        "bb_width_pct": 0.565
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T06-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4061.785,
      "stop": 4065.845,
      "target": 4053.665,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.73,
        "bb_width_pct": 0.443
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T06-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T06:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4059.765,
      "stop": 4062.856,
      "target": 4053.583,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.04,
        "bb_width_pct": 0.43
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T06-55-00Z_short_rsi_range_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T06:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4062.365,
      "stop": 4065.441,
      "target": 4056.213,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 13.13,
        "bb_width_pct": 0.582
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T07-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4063.22,
      "stop": 4064.481,
      "target": 4060.697,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.69,
        "bb_width_pct": 0.246
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T07-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4063.22,
      "stop": 4068.299,
      "target": 4053.062,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.69,
        "bb_width_pct": 0.246
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T07-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T07:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4062.995,
      "stop": 4067.961,
      "target": 4053.062,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.28,
        "bb_width_pct": 0.206
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T07-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T07:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4062.815,
      "stop": 4067.691,
      "target": 4053.062,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.36,
        "bb_width_pct": 0.202
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T07-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T07:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4064.685,
      "stop": 4066.193,
      "target": 4061.669,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.61,
        "bb_width_pct": 0.216
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T07-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T07:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4064.685,
      "stop": 4066.238,
      "target": 4061.579,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.61,
        "bb_width_pct": 0.216
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T07-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T07:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4061.72,
      "stop": 4065.541,
      "target": 4054.077,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.79,
        "bb_width_pct": 0.212
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T08-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T08:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4063.91,
      "stop": 4068.826,
      "target": 4054.077,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.72,
        "bb_width_pct": 0.162
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T08-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T08:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4062.745,
      "stop": 4067.079,
      "target": 4054.077,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.04,
        "bb_width_pct": 0.16
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T08-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4063.695,
      "stop": 4064.201,
      "target": 4062.684,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.49,
        "bb_width_pct": 0.163
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T08-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T08:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4055.765,
      "stop": 4052.765,
      "target": 4061.764,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.34,
        "bb_width_pct": 0.218
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T08-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T08:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4055.49,
      "stop": 4052.652,
      "target": 4061.167,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.25,
        "bb_width_pct": 0.259
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T09-00-00Z_long_rsi_range_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4049.955,
      "stop": 4044.668,
      "target": 4060.53,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.27,
        "bb_width_pct": 0.519
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T09-00-00Z_long_vwap_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4049.955,
      "stop": 4044.619,
      "target": 4060.627,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.27,
        "bb_width_pct": 0.519
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T09-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4049.955,
      "stop": 4046.756,
      "target": 4056.352,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 18.27,
        "bb_width_pct": 0.519
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T09-05-00Z_long_vwap_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T09:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4053.265,
      "stop": 4049.736,
      "target": 4060.323,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.72,
        "bb_width_pct": 0.525
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T09-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T09:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4053.265,
      "stop": 4051.052,
      "target": 4057.691,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.72,
        "bb_width_pct": 0.525
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T09-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T09:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4050.33,
      "stop": 4047.0,
      "target": 4056.99,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.42,
        "bb_width_pct": 0.557
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T09-15-00Z_long_rsi_range_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T09:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4051.71,
      "stop": 4048.229,
      "target": 4058.673,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.29,
        "bb_width_pct": 0.573
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T09-15-00Z_long_vwap_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T09:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4051.71,
      "stop": 4047.727,
      "target": 4059.675,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.29,
        "bb_width_pct": 0.573
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T09-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T09:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4051.71,
      "stop": 4049.321,
      "target": 4056.487,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.29,
        "bb_width_pct": 0.573
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T09-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T09:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4047.625,
      "stop": 4043.973,
      "target": 4054.929,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.65,
        "bb_width_pct": 0.63
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T09-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4045.86,
      "stop": 4040.692,
      "target": 4056.196,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.6,
        "bb_width_pct": 0.65
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T09-40-00Z_long_rsi_range_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T09:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4043.83,
      "stop": 4038.582,
      "target": 4054.326,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.39,
        "bb_width_pct": 0.712
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T09-40-00Z_long_vwap_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T09:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4043.83,
      "stop": 4036.956,
      "target": 4057.577,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.39,
        "bb_width_pct": 0.712
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T09-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T09:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4043.83,
      "stop": 4038.169,
      "target": 4055.153,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 25.39,
        "bb_width_pct": 0.712
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T09-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T09:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4040.51,
      "stop": 4034.189,
      "target": 4053.151,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.9,
        "bb_width_pct": 0.736
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T10-05-00Z_long_rsi_range_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T10:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4032.115,
      "stop": 4024.69,
      "target": 4046.965,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.79,
        "bb_width_pct": 0.922
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T10-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T10:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4032.115,
      "stop": 4024.855,
      "target": 4046.635,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 21.79,
        "bb_width_pct": 0.922
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T10-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T10:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4038.5,
      "stop": 4035.667,
      "target": 4044.166,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.49,
        "bb_width_pct": 0.856
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T10-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T10:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4035.44,
      "stop": 4031.493,
      "target": 4043.335,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.68,
        "bb_width_pct": 0.793
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T10-25-00Z_long_rsi_range_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T10:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4037.59,
      "stop": 4035.117,
      "target": 4042.536,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.26,
        "bb_width_pct": 0.721
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T10-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T10:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4033.62,
      "stop": 4029.707,
      "target": 4041.446,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.08,
        "bb_width_pct": 0.715
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T10-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T10:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4038.455,
      "stop": 4037.102,
      "target": 4041.161,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.69,
        "bb_width_pct": 0.706
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T11-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T11:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4032.225,
      "stop": 4030.919,
      "target": 4034.837,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.76,
        "bb_width_pct": 0.266
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T11-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T11:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4032.225,
      "stop": 4025.532,
      "target": 4045.61,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.76,
        "bb_width_pct": 0.266
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T11-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T11:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4032.225,
      "stop": 4029.94,
      "target": 4036.794,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.76,
        "bb_width_pct": 0.266
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T11-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T11:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4035.63,
      "stop": 4030.64,
      "target": 4045.61,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 3.11,
        "bb_width_pct": 0.266
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T11-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T11:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4039.285,
      "stop": 4041.174,
      "target": 4035.507,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.97,
        "bb_width_pct": 0.238
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T12-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T12:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4047.66,
      "stop": 4051.509,
      "target": 4039.963,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.77,
        "bb_width_pct": 0.474
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T12-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T12:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4043.79,
      "stop": 4046.978,
      "target": 4037.414,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.84,
        "bb_width_pct": 0.495
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T12-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T12:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4043.79,
      "stop": 4045.819,
      "target": 4039.731,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.84,
        "bb_width_pct": 0.495
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T13-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4050.805,
      "stop": 4055.522,
      "target": 4041.37,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.52,
        "bb_width_pct": 0.519
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T13-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4050.805,
      "stop": 4054.932,
      "target": 4042.551,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.52,
        "bb_width_pct": 0.519
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T13-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T13:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4046.125,
      "stop": 4049.925,
      "target": 4038.525,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.71,
        "bb_width_pct": 0.484
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T13-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T13:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4046.125,
      "stop": 4047.742,
      "target": 4042.891,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.71,
        "bb_width_pct": 0.484
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T13-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T13:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4043.785,
      "stop": 4045.647,
      "target": 4040.06,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.01,
        "bb_width_pct": 0.39
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T13-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4043.575,
      "stop": 4043.198,
      "target": 4044.329,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.05,
        "bb_width_pct": 0.336
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T13-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T13:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4038.7,
      "stop": 4036.133,
      "target": 4043.834,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.13,
        "bb_width_pct": 0.381
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T13-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4035.31,
      "stop": 4031.368,
      "target": 4043.193,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.42,
        "bb_width_pct": 0.409
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T13-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T13:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4032.06,
      "stop": 4027.743,
      "target": 4040.694,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.28,
        "bb_width_pct": 0.461
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T13-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T13:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4032.265,
      "stop": 4027.479,
      "target": 4041.837,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.31,
        "bb_width_pct": 0.509
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T13-55-00Z_long_vwap_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T13:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4032.265,
      "stop": 4026.975,
      "target": 4042.845,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.31,
        "bb_width_pct": 0.509
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T13-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T13:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4032.265,
      "stop": 4028.367,
      "target": 4040.06,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.31,
        "bb_width_pct": 0.509
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T13-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T13:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4032.265,
      "stop": 4028.452,
      "target": 4039.891,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.31,
        "bb_width_pct": 0.509
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T14-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T14:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4017.5,
      "stop": 4007.772,
      "target": 4036.956,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.18,
        "bb_width_pct": 1.127
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T14-15-00Z_long_rsi_range_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T14:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4017.5,
      "stop": 4007.772,
      "target": 4036.956,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.18,
        "bb_width_pct": 1.127
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T14-15-00Z_long_vwap_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T14:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4017.5,
      "stop": 4006.601,
      "target": 4039.298,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.18,
        "bb_width_pct": 1.127
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T14-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T14:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4017.5,
      "stop": 4011.07,
      "target": 4030.36,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 25.18,
        "bb_width_pct": 1.127
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T14-20-00Z_long_rsi_range_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T14:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4020.525,
      "stop": 4012.919,
      "target": 4035.736,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.17,
        "bb_width_pct": 1.165
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T14-20-00Z_long_vwap_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T14:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4020.525,
      "stop": 4011.491,
      "target": 4038.593,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.17,
        "bb_width_pct": 1.165
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T14-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T14:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4020.525,
      "stop": 4015.191,
      "target": 4031.194,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.17,
        "bb_width_pct": 1.165
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T14-25-00Z_long_vwap_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T14:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4024.925,
      "stop": 4018.327,
      "target": 4038.121,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.35,
        "bb_width_pct": 1.174
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T14-30-00Z_long_vwap_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4026.46,
      "stop": 4020.822,
      "target": 4037.736,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.39,
        "bb_width_pct": 1.166
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T15-05-00Z_long_vwap_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T15:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4023.265,
      "stop": 4017.346,
      "target": 4035.102,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.44,
        "bb_width_pct": 0.811
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T15-15-00Z_long_vwap_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T15:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4022.36,
      "stop": 4016.294,
      "target": 4034.493,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.53,
        "bb_width_pct": 0.662
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T15-25-00Z_long_vwap_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T15:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4024.235,
      "stop": 4019.432,
      "target": 4033.841,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.5,
        "bb_width_pct": 0.518
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T15-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T15:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4028.55,
      "stop": 4031.262,
      "target": 4023.127,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.55,
        "bb_width_pct": 0.281
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T15-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T15:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4026.96,
      "stop": 4028.64,
      "target": 4023.6,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.75,
        "bb_width_pct": 0.261
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T16-15-00Z_long_vwap_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T16:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4025.74,
      "stop": 4022.503,
      "target": 4032.214,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.64,
        "bb_width_pct": 0.267
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T16-20-00Z_long_vwap_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T16:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4025.8,
      "stop": 4022.654,
      "target": 4032.093,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.54,
        "bb_width_pct": 0.261
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T16-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T16:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4019.53,
      "stop": 4017.251,
      "target": 4024.089,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.12,
        "bb_width_pct": 0.258
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T16-35-00Z_long_vwap_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4021.32,
      "stop": 4016.202,
      "target": 4031.556,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.86,
        "bb_width_pct": 0.262
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T16-40-00Z_long_vwap_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T16:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4021.445,
      "stop": 4016.481,
      "target": 4031.374,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.8,
        "bb_width_pct": 0.262
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T16-45-00Z_long_vwap_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4026.3,
      "stop": 4023.822,
      "target": 4031.255,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.63,
        "bb_width_pct": 0.267
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T17-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T17:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4030.46,
      "stop": 4033.126,
      "target": 4025.127,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.94,
        "bb_width_pct": 0.258
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T17-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T17:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4029.105,
      "stop": 4031.03,
      "target": 4025.255,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.99,
        "bb_width_pct": 0.27
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T17-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T17:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4029.105,
      "stop": 4034.671,
      "target": 4017.972,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.99,
        "bb_width_pct": 0.27
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T17-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T17:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4029.105,
      "stop": 4030.904,
      "target": 4025.506,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.99,
        "bb_width_pct": 0.27
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T17-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T17:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4026.97,
      "stop": 4032.331,
      "target": 4016.247,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.45,
        "bb_width_pct": 0.281
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T18-35-00Z_long_vwap_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T18:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4020.74,
      "stop": 4019.089,
      "target": 4024.043,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.08,
        "bb_width_pct": 0.297
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T18-40-00Z_long_vwap_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T18:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4020.89,
      "stop": 4019.394,
      "target": 4023.881,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.05,
        "bb_width_pct": 0.303
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T18-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T18:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4020.89,
      "stop": 4018.863,
      "target": 4024.945,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.05,
        "bb_width_pct": 0.303
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T18-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T18:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4017.81,
      "stop": 4015.418,
      "target": 4022.593,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.74,
        "bb_width_pct": 0.298
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T18-50-00Z_long_vwap_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T18:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4017.81,
      "stop": 4015.053,
      "target": 4023.323,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.74,
        "bb_width_pct": 0.298
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T18-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T18:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4017.81,
      "stop": 4014.71,
      "target": 4024.01,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.74,
        "bb_width_pct": 0.298
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T19-20-00Z_long_rsi_range_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T19:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4011.86,
      "stop": 4008.665,
      "target": 4018.249,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 27.69,
        "bb_width_pct": 0.533
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T19-20-00Z_long_vwap_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T19:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4011.86,
      "stop": 4007.404,
      "target": 4020.772,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 27.69,
        "bb_width_pct": 0.533
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T19-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T19:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4011.86,
      "stop": 4008.389,
      "target": 4018.802,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 27.69,
        "bb_width_pct": 0.533
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T20-10-00Z_long_vwap_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T20:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4014.455,
      "stop": 4011.936,
      "target": 4019.493,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.31,
        "bb_width_pct": 0.34
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T20-20-00Z_short_rsi_range_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T20:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4016.68,
      "stop": 4017.75,
      "target": 4014.54,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 18.54,
        "bb_width_pct": 0.288
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T20-40-00Z_long_vwap_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4015.915,
      "stop": 4014.332,
      "target": 4019.08,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.1,
        "bb_width_pct": 0.272
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T22-00-00Z_long_vwap_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T22:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4018.695,
      "stop": 4010.791,
      "target": 4034.504,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.16,
        "bb_width_pct": 0.137
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T22-05-00Z_long_vwap_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T22:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4021.055,
      "stop": 4014.612,
      "target": 4033.941,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.32,
        "bb_width_pct": 0.171
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T22-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T22:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4018.6,
      "stop": 4019.637,
      "target": 4016.527,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.94,
        "bb_width_pct": 0.176
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T22-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T22:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4018.6,
      "stop": 4020.189,
      "target": 4015.422,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.94,
        "bb_width_pct": 0.176
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T22-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T22:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4018.6,
      "stop": 4019.36,
      "target": 4017.08,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.94,
        "bb_width_pct": 0.176
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T22-15-00Z_long_vwap_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T22:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4020.07,
      "stop": 4013.648,
      "target": 4032.913,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.24,
        "bb_width_pct": 0.192
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T22-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T22:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4017.605,
      "stop": 4018.087,
      "target": 4016.642,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.21,
        "bb_width_pct": 0.19
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T22-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T22:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4012.82,
      "stop": 4010.961,
      "target": 4016.538,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.91,
        "bb_width_pct": 0.205
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T22-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T22:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4014.14,
      "stop": 4013.059,
      "target": 4016.302,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.69,
        "bb_width_pct": 0.242
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T22-45-00Z_long_vwap_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T22:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4014.14,
      "stop": 4006.373,
      "target": 4029.673,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.69,
        "bb_width_pct": 0.242
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T22-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T22:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4014.14,
      "stop": 4013.312,
      "target": 4015.796,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.69,
        "bb_width_pct": 0.242
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T22-50-00Z_long_vwap_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T22:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4015.58,
      "stop": 4008.739,
      "target": 4029.262,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.05,
        "bb_width_pct": 0.239
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T23-00-00Z_long_vwap_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4017.935,
      "stop": 4012.634,
      "target": 4028.536,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.18,
        "bb_width_pct": 0.245
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T23-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4019.395,
      "stop": 4020.911,
      "target": 4016.363,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.49,
        "bb_width_pct": 0.252
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T23-05-00Z_long_vwap_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4019.395,
      "stop": 4014.943,
      "target": 4028.299,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.49,
        "bb_width_pct": 0.252
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T23-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4019.395,
      "stop": 4020.999,
      "target": 4016.186,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.49,
        "bb_width_pct": 0.252
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T23-10-00Z_long_vwap_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4020.925,
      "stop": 4017.336,
      "target": 4028.103,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.27,
        "bb_width_pct": 0.271
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T23-15-00Z_long_vwap_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4021.2,
      "stop": 4017.833,
      "target": 4027.934,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.6,
        "bb_width_pct": 0.286
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T23-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4021.2,
      "stop": 4023.264,
      "target": 4017.072,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.6,
        "bb_width_pct": 0.286
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T23-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T23:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4018.495,
      "stop": 4020.757,
      "target": 4013.97,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.49,
        "bb_width_pct": 0.287
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T23-30-00Z_long_vwap_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4019.315,
      "stop": 4015.334,
      "target": 4027.278,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.63,
        "bb_width_pct": 0.287
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-29T23-45-00Z_long_vwap_mean_reversion",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4016.96,
      "stop": 4012.139,
      "target": 4026.603,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.31,
        "bb_width_pct": 0.276
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T00-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T00:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4010.445,
      "stop": 4007.987,
      "target": 4015.362,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.46,
        "bb_width_pct": 0.412
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T00-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T00:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4010.445,
      "stop": 4009.168,
      "target": 4013.0,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.46,
        "bb_width_pct": 0.412
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T00-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T00:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4010.445,
      "stop": 4008.356,
      "target": 4014.622,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.46,
        "bb_width_pct": 0.412
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T00-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T00:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4008.205,
      "stop": 4005.807,
      "target": 4013.0,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 20.65,
        "bb_width_pct": 0.474
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T00-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T00:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4008.205,
      "stop": 4005.685,
      "target": 4013.244,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.65,
        "bb_width_pct": 0.474
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T00-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T00:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4006.4,
      "stop": 4002.35,
      "target": 4014.501,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.52,
        "bb_width_pct": 0.509
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T00-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T00:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4006.4,
      "stop": 4003.304,
      "target": 4012.592,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.52,
        "bb_width_pct": 0.509
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T02-15-00Z_long_vwap_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T02:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3960.86,
      "stop": 3950.28,
      "target": 3982.02,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.0,
        "bb_width_pct": 1.13
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T02-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T02:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3960.86,
      "stop": 3954.451,
      "target": 3973.678,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.0,
        "bb_width_pct": 1.13
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T02-20-00Z_long_vwap_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T02:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3963.42,
      "stop": 3954.475,
      "target": 3981.31,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.0,
        "bb_width_pct": 1.049
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T02-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T02:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3963.42,
      "stop": 3958.78,
      "target": 3972.701,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.0,
        "bb_width_pct": 1.049
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T02-35-00Z_long_vwap_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T02:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3962.855,
      "stop": 3954.591,
      "target": 3979.384,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.77,
        "bb_width_pct": 0.675
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T02-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T02:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3962.855,
      "stop": 3959.425,
      "target": 3969.716,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.77,
        "bb_width_pct": 0.675
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T02-45-00Z_long_vwap_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3964.165,
      "stop": 3957.075,
      "target": 3978.346,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.86,
        "bb_width_pct": 0.613
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T02-50-00Z_long_vwap_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T02:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3966.595,
      "stop": 3960.884,
      "target": 3978.017,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.78,
        "bb_width_pct": 0.589
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T03-00-00Z_long_vwap_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3968.065,
      "stop": 3963.436,
      "target": 3977.324,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.62,
        "bb_width_pct": 0.571
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T03-35-00Z_long_vwap_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T03:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3964.835,
      "stop": 3959.464,
      "target": 3975.577,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.29,
        "bb_width_pct": 0.362
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T03-45-00Z_long_vwap_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T03:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3968.425,
      "stop": 3965.071,
      "target": 3975.132,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.83,
        "bb_width_pct": 0.334
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T03-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T03:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3970.06,
      "stop": 3972.575,
      "target": 3965.03,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.68,
        "bb_width_pct": 0.313
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T04-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T04:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3971.625,
      "stop": 3974.717,
      "target": 3965.441,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.71,
        "bb_width_pct": 0.342
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T04-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T04:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3971.625,
      "stop": 3973.721,
      "target": 3967.433,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.71,
        "bb_width_pct": 0.342
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T04-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T04:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3972.49,
      "stop": 3975.487,
      "target": 3966.495,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.2,
        "bb_width_pct": 0.33
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T04-50-00Z_short_rsi_range_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T04:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3988.37,
      "stop": 3995.025,
      "target": 3975.06,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 26.02,
        "bb_width_pct": 1.055
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T04-50-00Z_short_vwap_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T04:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3988.37,
      "stop": 3994.493,
      "target": 3976.125,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 26.02,
        "bb_width_pct": 1.055
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T04-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T04:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3988.37,
      "stop": 3994.954,
      "target": 3975.203,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 26.02,
        "bb_width_pct": 1.055
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T04-55-00Z_short_vwap_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T04:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3985.585,
      "stop": 3990.228,
      "target": 3976.299,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 24.77,
        "bb_width_pct": 1.072
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T04-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T04:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3985.585,
      "stop": 3988.727,
      "target": 3979.302,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 24.77,
        "bb_width_pct": 1.072
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T05-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3988.27,
      "stop": 3992.327,
      "target": 3980.156,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 23.99,
        "bb_width_pct": 1.081
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T05-05-00Z_short_rsi_range_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3987.39,
      "stop": 3992.079,
      "target": 3978.012,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 20.79,
        "bb_width_pct": 1.072
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T05-05-00Z_short_vwap_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3987.39,
      "stop": 3992.753,
      "target": 3976.664,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 20.79,
        "bb_width_pct": 1.072
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T05-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3987.39,
      "stop": 3990.663,
      "target": 3980.845,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.79,
        "bb_width_pct": 1.072
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T05-10-00Z_short_vwap_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3984.89,
      "stop": 3988.93,
      "target": 3976.809,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 21.08,
        "bb_width_pct": 1.01
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T06-15-00Z_short_vwap_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T06:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3987.14,
      "stop": 3991.818,
      "target": 3977.784,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.87,
        "bb_width_pct": 0.376
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T08-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T08:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4027.605,
      "stop": 4038.459,
      "target": 4005.898,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.62,
        "bb_width_pct": 0.289
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T08-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T08:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4027.605,
      "stop": 4029.373,
      "target": 4024.069,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.62,
        "bb_width_pct": 0.289
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T08-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T08:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4024.47,
      "stop": 4022.305,
      "target": 4028.8,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.63,
        "bb_width_pct": 0.304
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T08-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T08:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4025.945,
      "stop": 4024.772,
      "target": 4028.291,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.64,
        "bb_width_pct": 0.331
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T08-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T08:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4018.315,
      "stop": 4014.153,
      "target": 4026.638,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.31,
        "bb_width_pct": 0.482
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T08-45-00Z_long_vwap_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T08:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4018.315,
      "stop": 4014.105,
      "target": 4026.736,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.31,
        "bb_width_pct": 0.482
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T08-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T08:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4016.58,
      "stop": 4011.784,
      "target": 4026.172,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.83,
        "bb_width_pct": 0.529
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T08-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T08:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4016.58,
      "stop": 4013.924,
      "target": 4021.893,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.83,
        "bb_width_pct": 0.529
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T09-00-00Z_long_vwap_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4019.47,
      "stop": 4016.434,
      "target": 4025.542,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.24,
        "bb_width_pct": 0.57
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T09-20-00Z_long_vwap_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T09:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4019.24,
      "stop": 4016.529,
      "target": 4024.661,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.96,
        "bb_width_pct": 0.549
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T09-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4013.55,
      "stop": 4010.608,
      "target": 4019.434,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.77,
        "bb_width_pct": 0.543
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T09-35-00Z_long_rsi_range_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4016.025,
      "stop": 4013.791,
      "target": 4020.494,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.24,
        "bb_width_pct": 0.492
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T09-35-00Z_long_vwap_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4016.025,
      "stop": 4012.108,
      "target": 4023.859,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.24,
        "bb_width_pct": 0.492
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T09-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4016.025,
      "stop": 4014.483,
      "target": 4019.11,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.24,
        "bb_width_pct": 0.492
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T09-40-00Z_long_vwap_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T09:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4018.68,
      "stop": 4016.184,
      "target": 4023.672,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.09,
        "bb_width_pct": 0.343
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T09-45-00Z_long_vwap_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T09:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4018.99,
      "stop": 4016.712,
      "target": 4023.545,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.72,
        "bb_width_pct": 0.291
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T10-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T10:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4024.885,
      "stop": 4027.649,
      "target": 4019.358,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.85,
        "bb_width_pct": 0.31
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T10-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T10:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4024.885,
      "stop": 4027.194,
      "target": 4020.267,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.85,
        "bb_width_pct": 0.31
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T10-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T10:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4024.525,
      "stop": 4027.144,
      "target": 4019.286,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.53,
        "bb_width_pct": 0.296
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T10-05-00Z_short_rsi_range_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T10:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4024.525,
      "stop": 4027.144,
      "target": 4019.286,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 9.53,
        "bb_width_pct": 0.296
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T10-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T10:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4024.525,
      "stop": 4026.451,
      "target": 4020.672,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.53,
        "bb_width_pct": 0.296
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T10-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T10:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4024.135,
      "stop": 4026.379,
      "target": 4019.647,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.65,
        "bb_width_pct": 0.332
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T10-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T10:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4024.135,
      "stop": 4025.481,
      "target": 4021.444,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.65,
        "bb_width_pct": 0.332
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T10-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T10:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4026.85,
      "stop": 4028.807,
      "target": 4022.936,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.81,
        "bb_width_pct": 0.412
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T10-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T10:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4027.93,
      "stop": 4030.189,
      "target": 4023.412,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 27.76,
        "bb_width_pct": 0.418
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T10-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T10:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4028.005,
      "stop": 4030.083,
      "target": 4023.849,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 24.62,
        "bb_width_pct": 0.436
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T10-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T10:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4028.39,
      "stop": 4030.444,
      "target": 4024.282,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.36,
        "bb_width_pct": 0.45
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T10-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T10:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4029.895,
      "stop": 4032.231,
      "target": 4025.223,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.84,
        "bb_width_pct": 0.468
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T11-00-00Z_short_rsi_range_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4028.78,
      "stop": 4031.084,
      "target": 4024.172,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 10.3,
        "bb_width_pct": 0.469
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T11-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T11:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4030.6,
      "stop": 4032.606,
      "target": 4026.588,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.49,
        "bb_width_pct": 0.372
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T11-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T11:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4030.6,
      "stop": 4033.366,
      "target": 4025.068,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.49,
        "bb_width_pct": 0.372
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T11-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T11:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4030.6,
      "stop": 4032.319,
      "target": 4027.162,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.49,
        "bb_width_pct": 0.372
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T11-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T11:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4031.24,
      "stop": 4033.085,
      "target": 4027.551,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.84,
        "bb_width_pct": 0.338
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T11-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T11:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4031.93,
      "stop": 4033.964,
      "target": 4027.863,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.96,
        "bb_width_pct": 0.296
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T11-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T11:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4031.93,
      "stop": 4033.911,
      "target": 4027.968,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.96,
        "bb_width_pct": 0.296
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T11-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T11:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4030.835,
      "stop": 4034.554,
      "target": 4023.398,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.57,
        "bb_width_pct": 0.27
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T11-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T11:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4030.835,
      "stop": 4032.132,
      "target": 4028.241,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.57,
        "bb_width_pct": 0.27
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T11-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T11:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4034.72,
      "stop": 4037.481,
      "target": 4029.198,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.94,
        "bb_width_pct": 0.278
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T11-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T11:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4032.85,
      "stop": 4034.468,
      "target": 4029.614,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.39,
        "bb_width_pct": 0.267
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T11-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T11:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4032.85,
      "stop": 4037.358,
      "target": 4023.835,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.39,
        "bb_width_pct": 0.267
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T11-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T11:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4032.85,
      "stop": 4034.509,
      "target": 4029.531,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.39,
        "bb_width_pct": 0.267
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T12-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4031.82,
      "stop": 4035.255,
      "target": 4024.95,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.52,
        "bb_width_pct": 0.214
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T12-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T12:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4026.765,
      "stop": 4024.804,
      "target": 4030.688,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.18,
        "bb_width_pct": 0.216
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T12-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T12:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4026.38,
      "stop": 4024.265,
      "target": 4030.61,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.11,
        "bb_width_pct": 0.228
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T12-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T12:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4018.26,
      "stop": 4013.222,
      "target": 4028.335,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.47,
        "bb_width_pct": 0.58
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T12-35-00Z_long_rsi_range_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T12:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4018.26,
      "stop": 4013.222,
      "target": 4028.335,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.47,
        "bb_width_pct": 0.58
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T12-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T12:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4018.26,
      "stop": 4014.915,
      "target": 4024.95,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 19.47,
        "bb_width_pct": 0.58
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T12-40-00Z_long_rsi_range_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T12:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4018.86,
      "stop": 4014.37,
      "target": 4027.839,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.39,
        "bb_width_pct": 0.615
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T12-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T12:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4018.86,
      "stop": 4015.815,
      "target": 4024.95,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 20.39,
        "bb_width_pct": 0.615
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T12-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T12:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4018.86,
      "stop": 4015.846,
      "target": 4024.888,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.39,
        "bb_width_pct": 0.615
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T13-00-00Z_long_rsi_range_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4016.57,
      "stop": 4012.692,
      "target": 4024.325,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.64,
        "bb_width_pct": 0.783
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T13-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4016.57,
      "stop": 4013.312,
      "target": 4023.085,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 24.64,
        "bb_width_pct": 0.783
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T13-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4016.57,
      "stop": 4014.198,
      "target": 4021.315,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.64,
        "bb_width_pct": 0.783
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T13-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T13:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4028.85,
      "stop": 4033.131,
      "target": 4020.288,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.48,
        "bb_width_pct": 0.515
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T13-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T13:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4029.375,
      "stop": 4033.844,
      "target": 4020.438,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.58,
        "bb_width_pct": 0.536
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T15-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T15:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4027.71,
      "stop": 4023.314,
      "target": 4036.502,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.36,
        "bb_width_pct": 1.059
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T15-30-00Z_long_rsi_range_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T15:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4029.99,
      "stop": 4024.81,
      "target": 4040.35,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.13,
        "bb_width_pct": 1.022
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T15-35-00Z_long_rsi_range_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T15:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4031.175,
      "stop": 4026.543,
      "target": 4040.44,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.04,
        "bb_width_pct": 1.013
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T15-45-00Z_long_rsi_range_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T15:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4033.74,
      "stop": 4030.538,
      "target": 4040.143,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.5,
        "bb_width_pct": 1.001
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T15-50-00Z_long_rsi_range_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T15:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4034.14,
      "stop": 4031.378,
      "target": 4039.663,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.81,
        "bb_width_pct": 1.005
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T16-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4026.175,
      "stop": 4024.278,
      "target": 4029.969,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.6,
        "bb_width_pct": 0.197
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T17-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T17:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4026.685,
      "stop": 4025.069,
      "target": 4029.918,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.53,
        "bb_width_pct": 0.204
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T17-00-00Z_long_rsi_range_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T17:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4026.685,
      "stop": 4025.069,
      "target": 4029.918,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.53,
        "bb_width_pct": 0.204
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T17-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T17:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4026.685,
      "stop": 4018.639,
      "target": 4042.778,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.53,
        "bb_width_pct": 0.204
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T17-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T17:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4026.685,
      "stop": 4024.759,
      "target": 4030.538,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.53,
        "bb_width_pct": 0.204
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T17-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T17:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4023.24,
      "stop": 4013.694,
      "target": 4042.332,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.83,
        "bb_width_pct": 0.293
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T17-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T17:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4026.555,
      "stop": 4025.311,
      "target": 4029.043,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.09,
        "bb_width_pct": 0.295
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T17-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T17:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4026.555,
      "stop": 4018.771,
      "target": 4042.122,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.09,
        "bb_width_pct": 0.295
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T17-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T17:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4026.555,
      "stop": 4025.38,
      "target": 4028.905,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.09,
        "bb_width_pct": 0.295
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T17-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T17:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4023.605,
      "stop": 4021.207,
      "target": 4028.401,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.35,
        "bb_width_pct": 0.317
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T17-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T17:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4025.53,
      "stop": 4024.131,
      "target": 4028.328,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.26,
        "bb_width_pct": 0.303
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T17-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T17:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4025.53,
      "stop": 4017.234,
      "target": 4042.122,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.26,
        "bb_width_pct": 0.303
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T17-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T17:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4025.53,
      "stop": 4024.231,
      "target": 4028.127,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.26,
        "bb_width_pct": 0.303
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T17-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T17:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4027.48,
      "stop": 4020.159,
      "target": 4042.122,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.41,
        "bb_width_pct": 0.272
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T17-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T17:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4029.605,
      "stop": 4023.511,
      "target": 4041.793,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.3,
        "bb_width_pct": 0.274
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T18-10-00Z_short_vwap_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T18:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4032.42,
      "stop": 4034.655,
      "target": 4027.951,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 23.05,
        "bb_width_pct": 0.319
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T18-15-00Z_short_rsi_range_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T18:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4032.17,
      "stop": 4033.902,
      "target": 4028.707,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 22.62,
        "bb_width_pct": 0.326
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T18-15-00Z_short_vwap_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T18:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4032.17,
      "stop": 4034.16,
      "target": 4028.19,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 22.62,
        "bb_width_pct": 0.326
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T18-20-00Z_short_rsi_range_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T18:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4031.685,
      "stop": 4033.167,
      "target": 4028.721,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 13.26,
        "bb_width_pct": 0.327
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T18-30-00Z_short_rsi_range_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4030.135,
      "stop": 4030.877,
      "target": 4028.651,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 13.67,
        "bb_width_pct": 0.323
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T19-30-00Z_long_rsi_range_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T19:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4022.25,
      "stop": 4019.058,
      "target": 4028.634,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 27.02,
        "bb_width_pct": 0.387
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T19-30-00Z_long_vwap_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T19:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4022.25,
      "stop": 4019.396,
      "target": 4027.957,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 27.02,
        "bb_width_pct": 0.387
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T19-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T19:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4022.25,
      "stop": 4019.68,
      "target": 4027.39,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 27.02,
        "bb_width_pct": 0.387
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T20-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T20:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4018.25,
      "stop": 4014.974,
      "target": 4024.802,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.61,
        "bb_width_pct": 0.498
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T20-00-00Z_long_rsi_range_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T20:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4018.25,
      "stop": 4014.974,
      "target": 4024.802,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.61,
        "bb_width_pct": 0.498
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T20-00-00Z_long_vwap_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T20:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4018.25,
      "stop": 4014.088,
      "target": 4026.573,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.61,
        "bb_width_pct": 0.498
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T20-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T20:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4018.25,
      "stop": 4015.189,
      "target": 4024.372,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 25.61,
        "bb_width_pct": 0.498
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T20-05-00Z_long_rsi_range_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T20:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4019.72,
      "stop": 4017.472,
      "target": 4024.216,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.91,
        "bb_width_pct": 0.485
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T20-05-00Z_long_vwap_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T20:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4019.72,
      "stop": 4016.39,
      "target": 4026.379,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.91,
        "bb_width_pct": 0.485
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T20-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T20:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4019.72,
      "stop": 4018.115,
      "target": 4022.931,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.91,
        "bb_width_pct": 0.485
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T20-10-00Z_long_rsi_range_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T20:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4020.08,
      "stop": 4018.263,
      "target": 4023.713,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.78,
        "bb_width_pct": 0.474
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T20-10-00Z_long_vwap_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T20:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4020.08,
      "stop": 4017.011,
      "target": 4026.218,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.78,
        "bb_width_pct": 0.474
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T20-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T20:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4012.86,
      "stop": 4008.583,
      "target": 4021.413,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.34,
        "bb_width_pct": 0.451
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T20-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T20:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4007.525,
      "stop": 4003.016,
      "target": 4016.543,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.34,
        "bb_width_pct": 0.465
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T22-05-00Z_long_vwap_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T22:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4017.3,
      "stop": 4011.831,
      "target": 4028.239,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.78,
        "bb_width_pct": 0.435
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T22-15-00Z_long_vwap_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T22:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4014.78,
      "stop": 4008.521,
      "target": 4027.298,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.51,
        "bb_width_pct": 0.383
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T22-25-00Z_long_vwap_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T22:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4013.87,
      "stop": 4007.612,
      "target": 4026.386,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.09,
        "bb_width_pct": 0.323
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T22-30-00Z_long_vwap_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T22:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4015.365,
      "stop": 4010.041,
      "target": 4026.012,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.32,
        "bb_width_pct": 0.32
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T22-35-00Z_long_vwap_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T22:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4016.57,
      "stop": 4012.003,
      "target": 4025.703,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.88,
        "bb_width_pct": 0.322
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T22-55-00Z_long_vwap_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T22:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4013.245,
      "stop": 4007.686,
      "target": 4024.362,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.4,
        "bb_width_pct": 0.225
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T23-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4017.53,
      "stop": 4019.633,
      "target": 4013.323,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.44,
        "bb_width_pct": 0.238
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T23-05-00Z_long_vwap_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4017.53,
      "stop": 4014.375,
      "target": 4023.839,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.44,
        "bb_width_pct": 0.238
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T23-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T23:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4010.09,
      "stop": 4008.407,
      "target": 4013.456,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.78,
        "bb_width_pct": 0.237
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T23-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T23:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4010.09,
      "stop": 4008.085,
      "target": 4014.1,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.78,
        "bb_width_pct": 0.237
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T23-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T23:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4011.205,
      "stop": 4010.077,
      "target": 4013.461,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.89,
        "bb_width_pct": 0.236
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T23-25-00Z_long_vwap_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T23:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4011.205,
      "stop": 4005.438,
      "target": 4022.739,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.89,
        "bb_width_pct": 0.236
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T23-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T23:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4011.205,
      "stop": 4008.479,
      "target": 4016.658,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.89,
        "bb_width_pct": 0.236
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T23-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T23:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4011.205,
      "stop": 4009.895,
      "target": 4013.824,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.89,
        "bb_width_pct": 0.236
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T23-30-00Z_long_vwap_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4011.77,
      "stop": 4006.418,
      "target": 4022.474,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.84,
        "bb_width_pct": 0.232
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T23-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4010.575,
      "stop": 4009.032,
      "target": 4013.66,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.94,
        "bb_width_pct": 0.2
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T23-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T23:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4007.34,
      "stop": 4004.726,
      "target": 4012.567,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.88,
        "bb_width_pct": 0.262
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-06-30T23-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T23:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4007.34,
      "stop": 4005.029,
      "target": 4011.963,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.88,
        "bb_width_pct": 0.262
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T00-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4007.035,
      "stop": 4003.506,
      "target": 4014.092,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.9,
        "bb_width_pct": 0.313
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T00-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4007.035,
      "stop": 4005.07,
      "target": 4010.965,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.9,
        "bb_width_pct": 0.313
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T00-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T00:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4007.545,
      "stop": 4004.625,
      "target": 4013.385,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.7,
        "bb_width_pct": 0.322
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T00-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T00:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4007.545,
      "stop": 4005.998,
      "target": 4010.64,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.7,
        "bb_width_pct": 0.322
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T00-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T00:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4008.485,
      "stop": 4006.035,
      "target": 4013.385,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 21.08,
        "bb_width_pct": 0.316
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T00-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T00:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4005.57,
      "stop": 4003.35,
      "target": 4010.011,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.57,
        "bb_width_pct": 0.347
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T00-20-00Z_long_rsi_range_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T00:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4005.57,
      "stop": 4003.35,
      "target": 4010.011,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.57,
        "bb_width_pct": 0.347
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T00-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T00:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4005.57,
      "stop": 4002.609,
      "target": 4011.492,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.57,
        "bb_width_pct": 0.347
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T00-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T00:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4005.57,
      "stop": 4003.712,
      "target": 4009.286,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.57,
        "bb_width_pct": 0.347
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T00-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T00:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4001.85,
      "stop": 3998.056,
      "target": 4009.437,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.18,
        "bb_width_pct": 0.381
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T00-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4003.225,
      "stop": 4000.335,
      "target": 4009.005,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.17,
        "bb_width_pct": 0.399
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T00-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4003.225,
      "stop": 3999.179,
      "target": 4011.318,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 16.17,
        "bb_width_pct": 0.399
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T00-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4003.225,
      "stop": 4000.803,
      "target": 4008.068,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.17,
        "bb_width_pct": 0.399
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T00-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T00:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3996.72,
      "stop": 3992.724,
      "target": 4004.712,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.4,
        "bb_width_pct": 0.535
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T00-55-00Z_long_vwap_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T00:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3996.72,
      "stop": 3993.968,
      "target": 4002.224,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.4,
        "bb_width_pct": 0.535
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T00-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T00:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3996.72,
      "stop": 3992.151,
      "target": 4005.858,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 18.4,
        "bb_width_pct": 0.535
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T01-20-00Z_long_rsi_range_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T01:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3983.61,
      "stop": 3976.257,
      "target": 3998.316,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.65,
        "bb_width_pct": 0.882
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T01-20-00Z_long_vwap_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T01:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3983.61,
      "stop": 3976.774,
      "target": 3997.282,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.65,
        "bb_width_pct": 0.882
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T01-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T01:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3983.61,
      "stop": 3976.845,
      "target": 3997.14,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 22.65,
        "bb_width_pct": 0.882
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T01-25-00Z_long_rsi_range_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T01:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3985.91,
      "stop": 3980.244,
      "target": 3997.241,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.54,
        "bb_width_pct": 0.896
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T01-25-00Z_long_vwap_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T01:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3985.91,
      "stop": 3980.574,
      "target": 3996.583,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.54,
        "bb_width_pct": 0.896
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T01-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T01:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3985.91,
      "stop": 3980.295,
      "target": 3997.14,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 24.54,
        "bb_width_pct": 0.896
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T01-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3979.875,
      "stop": 3971.878,
      "target": 3995.868,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.28,
        "bb_width_pct": 0.94
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T01-40-00Z_long_rsi_range_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T01:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3978.93,
      "stop": 3971.914,
      "target": 3992.962,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.35,
        "bb_width_pct": 1.017
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T01-40-00Z_long_vwap_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T01:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3978.93,
      "stop": 3971.349,
      "target": 3994.093,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.35,
        "bb_width_pct": 1.017
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T01-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T01:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3978.93,
      "stop": 3969.832,
      "target": 3997.125,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 25.35,
        "bb_width_pct": 1.017
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T01-45-00Z_long_rsi_range_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T01:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3979.165,
      "stop": 3972.976,
      "target": 3991.543,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.08,
        "bb_width_pct": 1.002
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T01-45-00Z_long_vwap_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T01:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3979.165,
      "stop": 3972.054,
      "target": 3993.388,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.08,
        "bb_width_pct": 1.002
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T01-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T01:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3979.165,
      "stop": 3970.346,
      "target": 3996.802,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 19.08,
        "bb_width_pct": 1.002
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T01-55-00Z_long_rsi_range_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T01:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3977.995,
      "stop": 3972.635,
      "target": 3988.714,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.21,
        "bb_width_pct": 0.963
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T01-55-00Z_long_vwap_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T01:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3977.995,
      "stop": 3970.97,
      "target": 3992.046,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.21,
        "bb_width_pct": 0.963
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T01-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T01:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3977.995,
      "stop": 3968.841,
      "target": 3996.302,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 17.21,
        "bb_width_pct": 0.963
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T01-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T01:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3977.995,
      "stop": 3973.289,
      "target": 3987.407,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.21,
        "bb_width_pct": 0.963
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T02-10-00Z_long_vwap_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T02:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3976.595,
      "stop": 3969.827,
      "target": 3990.131,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.79,
        "bb_width_pct": 0.839
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T02-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T02:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3976.595,
      "stop": 3967.667,
      "target": 3994.45,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.79,
        "bb_width_pct": 0.839
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T02-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T02:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3976.595,
      "stop": 3972.822,
      "target": 3984.142,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.79,
        "bb_width_pct": 0.839
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T02-15-00Z_long_vwap_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T02:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3980.58,
      "stop": 3976.002,
      "target": 3989.736,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.59,
        "bb_width_pct": 0.748
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T02-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T02:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3980.58,
      "stop": 3973.645,
      "target": 3994.45,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.59,
        "bb_width_pct": 0.748
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T02-20-00Z_long_vwap_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T02:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3981.585,
      "stop": 3977.658,
      "target": 3989.439,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.27,
        "bb_width_pct": 0.684
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T02-30-00Z_long_vwap_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3981.915,
      "stop": 3978.406,
      "target": 3988.933,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.29,
        "bb_width_pct": 0.546
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T03-00-00Z_long_vwap_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3981.955,
      "stop": 3979.013,
      "target": 3987.84,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.79,
        "bb_width_pct": 0.32
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T03-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3983.76,
      "stop": 3985.501,
      "target": 3980.279,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.16,
        "bb_width_pct": 0.322
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T03-35-00Z_long_vwap_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T03:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3981.35,
      "stop": 3978.551,
      "target": 3986.949,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.02,
        "bb_width_pct": 0.314
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T03-45-00Z_long_vwap_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T03:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3977.72,
      "stop": 3973.286,
      "target": 3986.589,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.49,
        "bb_width_pct": 0.238
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T03-50-00Z_long_vwap_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T03:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3977.82,
      "stop": 3973.528,
      "target": 3986.404,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.58,
        "bb_width_pct": 0.228
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T03-55-00Z_long_vwap_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T03:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3980.58,
      "stop": 3977.739,
      "target": 3986.262,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.46,
        "bb_width_pct": 0.228
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T04-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T04:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3976.035,
      "stop": 3973.57,
      "target": 3980.965,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.57,
        "bb_width_pct": 0.254
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T04-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T04:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3976.54,
      "stop": 3974.594,
      "target": 3980.432,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.73,
        "bb_width_pct": 0.292
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T04-10-00Z_long_vwap_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T04:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3976.54,
      "stop": 3971.965,
      "target": 3985.691,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.73,
        "bb_width_pct": 0.292
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T04-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T04:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3976.54,
      "stop": 3972.236,
      "target": 3985.148,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 17.73,
        "bb_width_pct": 0.292
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T04-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T04:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3976.54,
      "stop": 3974.952,
      "target": 3979.716,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.73,
        "bb_width_pct": 0.292
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T04-15-00Z_long_vwap_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T04:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3976.4,
      "stop": 3971.848,
      "target": 3985.504,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.38,
        "bb_width_pct": 0.292
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T04-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T04:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3976.4,
      "stop": 3972.026,
      "target": 3985.148,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.38,
        "bb_width_pct": 0.292
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T04-20-00Z_long_vwap_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3976.91,
      "stop": 3972.698,
      "target": 3985.334,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.63,
        "bb_width_pct": 0.29
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T04-25-00Z_long_vwap_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T04:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3977.745,
      "stop": 3974.023,
      "target": 3985.188,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.32,
        "bb_width_pct": 0.288
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T04-30-00Z_long_vwap_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T04:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3977.925,
      "stop": 3974.352,
      "target": 3985.072,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.9,
        "bb_width_pct": 0.289
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T04-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3974.745,
      "stop": 3972.721,
      "target": 3978.793,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.85,
        "bb_width_pct": 0.315
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T04-40-00Z_long_vwap_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3974.745,
      "stop": 3969.76,
      "target": 3984.714,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.85,
        "bb_width_pct": 0.315
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T04-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3974.745,
      "stop": 3972.326,
      "target": 3979.582,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.85,
        "bb_width_pct": 0.315
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T04-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3974.745,
      "stop": 3973.04,
      "target": 3978.155,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.85,
        "bb_width_pct": 0.315
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T04-45-00Z_long_vwap_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3979.84,
      "stop": 3977.458,
      "target": 3984.603,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.83,
        "bb_width_pct": 0.28
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T05-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3973.68,
      "stop": 3971.734,
      "target": 3977.572,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.49,
        "bb_width_pct": 0.221
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T05-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3973.68,
      "stop": 3971.555,
      "target": 3977.929,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.49,
        "bb_width_pct": 0.221
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T05-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3973.505,
      "stop": 3971.672,
      "target": 3977.172,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.01,
        "bb_width_pct": 0.218
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T05-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3972.15,
      "stop": 3969.765,
      "target": 3976.921,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.42,
        "bb_width_pct": 0.244
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T05-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3972.15,
      "stop": 3969.726,
      "target": 3976.998,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.42,
        "bb_width_pct": 0.244
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T05-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3972.17,
      "stop": 3970.024,
      "target": 3976.462,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.03,
        "bb_width_pct": 0.243
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T05-15-00Z_long_vwap_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3972.17,
      "stop": 3966.395,
      "target": 3983.719,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.03,
        "bb_width_pct": 0.243
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T05-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3972.17,
      "stop": 3968.986,
      "target": 3978.537,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.03,
        "bb_width_pct": 0.243
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T05-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3972.17,
      "stop": 3969.986,
      "target": 3976.538,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.03,
        "bb_width_pct": 0.243
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T05-20-00Z_long_vwap_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3974.815,
      "stop": 3970.437,
      "target": 3983.571,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.23,
        "bb_width_pct": 0.244
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T05-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3974.815,
      "stop": 3972.954,
      "target": 3978.537,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 3.23,
        "bb_width_pct": 0.244
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T05-30-00Z_long_vwap_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3977.21,
      "stop": 3974.164,
      "target": 3983.302,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.97,
        "bb_width_pct": 0.251
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T05-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3977.21,
      "stop": 3976.546,
      "target": 3978.537,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.97,
        "bb_width_pct": 0.251
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T05-45-00Z_long_vwap_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T05:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3975.305,
      "stop": 3971.483,
      "target": 3982.949,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.98,
        "bb_width_pct": 0.229
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T06-00-00Z_long_vwap_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3974.84,
      "stop": 3970.94,
      "target": 3982.64,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.14,
        "bb_width_pct": 0.229
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T06-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T06:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3966.655,
      "stop": 3963.054,
      "target": 3973.858,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.39,
        "bb_width_pct": 0.383
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T06-15-00Z_long_vwap_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T06:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3966.655,
      "stop": 3958.972,
      "target": 3982.021,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.39,
        "bb_width_pct": 0.383
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T06-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T06:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3966.655,
      "stop": 3962.331,
      "target": 3975.302,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.39,
        "bb_width_pct": 0.383
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T06-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T06:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3966.655,
      "stop": 3963.393,
      "target": 3973.18,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.39,
        "bb_width_pct": 0.383
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T06-20-00Z_long_vwap_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T06:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3969.425,
      "stop": 3963.215,
      "target": 3981.845,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.18,
        "bb_width_pct": 0.395
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T06-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T06:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3969.425,
      "stop": 3966.518,
      "target": 3975.24,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.18,
        "bb_width_pct": 0.395
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T06-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3965.17,
      "stop": 3961.658,
      "target": 3972.194,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.52,
        "bb_width_pct": 0.38
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T06-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3965.17,
      "stop": 3961.936,
      "target": 3971.637,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.52,
        "bb_width_pct": 0.38
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T06-35-00Z_long_vwap_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3967.705,
      "stop": 3960.916,
      "target": 3981.284,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.69,
        "bb_width_pct": 0.377
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T06-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3967.705,
      "stop": 3964.711,
      "target": 3973.693,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 13.69,
        "bb_width_pct": 0.377
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T06-40-00Z_long_vwap_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T06:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3971.885,
      "stop": 3967.249,
      "target": 3981.156,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.62,
        "bb_width_pct": 0.375
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T06-50-00Z_long_vwap_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T06:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3973.34,
      "stop": 3969.55,
      "target": 3980.921,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.94,
        "bb_width_pct": 0.376
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T07-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T07:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3964.355,
      "stop": 3961.187,
      "target": 3970.691,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.54,
        "bb_width_pct": 0.408
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T07-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T07:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3964.355,
      "stop": 3961.35,
      "target": 3970.365,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.54,
        "bb_width_pct": 0.408
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T07-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T07:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3961.71,
      "stop": 3957.607,
      "target": 3969.917,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.48,
        "bb_width_pct": 0.424
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T07-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T07:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3970.485,
      "stop": 3969.873,
      "target": 3971.71,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.2,
        "bb_width_pct": 0.403
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T07-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3963.23,
      "stop": 3960.75,
      "target": 3968.19,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.77,
        "bb_width_pct": 0.367
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T07-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T07:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3969.04,
      "stop": 3967.745,
      "target": 3971.63,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.94,
        "bb_width_pct": 0.342
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T07-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T07:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3971.465,
      "stop": 3973.067,
      "target": 3968.262,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.77,
        "bb_width_pct": 0.323
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T07-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T07:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3976.065,
      "stop": 3979.166,
      "target": 3969.863,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.51,
        "bb_width_pct": 0.363
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T08-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3971.81,
      "stop": 3973.289,
      "target": 3968.851,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.23,
        "bb_width_pct": 0.369
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T08-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T08:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3979.335,
      "stop": 3983.684,
      "target": 3970.637,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.05,
        "bb_width_pct": 0.514
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T08-20-00Z_short_rsi_range_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T08:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3979.335,
      "stop": 3983.684,
      "target": 3970.637,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 11.05,
        "bb_width_pct": 0.514
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T08-20-00Z_short_vwap_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T08:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3979.335,
      "stop": 3983.828,
      "target": 3970.349,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.05,
        "bb_width_pct": 0.514
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T08-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T08:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3979.335,
      "stop": 3983.159,
      "target": 3971.688,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.05,
        "bb_width_pct": 0.514
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T08-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T08:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3979.335,
      "stop": 3982.767,
      "target": 3972.471,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.05,
        "bb_width_pct": 0.514
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T08-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T08:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3978.875,
      "stop": 3982.776,
      "target": 3971.073,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.97,
        "bb_width_pct": 0.545
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T08-25-00Z_short_vwap_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T08:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3978.875,
      "stop": 3982.871,
      "target": 3970.884,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.97,
        "bb_width_pct": 0.545
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T08-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T08:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3978.875,
      "stop": 3982.105,
      "target": 3972.415,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.97,
        "bb_width_pct": 0.545
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T08-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T08:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3978.875,
      "stop": 3981.772,
      "target": 3973.081,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.97,
        "bb_width_pct": 0.545
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T08-30-00Z_short_vwap_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3977.665,
      "stop": 3980.875,
      "target": 3971.245,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 18.51,
        "bb_width_pct": 0.562
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T09-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3982.205,
      "stop": 3985.036,
      "target": 3976.544,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.37,
        "bb_width_pct": 0.31
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T09-40-00Z_short_vwap_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T09:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3981.72,
      "stop": 3985.717,
      "target": 3973.727,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 16.28,
        "bb_width_pct": 0.305
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T09-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T09:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3981.72,
      "stop": 3986.372,
      "target": 3972.415,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 16.28,
        "bb_width_pct": 0.305
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T09-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T09:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3985.095,
      "stop": 3988.372,
      "target": 3978.54,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.63,
        "bb_width_pct": 0.348
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T09-50-00Z_short_vwap_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T09:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3985.095,
      "stop": 3990.471,
      "target": 3974.342,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 20.63,
        "bb_width_pct": 0.348
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T09-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T09:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3985.095,
      "stop": 3991.115,
      "target": 3973.055,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 20.63,
        "bb_width_pct": 0.348
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T09-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T09:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3984.545,
      "stop": 3987.504,
      "target": 3978.627,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.0,
        "bb_width_pct": 0.36
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T09-55-00Z_short_rsi_range_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T09:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3984.545,
      "stop": 3987.504,
      "target": 3978.627,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 15.0,
        "bb_width_pct": 0.36
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T09-55-00Z_short_vwap_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T09:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3984.545,
      "stop": 3989.502,
      "target": 3974.631,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.0,
        "bb_width_pct": 0.36
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T09-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T09:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3984.545,
      "stop": 3990.29,
      "target": 3973.055,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.0,
        "bb_width_pct": 0.36
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T10-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T10:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3987.695,
      "stop": 3991.783,
      "target": 3979.518,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 26.08,
        "bb_width_pct": 0.459
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T10-05-00Z_short_rsi_range_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T10:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3987.695,
      "stop": 3991.783,
      "target": 3979.518,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 26.08,
        "bb_width_pct": 0.459
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T10-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T10:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3987.695,
      "stop": 3994.096,
      "target": 3974.892,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 26.08,
        "bb_width_pct": 0.459
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T10-10-00Z_short_rsi_range_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T10:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3984.36,
      "stop": 3986.613,
      "target": 3979.853,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 21.62,
        "bb_width_pct": 0.469
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T10-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T10:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3984.36,
      "stop": 3989.049,
      "target": 3974.983,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 21.62,
        "bb_width_pct": 0.469
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T10-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T10:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3984.36,
      "stop": 3986.005,
      "target": 3981.069,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.62,
        "bb_width_pct": 0.469
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T10-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T10:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3991.485,
      "stop": 3996.207,
      "target": 3982.041,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 25.35,
        "bb_width_pct": 0.492
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T10-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T10:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3989.685,
      "stop": 3993.132,
      "target": 3982.792,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.91,
        "bb_width_pct": 0.488
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T10-35-00Z_short_rsi_range_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T10:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3989.685,
      "stop": 3993.132,
      "target": 3982.792,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 17.91,
        "bb_width_pct": 0.488
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T10-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T10:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3989.685,
      "stop": 3996.285,
      "target": 3976.485,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.91,
        "bb_width_pct": 0.488
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T10-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T10:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3987.36,
      "stop": 3992.205,
      "target": 3977.67,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.79,
        "bb_width_pct": 0.467
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T10-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T10:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3987.36,
      "stop": 3989.044,
      "target": 3983.993,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.79,
        "bb_width_pct": 0.467
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T10-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T10:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3993.785,
      "stop": 3998.099,
      "target": 3985.156,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.28,
        "bb_width_pct": 0.444
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T12-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T12:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4025.925,
      "stop": 4036.529,
      "target": 4004.717,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.77,
        "bb_width_pct": 1.064
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T12-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T12:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4025.925,
      "stop": 4029.196,
      "target": 4019.383,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.77,
        "bb_width_pct": 1.064
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T12-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T12:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4024.115,
      "stop": 4033.101,
      "target": 4006.142,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.58,
        "bb_width_pct": 0.659
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T12-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T12:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4024.115,
      "stop": 4025.836,
      "target": 4020.672,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.58,
        "bb_width_pct": 0.659
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T12-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T12:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4026.14,
      "stop": 4028.614,
      "target": 4021.193,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.65,
        "bb_width_pct": 0.518
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T12-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T12:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4025.775,
      "stop": 4034.925,
      "target": 4007.475,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.63,
        "bb_width_pct": 0.316
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T13-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4022.47,
      "stop": 4020.403,
      "target": 4026.605,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.15,
        "bb_width_pct": 0.326
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T13-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T13:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4021.35,
      "stop": 4019.023,
      "target": 4026.005,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.29,
        "bb_width_pct": 0.388
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T13-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T13:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4024.485,
      "stop": 4025.72,
      "target": 4022.016,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.07,
        "bb_width_pct": 0.388
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T15-20-00Z_short_vwap_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T15:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4081.095,
      "stop": 4090.55,
      "target": 4062.185,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.77,
        "bb_width_pct": 0.742
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T15-30-00Z_short_vwap_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T15:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4078.25,
      "stop": 4085.833,
      "target": 4063.083,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 18.8,
        "bb_width_pct": 0.814
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T15-40-00Z_long_rsi_range_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T15:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4082.495,
      "stop": 4078.169,
      "target": 4091.146,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.64,
        "bb_width_pct": 0.858
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T15-45-00Z_long_rsi_range_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T15:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4084.12,
      "stop": 4080.865,
      "target": 4090.631,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.98,
        "bb_width_pct": 0.867
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T15-55-00Z_short_vwap_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T15:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4081.16,
      "stop": 4089.193,
      "target": 4065.094,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 9.93,
        "bb_width_pct": 0.889
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T16-05-00Z_short_vwap_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T16:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4084.095,
      "stop": 4093.197,
      "target": 4065.891,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.63,
        "bb_width_pct": 0.782
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T16-10-00Z_short_vwap_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T16:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4082.48,
      "stop": 4090.607,
      "target": 4066.227,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.34,
        "bb_width_pct": 0.586
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T16-20-00Z_short_vwap_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T16:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4081.895,
      "stop": 4089.413,
      "target": 4066.858,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.97,
        "bb_width_pct": 0.348
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T16-25-00Z_short_vwap_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T16:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4081.465,
      "stop": 4088.624,
      "target": 4067.146,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.53,
        "bb_width_pct": 0.339
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T16-30-00Z_short_vwap_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T16:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4076.235,
      "stop": 4080.677,
      "target": 4067.35,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.78,
        "bb_width_pct": 0.358
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T16-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4077.06,
      "stop": 4074.205,
      "target": 4082.77,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.84,
        "bb_width_pct": 0.309
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T16-40-00Z_short_vwap_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T16:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4074.255,
      "stop": 4077.548,
      "target": 4067.669,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.36,
        "bb_width_pct": 0.319
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T16-45-00Z_short_vwap_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4073.5,
      "stop": 4076.358,
      "target": 4067.784,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.52,
        "bb_width_pct": 0.362
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T16-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T16:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4073.27,
      "stop": 4069.475,
      "target": 4080.86,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.56,
        "bb_width_pct": 0.391
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T16-50-00Z_short_vwap_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T16:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4073.27,
      "stop": 4075.969,
      "target": 4067.871,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 17.56,
        "bb_width_pct": 0.391
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T16-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T16:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4073.27,
      "stop": 4070.039,
      "target": 4079.732,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.56,
        "bb_width_pct": 0.391
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T17-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T17:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4071.67,
      "stop": 4067.704,
      "target": 4079.602,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.95,
        "bb_width_pct": 0.452
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T17-00-00Z_long_rsi_range_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T17:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4071.67,
      "stop": 4067.704,
      "target": 4079.602,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.95,
        "bb_width_pct": 0.452
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T17-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T17:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4071.67,
      "stop": 4060.915,
      "target": 4093.18,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.95,
        "bb_width_pct": 0.452
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T17-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T17:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4071.465,
      "stop": 4067.938,
      "target": 4078.519,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.5,
        "bb_width_pct": 0.517
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T17-10-00Z_long_rsi_range_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T17:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4071.465,
      "stop": 4067.938,
      "target": 4078.519,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.5,
        "bb_width_pct": 0.517
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T17-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T17:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4071.465,
      "stop": 4061.168,
      "target": 4092.06,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 22.5,
        "bb_width_pct": 0.517
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T17-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T17:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4071.465,
      "stop": 4068.794,
      "target": 4076.808,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.5,
        "bb_width_pct": 0.517
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T17-20-00Z_long_rsi_range_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T17:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4070.27,
      "stop": 4066.717,
      "target": 4077.377,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.89,
        "bb_width_pct": 0.558
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T17-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T17:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4070.27,
      "stop": 4059.481,
      "target": 4091.848,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 24.89,
        "bb_width_pct": 0.558
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T17-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T17:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4070.27,
      "stop": 4067.598,
      "target": 4075.613,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.89,
        "bb_width_pct": 0.558
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T17-30-00Z_long_rsi_range_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T17:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4070.665,
      "stop": 4068.053,
      "target": 4075.889,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.57,
        "bb_width_pct": 0.555
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T17-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T17:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4070.665,
      "stop": 4060.108,
      "target": 4091.78,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 19.57,
        "bb_width_pct": 0.555
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T17-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T17:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4070.665,
      "stop": 4068.751,
      "target": 4074.493,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.57,
        "bb_width_pct": 0.555
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T17-35-00Z_long_rsi_range_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T17:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4071.03,
      "stop": 4068.854,
      "target": 4075.382,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.64,
        "bb_width_pct": 0.551
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T17-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T17:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4071.03,
      "stop": 4060.655,
      "target": 4091.78,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.64,
        "bb_width_pct": 0.551
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T17-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T17:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4071.25,
      "stop": 4060.985,
      "target": 4091.78,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.4,
        "bb_width_pct": 0.467
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T17-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T17:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4068.21,
      "stop": 4065.922,
      "target": 4072.786,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.27,
        "bb_width_pct": 0.372
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T18-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T18:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4070.29,
      "stop": 4064.81,
      "target": 4081.25,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 2.28,
        "bb_width_pct": 0.309
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T18-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T18:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4068.945,
      "stop": 4062.801,
      "target": 4081.233,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.45,
        "bb_width_pct": 0.214
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T18-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T18:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4066.905,
      "stop": 4065.124,
      "target": 4070.467,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.41,
        "bb_width_pct": 0.183
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T18-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T18:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4066.905,
      "stop": 4064.685,
      "target": 4071.344,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.41,
        "bb_width_pct": 0.183
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T18-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4064.855,
      "stop": 4062.796,
      "target": 4068.974,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.05,
        "bb_width_pct": 0.259
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T18-30-00Z_long_vwap_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4064.855,
      "stop": 4062.79,
      "target": 4068.986,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.05,
        "bb_width_pct": 0.259
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T18-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4064.855,
      "stop": 4058.986,
      "target": 4076.592,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.05,
        "bb_width_pct": 0.259
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T18-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4064.855,
      "stop": 4062.599,
      "target": 4069.366,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.05,
        "bb_width_pct": 0.259
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T18-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T18:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4063.16,
      "stop": 4060.661,
      "target": 4068.158,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.41,
        "bb_width_pct": 0.293
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T18-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T18:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4061.655,
      "stop": 4058.591,
      "target": 4067.784,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.19,
        "bb_width_pct": 0.323
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T18-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T18:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4062.19,
      "stop": 4059.916,
      "target": 4066.738,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.92,
        "bb_width_pct": 0.376
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T18-55-00Z_long_vwap_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T18:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4062.19,
      "stop": 4059.534,
      "target": 4067.503,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.92,
        "bb_width_pct": 0.376
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T18-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T18:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4062.19,
      "stop": 4056.71,
      "target": 4073.15,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 16.92,
        "bb_width_pct": 0.376
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T18-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T18:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4062.19,
      "stop": 4060.118,
      "target": 4066.335,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.92,
        "bb_width_pct": 0.376
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T19-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T19:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4066.26,
      "stop": 4062.815,
      "target": 4073.15,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.01,
        "bb_width_pct": 0.367
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T19-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T19:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4058.975,
      "stop": 4056.229,
      "target": 4064.466,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.32,
        "bb_width_pct": 0.375
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T19-25-00Z_long_vwap_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T19:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4058.975,
      "stop": 4055.168,
      "target": 4066.589,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.32,
        "bb_width_pct": 0.375
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T19-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T19:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4058.975,
      "stop": 4052.99,
      "target": 4070.945,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 11.32,
        "bb_width_pct": 0.375
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T19-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T19:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4058.975,
      "stop": 4056.233,
      "target": 4064.458,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.32,
        "bb_width_pct": 0.375
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T19-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T19:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4053.93,
      "stop": 4049.718,
      "target": 4062.353,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.52,
        "bb_width_pct": 0.422
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T20-25-00Z_long_rsi_range_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T20:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4038.835,
      "stop": 4033.021,
      "target": 4050.462,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.02,
        "bb_width_pct": 1.187
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T20-25-00Z_long_vwap_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T20:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4038.835,
      "stop": 4028.33,
      "target": 4059.845,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.02,
        "bb_width_pct": 1.187
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T22-05-00Z_short_vwap_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T22:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4035.835,
      "stop": 4049.638,
      "target": 4008.228,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.34,
        "bb_width_pct": 0.796
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T22-15-00Z_short_vwap_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T22:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4036.03,
      "stop": 4048.917,
      "target": 4010.257,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.58,
        "bb_width_pct": 0.576
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T22-25-00Z_short_vwap_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T22:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4038.47,
      "stop": 4051.644,
      "target": 4012.122,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 1.18,
        "bb_width_pct": 0.278
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T22-30-00Z_short_vwap_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T22:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4038.08,
      "stop": 4050.64,
      "target": 4012.959,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.07,
        "bb_width_pct": 0.256
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T22-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T22:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4042.69,
      "stop": 4045.374,
      "target": 4037.323,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 25.08,
        "bb_width_pct": 0.308
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T22-50-00Z_short_vwap_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T22:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4042.69,
      "stop": 4055.933,
      "target": 4016.204,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 25.08,
        "bb_width_pct": 0.308
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T23-05-00Z_short_vwap_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4041.74,
      "stop": 4053.432,
      "target": 4018.356,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.24,
        "bb_width_pct": 0.377
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T23-10-00Z_short_vwap_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4037.86,
      "stop": 4047.341,
      "target": 4018.897,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.95,
        "bb_width_pct": 0.376
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T23-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4039.095,
      "stop": 4038.344,
      "target": 4040.598,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.23,
        "bb_width_pct": 0.369
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T23-20-00Z_short_vwap_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T23:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4035.995,
      "stop": 4044.086,
      "target": 4019.812,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.09,
        "bb_width_pct": 0.359
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T23-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T23:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4035.995,
      "stop": 4033.913,
      "target": 4040.159,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.09,
        "bb_width_pct": 0.359
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T23-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T23:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4037.315,
      "stop": 4032.034,
      "target": 4047.877,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 3.6,
        "bb_width_pct": 0.339
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T23-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T23:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4037.315,
      "stop": 4036.028,
      "target": 4039.888,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.6,
        "bb_width_pct": 0.339
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T23-35-00Z_short_vwap_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4035.265,
      "stop": 4042.394,
      "target": 4021.007,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.45,
        "bb_width_pct": 0.275
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T23-45-00Z_short_vwap_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4034.455,
      "stop": 4040.871,
      "target": 4021.623,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.04,
        "bb_width_pct": 0.294
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T23-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4034.455,
      "stop": 4032.379,
      "target": 4038.606,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.04,
        "bb_width_pct": 0.294
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-01T23-55-00Z_short_vwap_mean_reversion",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T23:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4035.325,
      "stop": 4041.879,
      "target": 4022.217,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 17.37,
        "bb_width_pct": 0.299
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T00-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4032.985,
      "stop": 4030.144,
      "target": 4038.667,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.08,
        "bb_width_pct": 0.326
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T00-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4032.985,
      "stop": 4030.662,
      "target": 4037.632,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.08,
        "bb_width_pct": 0.326
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T00-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T00:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4044.915,
      "stop": 4047.852,
      "target": 4039.042,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.56,
        "bb_width_pct": 0.352
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T00-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T00:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4041.165,
      "stop": 4043.111,
      "target": 4037.273,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.5,
        "bb_width_pct": 0.354
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T00-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T00:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4041.165,
      "stop": 4042.391,
      "target": 4038.713,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.5,
        "bb_width_pct": 0.354
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T00-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T00:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4046.51,
      "stop": 4049.986,
      "target": 4039.557,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.02,
        "bb_width_pct": 0.408
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T00-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T00:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4046.51,
      "stop": 4050.559,
      "target": 4038.413,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.02,
        "bb_width_pct": 0.408
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T00-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T00:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4046.51,
      "stop": 4049.695,
      "target": 4040.139,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.02,
        "bb_width_pct": 0.408
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T00-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4044.735,
      "stop": 4047.427,
      "target": 4039.35,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.85,
        "bb_width_pct": 0.418
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T00-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T00:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4043.39,
      "stop": 4045.41,
      "target": 4039.35,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.83,
        "bb_width_pct": 0.409
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T01-15-00Z_short_rsi_range_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T01:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4061.07,
      "stop": 4068.311,
      "target": 4046.589,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 18.1,
        "bb_width_pct": 1.024
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T01-15-00Z_short_vwap_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T01:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4061.07,
      "stop": 4067.216,
      "target": 4048.778,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 18.1,
        "bb_width_pct": 1.024
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T01-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T01:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4061.07,
      "stop": 4066.699,
      "target": 4049.812,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.1,
        "bb_width_pct": 1.024
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T01-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T01:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4052.67,
      "stop": 4053.766,
      "target": 4050.479,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.62,
        "bb_width_pct": 1.001
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T02-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T02:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4057.085,
      "stop": 4059.676,
      "target": 4051.904,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.3,
        "bb_width_pct": 0.349
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T02-55-00Z_short_vwap_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T02:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4057.085,
      "stop": 4060.36,
      "target": 4050.534,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.3,
        "bb_width_pct": 0.349
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T02-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T02:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4057.085,
      "stop": 4059.313,
      "target": 4052.63,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.3,
        "bb_width_pct": 0.349
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T03-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4057.05,
      "stop": 4059.514,
      "target": 4052.123,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.07,
        "bb_width_pct": 0.366
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T03-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T03:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4055.985,
      "stop": 4057.851,
      "target": 4052.252,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.62,
        "bb_width_pct": 0.375
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T03-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T03:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4061.96,
      "stop": 4066.083,
      "target": 4053.713,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.43,
        "bb_width_pct": 0.428
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T03-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4064.01,
      "stop": 4068.586,
      "target": 4054.859,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.69,
        "bb_width_pct": 0.536
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T03-30-00Z_short_rsi_range_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4064.01,
      "stop": 4068.586,
      "target": 4054.859,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 20.69,
        "bb_width_pct": 0.536
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T03-30-00Z_short_vwap_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4064.01,
      "stop": 4069.955,
      "target": 4052.119,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 20.69,
        "bb_width_pct": 0.536
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T03-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4064.01,
      "stop": 4069.298,
      "target": 4053.435,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 20.69,
        "bb_width_pct": 0.536
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T03-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T03:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4069.055,
      "stop": 4074.702,
      "target": 4057.761,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.4,
        "bb_width_pct": 0.566
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T03-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T03:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4070.03,
      "stop": 4075.167,
      "target": 4059.757,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.37,
        "bb_width_pct": 0.635
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T03-55-00Z_short_rsi_range_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T03:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4070.03,
      "stop": 4075.167,
      "target": 4059.757,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 21.37,
        "bb_width_pct": 0.635
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T03-55-00Z_short_vwap_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T03:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4070.03,
      "stop": 4078.158,
      "target": 4053.773,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 21.37,
        "bb_width_pct": 0.635
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T03-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T03:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4070.03,
      "stop": 4077.278,
      "target": 4055.535,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 21.37,
        "bb_width_pct": 0.635
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T04-05-00Z_short_rsi_range_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4070.5,
      "stop": 4074.886,
      "target": 4061.728,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 23.62,
        "bb_width_pct": 0.651
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T04-05-00Z_short_vwap_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4070.5,
      "stop": 4078.509,
      "target": 4054.482,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 23.62,
        "bb_width_pct": 0.651
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T04-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4070.5,
      "stop": 4076.812,
      "target": 4057.875,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 23.62,
        "bb_width_pct": 0.651
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T04-10-00Z_short_rsi_range_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T04:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4070.32,
      "stop": 4074.112,
      "target": 4062.736,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 25.39,
        "bb_width_pct": 0.62
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T04-10-00Z_short_vwap_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T04:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4070.32,
      "stop": 4078.088,
      "target": 4054.784,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 25.39,
        "bb_width_pct": 0.62
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T04-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T04:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4070.32,
      "stop": 4076.543,
      "target": 4057.875,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 25.39,
        "bb_width_pct": 0.62
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T04-15-00Z_short_rsi_range_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T04:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4067.58,
      "stop": 4069.587,
      "target": 4063.565,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 17.64,
        "bb_width_pct": 0.568
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T04-15-00Z_short_vwap_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T04:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4067.58,
      "stop": 4073.849,
      "target": 4055.043,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 17.64,
        "bb_width_pct": 0.568
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T04-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T04:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4067.58,
      "stop": 4072.432,
      "target": 4057.875,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.64,
        "bb_width_pct": 0.568
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T04-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T04:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4067.58,
      "stop": 4069.249,
      "target": 4064.242,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.64,
        "bb_width_pct": 0.568
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T04-20-00Z_short_vwap_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4064.845,
      "stop": 4069.644,
      "target": 4055.248,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.09,
        "bb_width_pct": 0.544
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T04-30-00Z_short_vwap_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T04:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4063.475,
      "stop": 4067.411,
      "target": 4055.602,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.37,
        "bb_width_pct": 0.498
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T04-45-00Z_short_vwap_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4062.25,
      "stop": 4065.378,
      "target": 4055.993,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.05,
        "bb_width_pct": 0.386
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T04-55-00Z_short_vwap_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T04:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4060.87,
      "stop": 4063.196,
      "target": 4056.218,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 24.66,
        "bb_width_pct": 0.332
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T05-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4059.43,
      "stop": 4056.181,
      "target": 4065.929,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.9,
        "bb_width_pct": 0.351
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T05-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4059.43,
      "stop": 4057.522,
      "target": 4063.247,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.9,
        "bb_width_pct": 0.351
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T05-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4058.7,
      "stop": 4055.622,
      "target": 4064.855,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.48,
        "bb_width_pct": 0.459
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T05-15-00Z_long_rsi_range_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4058.7,
      "stop": 4055.622,
      "target": 4064.855,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.48,
        "bb_width_pct": 0.459
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T05-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4058.7,
      "stop": 4057.146,
      "target": 4061.807,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.48,
        "bb_width_pct": 0.459
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T05-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4056.155,
      "stop": 4052.592,
      "target": 4063.28,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.07,
        "bb_width_pct": 0.468
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T05-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4056.155,
      "stop": 4053.785,
      "target": 4060.895,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.07,
        "bb_width_pct": 0.468
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T05-40-00Z_short_vwap_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4061.92,
      "stop": 4064.568,
      "target": 4056.625,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.6,
        "bb_width_pct": 0.396
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T05-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T05:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4066.275,
      "stop": 4068.617,
      "target": 4061.591,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.42,
        "bb_width_pct": 0.292
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T06-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4070.365,
      "stop": 4074.192,
      "target": 4062.711,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.58,
        "bb_width_pct": 0.342
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T06-05-00Z_short_vwap_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4070.0,
      "stop": 4076.353,
      "target": 4057.293,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.61,
        "bb_width_pct": 0.376
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T06-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4070.0,
      "stop": 4072.662,
      "target": 4064.675,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.61,
        "bb_width_pct": 0.376
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T06-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4070.0,
      "stop": 4073.297,
      "target": 4063.405,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.61,
        "bb_width_pct": 0.376
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T06-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T06:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4068.67,
      "stop": 4071.836,
      "target": 4062.339,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.06,
        "bb_width_pct": 0.401
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T06-10-00Z_short_vwap_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T06:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4068.67,
      "stop": 4074.276,
      "target": 4057.458,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.06,
        "bb_width_pct": 0.401
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T06-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T06:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4074.255,
      "stop": 4079.264,
      "target": 4064.238,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.84,
        "bb_width_pct": 0.625
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T06-25-00Z_short_rsi_range_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T06:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4074.255,
      "stop": 4079.264,
      "target": 4064.238,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 14.84,
        "bb_width_pct": 0.625
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T06-25-00Z_short_vwap_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T06:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4074.255,
      "stop": 4082.31,
      "target": 4058.145,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.84,
        "bb_width_pct": 0.625
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T06-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T06:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4074.255,
      "stop": 4078.091,
      "target": 4066.582,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.84,
        "bb_width_pct": 0.625
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T06-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T06:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4074.255,
      "stop": 4077.894,
      "target": 4066.977,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.84,
        "bb_width_pct": 0.625
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T06-35-00Z_short_rsi_range_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4072.89,
      "stop": 4076.595,
      "target": 4065.48,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 19.95,
        "bb_width_pct": 0.688
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T06-35-00Z_short_vwap_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4072.89,
      "stop": 4080.056,
      "target": 4058.557,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 19.95,
        "bb_width_pct": 0.688
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T06-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4072.89,
      "stop": 4076.044,
      "target": 4066.582,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 19.95,
        "bb_width_pct": 0.688
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T06-40-00Z_short_vwap_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T06:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4068.25,
      "stop": 4073.031,
      "target": 4058.688,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.14,
        "bb_width_pct": 0.676
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T06-50-00Z_short_vwap_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T06:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4072.935,
      "stop": 4079.897,
      "target": 4059.012,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.05,
        "bb_width_pct": 0.639
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T07-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T07:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4062.425,
      "stop": 4058.58,
      "target": 4070.115,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.24,
        "bb_width_pct": 0.437
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T07-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4063.96,
      "stop": 4060.89,
      "target": 4070.099,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.2,
        "bb_width_pct": 0.439
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T07-30-00Z_long_rsi_range_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4063.96,
      "stop": 4060.89,
      "target": 4070.099,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.2,
        "bb_width_pct": 0.439
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T08-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T08:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4075.145,
      "stop": 4078.098,
      "target": 4069.239,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.65,
        "bb_width_pct": 0.402
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T08-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T08:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4075.145,
      "stop": 4077.991,
      "target": 4069.453,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.65,
        "bb_width_pct": 0.402
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T08-25-00Z_short_vwap_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T08:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4075.06,
      "stop": 4078.179,
      "target": 4068.822,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 18.8,
        "bb_width_pct": 0.411
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T08-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T08:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4076.74,
      "stop": 4080.108,
      "target": 4070.004,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.16,
        "bb_width_pct": 0.468
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T08-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T08:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4076.74,
      "stop": 4079.221,
      "target": 4071.779,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.16,
        "bb_width_pct": 0.468
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T08-55-00Z_short_vwap_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T08:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4076.19,
      "stop": 4078.997,
      "target": 4070.576,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.08,
        "bb_width_pct": 0.497
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T08-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T08:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4076.19,
      "stop": 4079.342,
      "target": 4069.885,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.08,
        "bb_width_pct": 0.497
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T08-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T08:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4076.19,
      "stop": 4077.899,
      "target": 4072.771,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.08,
        "bb_width_pct": 0.497
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T09-00-00Z_short_rsi_range_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4075.37,
      "stop": 4077.173,
      "target": 4071.764,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 17.79,
        "bb_width_pct": 0.457
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T09-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4075.37,
      "stop": 4078.062,
      "target": 4069.985,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.79,
        "bb_width_pct": 0.457
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T09-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4066.125,
      "stop": 4063.109,
      "target": 4072.157,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.03,
        "bb_width_pct": 0.385
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T09-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4066.125,
      "stop": 4063.574,
      "target": 4071.228,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.03,
        "bb_width_pct": 0.385
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T10-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T10:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4063.555,
      "stop": 4060.778,
      "target": 4069.109,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.11,
        "bb_width_pct": 0.424
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T10-05-00Z_long_rsi_range_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T10:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4064.275,
      "stop": 4061.088,
      "target": 4070.648,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.9,
        "bb_width_pct": 0.439
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T10-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T10:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4064.275,
      "stop": 4061.179,
      "target": 4070.467,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 20.9,
        "bb_width_pct": 0.439
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T10-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T10:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4064.275,
      "stop": 4062.088,
      "target": 4068.648,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.9,
        "bb_width_pct": 0.439
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T10-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T10:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4065.685,
      "stop": 4063.294,
      "target": 4070.467,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.84,
        "bb_width_pct": 0.452
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T10-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T10:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4065.685,
      "stop": 4064.566,
      "target": 4067.923,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.84,
        "bb_width_pct": 0.452
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T10-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T10:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4064.715,
      "stop": 4061.839,
      "target": 4070.467,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.43,
        "bb_width_pct": 0.252
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T10-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T10:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4064.005,
      "stop": 4060.609,
      "target": 4070.797,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.26,
        "bb_width_pct": 0.222
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T10-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T10:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4066.365,
      "stop": 4064.149,
      "target": 4070.797,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.4,
        "bb_width_pct": 0.187
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T11-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T11:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4059.66,
      "stop": 4056.955,
      "target": 4065.07,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.25,
        "bb_width_pct": 0.242
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T11-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T11:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4063.435,
      "stop": 4062.72,
      "target": 4064.865,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.56,
        "bb_width_pct": 0.242
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T11-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T11:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4063.435,
      "stop": 4060.762,
      "target": 4068.78,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.56,
        "bb_width_pct": 0.242
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T11-45-00Z_short_vwap_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T11:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4071.185,
      "stop": 4074.33,
      "target": 4064.895,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.77,
        "bb_width_pct": 0.275
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T11-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T11:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4070.705,
      "stop": 4073.317,
      "target": 4065.482,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.51,
        "bb_width_pct": 0.297
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T11-50-00Z_short_vwap_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T11:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4070.705,
      "stop": 4073.482,
      "target": 4065.151,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.51,
        "bb_width_pct": 0.297
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T12-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T12:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4069.965,
      "stop": 4072.117,
      "target": 4065.66,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.65,
        "bb_width_pct": 0.313
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T12-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T12:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4069.965,
      "stop": 4071.479,
      "target": 4066.936,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.65,
        "bb_width_pct": 0.313
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T14-05-00Z_short_vwap_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T14:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4127.81,
      "stop": 4135.589,
      "target": 4112.251,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.55,
        "bb_width_pct": 0.763
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T14-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T14:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4127.81,
      "stop": 4141.335,
      "target": 4100.76,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.55,
        "bb_width_pct": 0.763
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T15-00-00Z_short_vwap_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T15:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4127.175,
      "stop": 4132.95,
      "target": 4115.624,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.96,
        "bb_width_pct": 0.698
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T15-35-00Z_short_vwap_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T15:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4127.555,
      "stop": 4132.712,
      "target": 4117.242,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.5,
        "bb_width_pct": 0.422
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T15-50-00Z_short_vwap_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T15:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4128.535,
      "stop": 4133.863,
      "target": 4117.88,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.99,
        "bb_width_pct": 0.407
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T16-00-00Z_short_vwap_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4126.555,
      "stop": 4130.695,
      "target": 4118.276,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.2,
        "bb_width_pct": 0.395
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T16-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4110.2,
      "stop": 4103.752,
      "target": 4123.097,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.18,
        "bb_width_pct": 0.649
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T16-35-00Z_long_vwap_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4110.2,
      "stop": 4106.217,
      "target": 4118.165,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.18,
        "bb_width_pct": 0.649
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T16-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4110.2,
      "stop": 4103.73,
      "target": 4123.14,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 23.18,
        "bb_width_pct": 0.649
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T16-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T16:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4114.75,
      "stop": 4112.14,
      "target": 4119.97,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.3,
        "bb_width_pct": 0.666
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T17-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T17:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4109.51,
      "stop": 4106.779,
      "target": 4114.973,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.79,
        "bb_width_pct": 0.484
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T17-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T17:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4109.47,
      "stop": 4106.981,
      "target": 4114.449,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.99,
        "bb_width_pct": 0.456
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T18-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T18:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4122.48,
      "stop": 4127.014,
      "target": 4113.413,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.7,
        "bb_width_pct": 0.46
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T18-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T18:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4119.115,
      "stop": 4121.566,
      "target": 4114.212,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.04,
        "bb_width_pct": 0.413
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T18-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T18:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4119.115,
      "stop": 4121.143,
      "target": 4115.06,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.04,
        "bb_width_pct": 0.413
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T18-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4125.035,
      "stop": 4129.868,
      "target": 4115.369,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.91,
        "bb_width_pct": 0.493
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T18-35-00Z_short_vwap_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T18:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4124.85,
      "stop": 4129.519,
      "target": 4115.512,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 19.51,
        "bb_width_pct": 0.53
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T18-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T18:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4124.85,
      "stop": 4128.364,
      "target": 4117.822,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.51,
        "bb_width_pct": 0.53
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T19-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T19:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4112.755,
      "stop": 4110.809,
      "target": 4116.647,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.06,
        "bb_width_pct": 0.518
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T19-40-00Z_long_rsi_range_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T19:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4113.615,
      "stop": 4111.39,
      "target": 4118.064,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.45,
        "bb_width_pct": 0.451
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T19-55-00Z_short_vwap_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T19:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4121.425,
      "stop": 4124.035,
      "target": 4116.206,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.2,
        "bb_width_pct": 0.465
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T19-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T19:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4121.425,
      "stop": 4123.901,
      "target": 4116.472,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.2,
        "bb_width_pct": 0.465
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T19-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T19:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4121.425,
      "stop": 4123.632,
      "target": 4117.011,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.2,
        "bb_width_pct": 0.465
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T20-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T20:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4123.375,
      "stop": 4125.649,
      "target": 4118.826,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.17,
        "bb_width_pct": 0.43
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T20-30-00Z_short_rsi_range_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T20:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4123.55,
      "stop": 4126.265,
      "target": 4118.12,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 22.7,
        "bb_width_pct": 0.449
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T20-30-00Z_short_vwap_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T20:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4123.55,
      "stop": 4126.755,
      "target": 4117.14,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 22.7,
        "bb_width_pct": 0.449
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T20-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T20:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4123.55,
      "stop": 4127.089,
      "target": 4116.472,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 22.7,
        "bb_width_pct": 0.449
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T20-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T20:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4123.55,
      "stop": 4125.476,
      "target": 4119.697,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.7,
        "bb_width_pct": 0.449
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T20-35-00Z_short_vwap_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T20:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4121.705,
      "stop": 4123.928,
      "target": 4117.26,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 18.61,
        "bb_width_pct": 0.444
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T20-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T20:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4121.705,
      "stop": 4124.321,
      "target": 4116.472,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.61,
        "bb_width_pct": 0.444
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T22-10-00Z_short_vwap_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T22:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4124.555,
      "stop": 4150.826,
      "target": 4072.014,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.63,
        "bb_width_pct": 0.357
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T22-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T22:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4124.555,
      "stop": 4128.329,
      "target": 4117.007,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.63,
        "bb_width_pct": 0.357
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T22-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T22:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4124.555,
      "stop": 4125.869,
      "target": 4121.928,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.63,
        "bb_width_pct": 0.357
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T22-20-00Z_short_vwap_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T22:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4123.715,
      "stop": 4147.759,
      "target": 4075.627,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.9,
        "bb_width_pct": 0.247
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T22-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T22:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4123.715,
      "stop": 4126.415,
      "target": 4118.315,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.9,
        "bb_width_pct": 0.247
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T22-35-00Z_short_vwap_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T22:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4124.4,
      "stop": 4146.484,
      "target": 4080.232,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.73,
        "bb_width_pct": 0.209
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T22-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T22:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4124.4,
      "stop": 4127.442,
      "target": 4118.315,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.73,
        "bb_width_pct": 0.209
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T22-40-00Z_short_vwap_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T22:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4123.285,
      "stop": 4144.156,
      "target": 4081.544,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.06,
        "bb_width_pct": 0.198
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T22-50-00Z_short_vwap_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T22:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4123.92,
      "stop": 4143.9,
      "target": 4083.959,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.79,
        "bb_width_pct": 0.178
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T23-10-00Z_short_vwap_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4125.53,
      "stop": 4144.171,
      "target": 4088.249,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.83,
        "bb_width_pct": 0.192
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T23-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4125.53,
      "stop": 4129.137,
      "target": 4118.315,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.83,
        "bb_width_pct": 0.192
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T23-15-00Z_short_vwap_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4125.52,
      "stop": 4143.684,
      "target": 4089.193,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.96,
        "bb_width_pct": 0.186
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T23-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4125.52,
      "stop": 4129.123,
      "target": 4118.315,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.96,
        "bb_width_pct": 0.186
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T23-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4125.52,
      "stop": 4126.186,
      "target": 4124.187,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.96,
        "bb_width_pct": 0.186
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T23-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4126.66,
      "stop": 4127.263,
      "target": 4125.454,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.02,
        "bb_width_pct": 0.16
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T23-30-00Z_short_vwap_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4126.66,
      "stop": 4144.027,
      "target": 4091.926,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.02,
        "bb_width_pct": 0.16
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T23-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4126.66,
      "stop": 4130.321,
      "target": 4119.337,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.02,
        "bb_width_pct": 0.16
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T23-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4126.66,
      "stop": 4127.408,
      "target": 4125.164,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.02,
        "bb_width_pct": 0.16
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T23-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4123.295,
      "stop": 4122.223,
      "target": 4125.439,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.98,
        "bb_width_pct": 0.162
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T23-35-00Z_short_vwap_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4123.295,
      "stop": 4138.612,
      "target": 4092.661,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.98,
        "bb_width_pct": 0.162
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T23-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4124.86,
      "stop": 4124.595,
      "target": 4125.39,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.01,
        "bb_width_pct": 0.162
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T23-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T23:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4128.67,
      "stop": 4130.137,
      "target": 4125.735,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.49,
        "bb_width_pct": 0.201
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T23-50-00Z_short_vwap_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T23:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4128.67,
      "stop": 4145.577,
      "target": 4094.856,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.49,
        "bb_width_pct": 0.201
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T23-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T23:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4126.105,
      "stop": 4126.262,
      "target": 4125.791,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.68,
        "bb_width_pct": 0.201
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T23-55-00Z_short_vwap_mean_reversion",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T23:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4126.105,
      "stop": 4141.388,
      "target": 4095.54,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.68,
        "bb_width_pct": 0.201
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-02T23-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T23:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4126.105,
      "stop": 4127.271,
      "target": 4123.773,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.68,
        "bb_width_pct": 0.201
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T00-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T00:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4128.9,
      "stop": 4130.142,
      "target": 4126.416,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.09,
        "bb_width_pct": 0.233
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T00-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T00:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4128.9,
      "stop": 4130.621,
      "target": 4125.458,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.09,
        "bb_width_pct": 0.233
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T00-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T00:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4135.08,
      "stop": 4138.896,
      "target": 4127.448,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.81,
        "bb_width_pct": 0.296
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T00-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T00:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4137.395,
      "stop": 4141.654,
      "target": 4128.876,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.39,
        "bb_width_pct": 0.442
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T00-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T00:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4137.395,
      "stop": 4141.176,
      "target": 4129.833,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.39,
        "bb_width_pct": 0.442
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T00-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T00:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4137.395,
      "stop": 4141.072,
      "target": 4130.041,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.39,
        "bb_width_pct": 0.442
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T00-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4134.765,
      "stop": 4137.21,
      "target": 4129.875,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.48,
        "bb_width_pct": 0.444
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T00-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T00:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4137.855,
      "stop": 4141.745,
      "target": 4130.074,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.04,
        "bb_width_pct": 0.465
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T00-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T00:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4136.625,
      "stop": 4140.0,
      "target": 4129.875,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.98,
        "bb_width_pct": 0.471
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T00-55-00Z_short_rsi_range_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T00:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4147.115,
      "stop": 4153.904,
      "target": 4133.537,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 20.28,
        "bb_width_pct": 0.653
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T00-55-00Z_short_vwap_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T00:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4147.115,
      "stop": 4152.126,
      "target": 4137.093,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 20.28,
        "bb_width_pct": 0.653
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T00-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T00:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4147.115,
      "stop": 4153.776,
      "target": 4133.792,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 20.28,
        "bb_width_pct": 0.653
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T02-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4180.82,
      "stop": 4184.468,
      "target": 4173.524,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.15,
        "bb_width_pct": 0.932
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T02-40-00Z_short_vwap_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T02:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4183.41,
      "stop": 4192.9,
      "target": 4164.429,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 1.74,
        "bb_width_pct": 0.475
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T02-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T02:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4183.41,
      "stop": 4195.87,
      "target": 4158.49,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.74,
        "bb_width_pct": 0.475
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T02-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T02:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4183.41,
      "stop": 4187.342,
      "target": 4175.547,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.74,
        "bb_width_pct": 0.475
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T02-45-00Z_short_vwap_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4180.02,
      "stop": 4187.571,
      "target": 4164.918,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.02,
        "bb_width_pct": 0.434
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T02-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4180.02,
      "stop": 4182.044,
      "target": 4175.973,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.02,
        "bb_width_pct": 0.434
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T02-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T02:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4183.845,
      "stop": 4187.406,
      "target": 4176.723,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.08,
        "bb_width_pct": 0.418
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T02-55-00Z_short_vwap_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T02:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4183.425,
      "stop": 4192.16,
      "target": 4165.954,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.99,
        "bb_width_pct": 0.414
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T02-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T02:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4183.425,
      "stop": 4195.892,
      "target": 4158.49,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.99,
        "bb_width_pct": 0.414
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T02-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T02:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4183.425,
      "stop": 4186.457,
      "target": 4177.361,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.99,
        "bb_width_pct": 0.414
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T03-00-00Z_short_vwap_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4182.165,
      "stop": 4190.052,
      "target": 4166.392,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.48,
        "bb_width_pct": 0.354
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T03-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4182.165,
      "stop": 4193.676,
      "target": 4159.142,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.48,
        "bb_width_pct": 0.354
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T03-05-00Z_short_vwap_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T03:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4181.775,
      "stop": 4189.262,
      "target": 4166.8,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.31,
        "bb_width_pct": 0.332
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T03-15-00Z_short_vwap_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4181.66,
      "stop": 4188.698,
      "target": 4167.584,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.6,
        "bb_width_pct": 0.206
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T03-20-00Z_short_vwap_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T03:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4180.125,
      "stop": 4186.233,
      "target": 4167.909,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.57,
        "bb_width_pct": 0.206
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T03-35-00Z_short_vwap_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T03:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4180.865,
      "stop": 4186.889,
      "target": 4168.816,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.07,
        "bb_width_pct": 0.203
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T03-40-00Z_short_vwap_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T03:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4177.32,
      "stop": 4181.458,
      "target": 4169.044,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.96,
        "bb_width_pct": 0.215
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T03-45-00Z_short_vwap_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T03:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4176.6,
      "stop": 4180.285,
      "target": 4169.229,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.64,
        "bb_width_pct": 0.232
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T03-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T03:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4176.07,
      "stop": 4173.735,
      "target": 4180.74,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.36,
        "bb_width_pct": 0.25
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T03-55-00Z_short_vwap_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T03:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4176.07,
      "stop": 4179.339,
      "target": 4169.532,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.36,
        "bb_width_pct": 0.25
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T04-00-00Z_short_vwap_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T04:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4174.525,
      "stop": 4176.968,
      "target": 4169.639,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 18.95,
        "bb_width_pct": 0.278
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T04-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T04:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4174.525,
      "stop": 4172.653,
      "target": 4178.268,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.95,
        "bb_width_pct": 0.278
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T04-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4178.19,
      "stop": 4177.039,
      "target": 4180.491,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.51,
        "bb_width_pct": 0.281
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T04-10-00Z_short_vwap_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T04:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4177.725,
      "stop": 4181.615,
      "target": 4169.944,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 9.37,
        "bb_width_pct": 0.287
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T04-20-00Z_short_vwap_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4178.725,
      "stop": 4182.926,
      "target": 4170.323,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.26,
        "bb_width_pct": 0.25
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T04-25-00Z_short_vwap_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T04:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4178.515,
      "stop": 4182.533,
      "target": 4170.479,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.49,
        "bb_width_pct": 0.252
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T04-30-00Z_short_vwap_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T04:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4177.455,
      "stop": 4180.881,
      "target": 4170.604,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.92,
        "bb_width_pct": 0.239
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T04-35-00Z_short_vwap_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4176.655,
      "stop": 4179.626,
      "target": 4170.712,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.94,
        "bb_width_pct": 0.23
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T04-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4177.385,
      "stop": 4173.929,
      "target": 4184.298,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.14,
        "bb_width_pct": 0.222
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T04-45-00Z_short_vwap_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4176.505,
      "stop": 4179.291,
      "target": 4170.933,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 1.97,
        "bb_width_pct": 0.218
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T04-50-00Z_short_vwap_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T04:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4175.43,
      "stop": 4177.64,
      "target": 4171.011,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.08,
        "bb_width_pct": 0.209
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T04-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T04:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4179.065,
      "stop": 4178.611,
      "target": 4179.972,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.69,
        "bb_width_pct": 0.196
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T05-05-00Z_short_vwap_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4179.015,
      "stop": 4182.824,
      "target": 4171.397,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.61,
        "bb_width_pct": 0.187
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T05-10-00Z_short_vwap_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4178.415,
      "stop": 4181.869,
      "target": 4171.508,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.56,
        "bb_width_pct": 0.167
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T05-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4174.645,
      "stop": 4173.14,
      "target": 4177.656,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.27,
        "bb_width_pct": 0.17
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T05-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4174.645,
      "stop": 4172.966,
      "target": 4178.004,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.27,
        "bb_width_pct": 0.17
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T05-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4176.31,
      "stop": 4174.479,
      "target": 4179.972,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.75,
        "bb_width_pct": 0.171
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T05-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4178.86,
      "stop": 4179.419,
      "target": 4177.742,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.77,
        "bb_width_pct": 0.171
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T05-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4178.86,
      "stop": 4178.304,
      "target": 4179.972,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.77,
        "bb_width_pct": 0.171
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T05-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4175.32,
      "stop": 4174.134,
      "target": 4177.692,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.67,
        "bb_width_pct": 0.178
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T05-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4175.32,
      "stop": 4172.994,
      "target": 4179.972,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 2.67,
        "bb_width_pct": 0.178
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T05-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T05:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4171.24,
      "stop": 4168.465,
      "target": 4176.79,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.15,
        "bb_width_pct": 0.222
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T05-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4171.41,
      "stop": 4168.109,
      "target": 4178.012,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.11,
        "bb_width_pct": 0.254
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T05-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T05:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4171.335,
      "stop": 4168.738,
      "target": 4176.529,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.4,
        "bb_width_pct": 0.262
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T05-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T05:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4171.335,
      "stop": 4167.996,
      "target": 4178.012,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.4,
        "bb_width_pct": 0.262
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T06-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4170.14,
      "stop": 4167.502,
      "target": 4175.416,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.83,
        "bb_width_pct": 0.367
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T06-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4170.14,
      "stop": 4167.355,
      "target": 4175.71,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 16.83,
        "bb_width_pct": 0.367
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T06-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4170.14,
      "stop": 4168.049,
      "target": 4174.322,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.83,
        "bb_width_pct": 0.367
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T06-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T06:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4165.875,
      "stop": 4161.751,
      "target": 4174.123,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.87,
        "bb_width_pct": 0.487
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T06-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T06:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4165.875,
      "stop": 4162.115,
      "target": 4173.395,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 17.87,
        "bb_width_pct": 0.487
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T06-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T06:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4165.875,
      "stop": 4162.569,
      "target": 4172.487,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.87,
        "bb_width_pct": 0.487
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T06-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T06:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4163.93,
      "stop": 4160.059,
      "target": 4171.672,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.04,
        "bb_width_pct": 0.525
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T06-25-00Z_long_vwap_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T06:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4164.795,
      "stop": 4161.457,
      "target": 4171.471,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.39,
        "bb_width_pct": 0.55
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T06-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T06:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4164.795,
      "stop": 4161.114,
      "target": 4172.157,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 13.39,
        "bb_width_pct": 0.55
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T07-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T07:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4174.09,
      "stop": 4175.741,
      "target": 4170.788,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.43,
        "bb_width_pct": 0.424
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T07-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T07:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4174.09,
      "stop": 4175.266,
      "target": 4171.738,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.43,
        "bb_width_pct": 0.424
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T07-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T07:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4174.09,
      "stop": 4174.75,
      "target": 4172.769,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.43,
        "bb_width_pct": 0.424
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T07-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T07:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4180.42,
      "stop": 4183.134,
      "target": 4174.991,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.28,
        "bb_width_pct": 0.504
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T07-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T07:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4177.98,
      "stop": 4181.346,
      "target": 4171.247,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.29,
        "bb_width_pct": 0.461
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T07-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T07:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4177.98,
      "stop": 4179.332,
      "target": 4175.276,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.29,
        "bb_width_pct": 0.461
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T08-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4183.125,
      "stop": 4187.193,
      "target": 4174.988,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.99,
        "bb_width_pct": 0.416
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T08-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T08:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4182.37,
      "stop": 4185.621,
      "target": 4175.867,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.6,
        "bb_width_pct": 0.378
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T08-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T08:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4182.37,
      "stop": 4187.243,
      "target": 4172.625,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.6,
        "bb_width_pct": 0.378
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T08-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T08:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4182.37,
      "stop": 4185.153,
      "target": 4176.804,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.6,
        "bb_width_pct": 0.378
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T08-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T08:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4184.14,
      "stop": 4187.913,
      "target": 4176.593,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.68,
        "bb_width_pct": 0.39
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T08-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T08:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4184.14,
      "stop": 4187.459,
      "target": 4177.503,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.68,
        "bb_width_pct": 0.39
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T08-20-00Z_short_rsi_range_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T08:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4183.42,
      "stop": 4186.165,
      "target": 4177.931,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 21.6,
        "bb_width_pct": 0.394
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T08-20-00Z_short_vwap_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T08:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4183.42,
      "stop": 4185.888,
      "target": 4178.483,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 21.6,
        "bb_width_pct": 0.394
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T08-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T08:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4183.42,
      "stop": 4188.548,
      "target": 4173.165,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 21.6,
        "bb_width_pct": 0.394
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T08-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T08:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4183.42,
      "stop": 4185.784,
      "target": 4178.693,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.6,
        "bb_width_pct": 0.394
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T08-25-00Z_short_rsi_range_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T08:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4183.165,
      "stop": 4185.533,
      "target": 4178.43,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 18.32,
        "bb_width_pct": 0.394
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T08-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T08:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4183.165,
      "stop": 4188.165,
      "target": 4173.165,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.32,
        "bb_width_pct": 0.394
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T08-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4185.58,
      "stop": 4188.503,
      "target": 4179.734,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.47,
        "bb_width_pct": 0.404
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T08-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4182.165,
      "stop": 4186.48,
      "target": 4173.535,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.39,
        "bb_width_pct": 0.386
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T08-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4182.165,
      "stop": 4183.265,
      "target": 4179.966,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.39,
        "bb_width_pct": 0.386
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T08-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T08:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4177.195,
      "stop": 4179.025,
      "target": 4173.535,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.91,
        "bb_width_pct": 0.389
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T09-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T09:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4180.46,
      "stop": 4180.08,
      "target": 4181.219,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.38,
        "bb_width_pct": 0.242
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T09-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T09:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4176.005,
      "stop": 4173.479,
      "target": 4181.057,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.17,
        "bb_width_pct": 0.262
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T09-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4171.62,
      "stop": 4167.619,
      "target": 4179.621,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.42,
        "bb_width_pct": 0.45
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T09-35-00Z_long_vwap_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4171.62,
      "stop": 4168.168,
      "target": 4178.524,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.42,
        "bb_width_pct": 0.45
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T09-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4171.62,
      "stop": 4168.946,
      "target": 4176.969,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.42,
        "bb_width_pct": 0.45
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T09-40-00Z_long_rsi_range_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T09:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4172.3,
      "stop": 4168.91,
      "target": 4179.08,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.57,
        "bb_width_pct": 0.467
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T09-40-00Z_long_vwap_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T09:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4172.3,
      "stop": 4169.291,
      "target": 4178.317,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.57,
        "bb_width_pct": 0.467
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T09-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T09:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4172.3,
      "stop": 4170.188,
      "target": 4176.524,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.57,
        "bb_width_pct": 0.467
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T09-45-00Z_long_vwap_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T09:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4173.205,
      "stop": 4170.727,
      "target": 4178.16,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.44,
        "bb_width_pct": 0.477
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T10-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T10:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4176.025,
      "stop": 4175.231,
      "target": 4177.612,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.27,
        "bb_width_pct": 0.442
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T11-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T11:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4183.58,
      "stop": 4186.53,
      "target": 4177.681,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.47,
        "bb_width_pct": 0.295
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T11-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T11:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4183.145,
      "stop": 4185.311,
      "target": 4178.812,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.05,
        "bb_width_pct": 0.302
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T11-25-00Z_short_vwap_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T11:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4183.145,
      "stop": 4185.114,
      "target": 4179.207,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.05,
        "bb_width_pct": 0.302
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T11-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T11:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4183.145,
      "stop": 4185.911,
      "target": 4177.612,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.05,
        "bb_width_pct": 0.302
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T11-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T11:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4183.145,
      "stop": 4184.918,
      "target": 4179.598,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.05,
        "bb_width_pct": 0.302
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T11-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T11:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4184.055,
      "stop": 4186.071,
      "target": 4180.023,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.67,
        "bb_width_pct": 0.308
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T11-45-00Z_short_rsi_range_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T11:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4184.19,
      "stop": 4185.939,
      "target": 4180.692,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 17.28,
        "bb_width_pct": 0.307
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T11-45-00Z_short_vwap_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T11:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4184.19,
      "stop": 4186.168,
      "target": 4180.234,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 17.28,
        "bb_width_pct": 0.307
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T11-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T11:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4184.19,
      "stop": 4187.479,
      "target": 4177.612,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.28,
        "bb_width_pct": 0.307
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T11-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T11:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4184.19,
      "stop": 4185.628,
      "target": 4181.315,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.28,
        "bb_width_pct": 0.307
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T11-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T11:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4181.54,
      "stop": 4183.552,
      "target": 4177.515,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.66,
        "bb_width_pct": 0.307
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T12-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T12:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4174.55,
      "stop": 4171.476,
      "target": 4180.698,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.53,
        "bb_width_pct": 0.332
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T12-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T12:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4174.81,
      "stop": 4171.894,
      "target": 4180.643,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.87,
        "bb_width_pct": 0.34
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T12-25-00Z_long_rsi_range_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T12:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4174.81,
      "stop": 4171.894,
      "target": 4180.643,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.87,
        "bb_width_pct": 0.34
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T12-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T12:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4177.265,
      "stop": 4175.562,
      "target": 4180.672,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.04,
        "bb_width_pct": 0.337
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T12-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T12:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4177.265,
      "stop": 4176.353,
      "target": 4179.088,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.04,
        "bb_width_pct": 0.337
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T12-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T12:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4175.085,
      "stop": 4172.343,
      "target": 4180.568,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.3,
        "bb_width_pct": 0.349
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T12-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T12:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4175.085,
      "stop": 4173.274,
      "target": 4178.707,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.3,
        "bb_width_pct": 0.349
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T12-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T12:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4174.95,
      "stop": 4173.25,
      "target": 4178.349,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.86,
        "bb_width_pct": 0.367
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T12-45-00Z_long_rsi_range_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T12:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4175.865,
      "stop": 4173.719,
      "target": 4180.158,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.79,
        "bb_width_pct": 0.379
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T12-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T12:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4176.775,
      "stop": 4175.97,
      "target": 4178.385,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.63,
        "bb_width_pct": 0.38
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T12-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T12:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4176.775,
      "stop": 4176.295,
      "target": 4177.735,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.63,
        "bb_width_pct": 0.38
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T13-15-00Z_long_rsi_range_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T13:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4169.7,
      "stop": 4166.354,
      "target": 4176.393,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.47,
        "bb_width_pct": 0.463
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T13-15-00Z_long_vwap_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T13:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4169.7,
      "stop": 4167.108,
      "target": 4174.884,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.47,
        "bb_width_pct": 0.463
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T13-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T13:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4169.7,
      "stop": 4166.765,
      "target": 4175.57,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.47,
        "bb_width_pct": 0.463
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T13-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T13:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4169.7,
      "stop": 4167.087,
      "target": 4174.925,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.47,
        "bb_width_pct": 0.463
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T13-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T13:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4169.925,
      "stop": 4167.103,
      "target": 4175.57,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.9,
        "bb_width_pct": 0.435
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T13-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T13:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4169.925,
      "stop": 4167.663,
      "target": 4174.449,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.9,
        "bb_width_pct": 0.435
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T13-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4167.33,
      "stop": 4164.226,
      "target": 4173.538,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.15,
        "bb_width_pct": 0.402
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T13-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4167.975,
      "stop": 4165.149,
      "target": 4173.627,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.91,
        "bb_width_pct": 0.394
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T13-35-00Z_long_vwap_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4167.975,
      "stop": 4165.091,
      "target": 4173.744,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.91,
        "bb_width_pct": 0.394
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T13-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4167.975,
      "stop": 4164.178,
      "target": 4175.57,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.91,
        "bb_width_pct": 0.394
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T13-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4167.975,
      "stop": 4165.458,
      "target": 4173.008,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.91,
        "bb_width_pct": 0.394
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T13-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4165.205,
      "stop": 4161.679,
      "target": 4172.257,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.38,
        "bb_width_pct": 0.389
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T13-50-00Z_long_vwap_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T13:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4166.76,
      "stop": 4163.748,
      "target": 4172.783,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.0,
        "bb_width_pct": 0.383
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T13-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T13:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4166.76,
      "stop": 4162.599,
      "target": 4175.083,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.0,
        "bb_width_pct": 0.383
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T13-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T13:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4166.76,
      "stop": 4164.496,
      "target": 4171.287,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.0,
        "bb_width_pct": 0.383
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T13-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T13:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4164.76,
      "stop": 4161.807,
      "target": 4170.665,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.61,
        "bb_width_pct": 0.399
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T14-00-00Z_long_vwap_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4166.59,
      "stop": 4163.774,
      "target": 4172.222,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.02,
        "bb_width_pct": 0.402
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T14-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4166.59,
      "stop": 4162.344,
      "target": 4175.083,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 16.02,
        "bb_width_pct": 0.402
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T14-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4166.59,
      "stop": 4164.746,
      "target": 4170.277,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.02,
        "bb_width_pct": 0.402
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T14-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T14:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4162.33,
      "stop": 4158.892,
      "target": 4169.207,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.75,
        "bb_width_pct": 0.457
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T14-10-00Z_long_vwap_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T14:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4162.33,
      "stop": 4157.799,
      "target": 4171.393,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.75,
        "bb_width_pct": 0.457
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T14-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T14:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4162.33,
      "stop": 4158.028,
      "target": 4170.935,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.75,
        "bb_width_pct": 0.457
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T14-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T14:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4162.33,
      "stop": 4159.221,
      "target": 4168.548,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.75,
        "bb_width_pct": 0.457
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T14-15-00Z_long_vwap_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T14:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4162.43,
      "stop": 4158.092,
      "target": 4171.105,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.01,
        "bb_width_pct": 0.459
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T14-20-00Z_long_vwap_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T14:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4163.385,
      "stop": 4159.662,
      "target": 4170.832,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.07,
        "bb_width_pct": 0.449
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T15-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T15:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4171.795,
      "stop": 4174.622,
      "target": 4166.142,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.3,
        "bb_width_pct": 0.295
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T15-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T15:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4171.155,
      "stop": 4173.676,
      "target": 4166.112,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.8,
        "bb_width_pct": 0.29
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T15-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T15:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4172.355,
      "stop": 4175.351,
      "target": 4166.364,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 23.14,
        "bb_width_pct": 0.317
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T15-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T15:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4171.865,
      "stop": 4174.518,
      "target": 4166.558,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.24,
        "bb_width_pct": 0.336
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T15-15-00Z_short_rsi_range_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T15:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4171.865,
      "stop": 4174.518,
      "target": 4166.558,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 19.24,
        "bb_width_pct": 0.336
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T15-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T15:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4171.865,
      "stop": 4173.428,
      "target": 4168.738,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.24,
        "bb_width_pct": 0.336
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T15-20-00Z_short_rsi_range_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T15:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4169.785,
      "stop": 4171.334,
      "target": 4166.688,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 15.65,
        "bb_width_pct": 0.343
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T16-00-00Z_long_vwap_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4165.06,
      "stop": 4162.751,
      "target": 4169.678,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.99,
        "bb_width_pct": 0.238
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T16-05-00Z_long_vwap_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T16:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4165.42,
      "stop": 4163.34,
      "target": 4169.58,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.36,
        "bb_width_pct": 0.242
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T16-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T16:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4165.42,
      "stop": 4164.393,
      "target": 4167.474,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.36,
        "bb_width_pct": 0.242
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T16-15-00Z_long_rsi_range_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T16:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4165.045,
      "stop": 4163.639,
      "target": 4167.857,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.92,
        "bb_width_pct": 0.247
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T16-15-00Z_long_vwap_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T16:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4165.045,
      "stop": 4162.873,
      "target": 4169.389,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.92,
        "bb_width_pct": 0.247
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T16-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T16:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4165.045,
      "stop": 4164.081,
      "target": 4166.973,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.92,
        "bb_width_pct": 0.247
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-03T16-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4171.36,
      "stop": 4173.017,
      "target": 4168.045,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.45,
        "bb_width_pct": 0.223
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-05T22-45-00Z_short_rsi_range_reversion",
      "date": "2026-07-05",
      "timestamp": "2026-07-05T22:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4184.25,
      "stop": 4188.046,
      "target": 4176.658,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 23.35,
        "bb_width_pct": 0.777
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-05T22-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-05",
      "timestamp": "2026-07-05T22:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4184.25,
      "stop": 4187.709,
      "target": 4177.333,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 23.35,
        "bb_width_pct": 0.777
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-05T22-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-05",
      "timestamp": "2026-07-05T22:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4184.25,
      "stop": 4186.85,
      "target": 4179.05,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 23.35,
        "bb_width_pct": 0.777
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-05T22-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-05",
      "timestamp": "2026-07-05T22:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4185.97,
      "stop": 4189.101,
      "target": 4179.709,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 23.78,
        "bb_width_pct": 0.751
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-05T23-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-05",
      "timestamp": "2026-07-05T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4187.48,
      "stop": 4192.554,
      "target": 4177.333,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.35,
        "bb_width_pct": 0.638
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-05T23-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-05",
      "timestamp": "2026-07-05T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4187.48,
      "stop": 4189.882,
      "target": 4182.675,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.35,
        "bb_width_pct": 0.638
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-05T23-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-05",
      "timestamp": "2026-07-05T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4188.09,
      "stop": 4190.539,
      "target": 4183.191,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.08,
        "bb_width_pct": 0.584
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-05T23-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-05",
      "timestamp": "2026-07-05T23:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4189.605,
      "stop": 4192.507,
      "target": 4183.802,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.53,
        "bb_width_pct": 0.528
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-05T23-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-05",
      "timestamp": "2026-07-05T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4195.08,
      "stop": 4199.419,
      "target": 4186.401,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.54,
        "bb_width_pct": 0.546
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-05T23-30-00Z_short_vwap_mean_reversion",
      "date": "2026-07-05",
      "timestamp": "2026-07-05T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4195.08,
      "stop": 4199.165,
      "target": 4186.91,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.54,
        "bb_width_pct": 0.546
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-05T23-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-05",
      "timestamp": "2026-07-05T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4195.08,
      "stop": 4201.314,
      "target": 4182.613,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.54,
        "bb_width_pct": 0.546
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-05T23-40-00Z_short_vwap_mean_reversion",
      "date": "2026-07-05",
      "timestamp": "2026-07-05T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4196.325,
      "stop": 4200.554,
      "target": 4187.867,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.91,
        "bb_width_pct": 0.549
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-05T23-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-05",
      "timestamp": "2026-07-05T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4196.325,
      "stop": 4203.181,
      "target": 4182.613,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.91,
        "bb_width_pct": 0.549
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-05T23-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-05",
      "timestamp": "2026-07-05T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4182.105,
      "stop": 4179.321,
      "target": 4187.673,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.2,
        "bb_width_pct": 0.537
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T00-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T00:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4176.695,
      "stop": 4171.051,
      "target": 4187.983,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.6,
        "bb_width_pct": 0.595
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T00-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T00:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4176.695,
      "stop": 4172.599,
      "target": 4184.888,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.6,
        "bb_width_pct": 0.595
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T00-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T00:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4174.96,
      "stop": 4168.748,
      "target": 4187.384,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.28,
        "bb_width_pct": 0.654
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T00-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T00:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4174.96,
      "stop": 4170.469,
      "target": 4183.942,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.28,
        "bb_width_pct": 0.654
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T01-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T01:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4196.465,
      "stop": 4202.894,
      "target": 4183.607,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.19,
        "bb_width_pct": 0.62
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T01-35-00Z_short_rsi_range_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T01:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4196.465,
      "stop": 4202.894,
      "target": 4183.607,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 12.19,
        "bb_width_pct": 0.62
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T01-35-00Z_short_vwap_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T01:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4196.465,
      "stop": 4203.173,
      "target": 4183.049,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.19,
        "bb_width_pct": 0.62
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T01-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T01:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4196.465,
      "stop": 4201.568,
      "target": 4186.26,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.19,
        "bb_width_pct": 0.62
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T01-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T01:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4196.465,
      "stop": 4201.299,
      "target": 4186.797,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.19,
        "bb_width_pct": 0.62
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T01-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T01:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4198.25,
      "stop": 4205.002,
      "target": 4184.745,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.91,
        "bb_width_pct": 0.663
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T01-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T01:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4194.6,
      "stop": 4199.08,
      "target": 4185.64,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.99,
        "bb_width_pct": 0.669
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T01-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T01:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4194.6,
      "stop": 4198.77,
      "target": 4186.26,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.99,
        "bb_width_pct": 0.669
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T01-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T01:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4194.6,
      "stop": 4197.636,
      "target": 4188.527,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.99,
        "bb_width_pct": 0.669
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T02-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4175.08,
      "stop": 4169.456,
      "target": 4186.329,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.22,
        "bb_width_pct": 0.634
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T02-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4175.08,
      "stop": 4170.545,
      "target": 4184.151,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.22,
        "bb_width_pct": 0.634
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T02-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T02:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4173.2,
      "stop": 4166.798,
      "target": 4186.003,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.42,
        "bb_width_pct": 0.679
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T02-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T02:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4173.2,
      "stop": 4168.246,
      "target": 4183.108,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.42,
        "bb_width_pct": 0.679
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T02-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T02:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4172.735,
      "stop": 4168.042,
      "target": 4182.12,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.06,
        "bb_width_pct": 0.732
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T02-45-00Z_long_rsi_range_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4174.41,
      "stop": 4169.142,
      "target": 4184.946,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 27.93,
        "bb_width_pct": 0.762
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T02-45-00Z_long_vwap_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4174.41,
      "stop": 4170.125,
      "target": 4182.979,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 27.93,
        "bb_width_pct": 0.762
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T02-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4174.41,
      "stop": 4168.761,
      "target": 4185.708,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 27.93,
        "bb_width_pct": 0.762
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T02-55-00Z_long_rsi_range_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T02:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4174.29,
      "stop": 4169.688,
      "target": 4183.495,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.83,
        "bb_width_pct": 0.81
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T02-55-00Z_long_vwap_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T02:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4174.29,
      "stop": 4170.201,
      "target": 4182.469,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.83,
        "bb_width_pct": 0.81
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T02-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T02:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4174.29,
      "stop": 4168.581,
      "target": 4185.708,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 20.83,
        "bb_width_pct": 0.81
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T02-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T02:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4174.29,
      "stop": 4171.399,
      "target": 4180.073,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.83,
        "bb_width_pct": 0.81
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T03-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4170.69,
      "stop": 4166.445,
      "target": 4179.179,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.13,
        "bb_width_pct": 0.852
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T03-25-00Z_long_rsi_range_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4165.86,
      "stop": 4161.08,
      "target": 4175.42,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.96,
        "bb_width_pct": 0.716
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T03-25-00Z_long_vwap_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4165.86,
      "stop": 4158.643,
      "target": 4180.293,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.96,
        "bb_width_pct": 0.716
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T03-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4165.86,
      "stop": 4157.334,
      "target": 4182.913,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 16.96,
        "bb_width_pct": 0.716
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T03-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4165.86,
      "stop": 4161.859,
      "target": 4173.861,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.96,
        "bb_width_pct": 0.716
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T03-30-00Z_long_rsi_range_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4166.315,
      "stop": 4162.378,
      "target": 4174.188,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.92,
        "bb_width_pct": 0.653
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T03-30-00Z_long_vwap_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4166.315,
      "stop": 4159.489,
      "target": 4179.966,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.92,
        "bb_width_pct": 0.653
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T03-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4166.315,
      "stop": 4158.125,
      "target": 4182.695,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 16.92,
        "bb_width_pct": 0.653
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T03-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4166.315,
      "stop": 4162.901,
      "target": 4173.143,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.92,
        "bb_width_pct": 0.653
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T03-45-00Z_long_rsi_range_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T03:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4163.365,
      "stop": 4159.46,
      "target": 4171.174,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.93,
        "bb_width_pct": 0.586
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T03-45-00Z_long_vwap_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T03:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4163.365,
      "stop": 4155.556,
      "target": 4178.983,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.93,
        "bb_width_pct": 0.586
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T03-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T03:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4163.365,
      "stop": 4153.934,
      "target": 4182.227,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.93,
        "bb_width_pct": 0.586
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T03-55-00Z_long_rsi_range_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T03:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4165.375,
      "stop": 4163.395,
      "target": 4169.335,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.71,
        "bb_width_pct": 0.491
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T03-55-00Z_long_vwap_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T03:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4165.375,
      "stop": 4158.885,
      "target": 4178.355,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.71,
        "bb_width_pct": 0.491
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T03-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T03:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4165.375,
      "stop": 4157.092,
      "target": 4181.94,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 13.71,
        "bb_width_pct": 0.491
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T03-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T03:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4165.375,
      "stop": 4163.279,
      "target": 4169.567,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.71,
        "bb_width_pct": 0.491
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T04-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T04:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4163.4,
      "stop": 4160.61,
      "target": 4168.98,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.85,
        "bb_width_pct": 0.46
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T04-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4161.635,
      "stop": 4158.312,
      "target": 4168.28,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.59,
        "bb_width_pct": 0.433
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T04-10-00Z_long_vwap_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T04:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4163.56,
      "stop": 4156.612,
      "target": 4177.456,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.35,
        "bb_width_pct": 0.41
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T04-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T04:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4163.56,
      "stop": 4154.39,
      "target": 4181.9,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.35,
        "bb_width_pct": 0.41
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T04-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T04:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4163.56,
      "stop": 4161.425,
      "target": 4167.831,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.35,
        "bb_width_pct": 0.41
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T04-15-00Z_long_vwap_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T04:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4163.985,
      "stop": 4157.38,
      "target": 4177.195,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.32,
        "bb_width_pct": 0.392
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T04-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T04:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4163.985,
      "stop": 4155.028,
      "target": 4181.9,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.32,
        "bb_width_pct": 0.392
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T04-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4163.385,
      "stop": 4161.54,
      "target": 4167.076,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.84,
        "bb_width_pct": 0.375
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T04-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T04:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4159.87,
      "stop": 4157.357,
      "target": 4164.895,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.09,
        "bb_width_pct": 0.308
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T04-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4159.655,
      "stop": 4157.401,
      "target": 4164.163,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.76,
        "bb_width_pct": 0.249
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T04-40-00Z_long_vwap_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4160.325,
      "stop": 4152.605,
      "target": 4175.764,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.77,
        "bb_width_pct": 0.216
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T04-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4160.325,
      "stop": 4150.43,
      "target": 4180.115,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 11.77,
        "bb_width_pct": 0.216
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T04-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4160.325,
      "stop": 4158.073,
      "target": 4164.83,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.77,
        "bb_width_pct": 0.216
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T04-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4160.425,
      "stop": 4158.993,
      "target": 4163.288,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.52,
        "bb_width_pct": 0.208
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T04-45-00Z_long_vwap_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4160.425,
      "stop": 4152.891,
      "target": 4175.493,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.52,
        "bb_width_pct": 0.208
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T04-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4160.425,
      "stop": 4150.58,
      "target": 4180.115,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.52,
        "bb_width_pct": 0.208
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T04-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4160.425,
      "stop": 4158.432,
      "target": 4164.41,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.52,
        "bb_width_pct": 0.208
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T04-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T04:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4159.35,
      "stop": 4157.565,
      "target": 4162.92,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.1,
        "bb_width_pct": 0.209
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T04-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T04:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4159.35,
      "stop": 4157.061,
      "target": 4163.928,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.1,
        "bb_width_pct": 0.209
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T04-55-00Z_long_vwap_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T04:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4159.87,
      "stop": 4152.322,
      "target": 4174.967,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.54,
        "bb_width_pct": 0.209
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T04-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T04:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4159.87,
      "stop": 4149.747,
      "target": 4180.115,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.54,
        "bb_width_pct": 0.209
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T04-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T04:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4159.87,
      "stop": 4158.034,
      "target": 4163.542,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.54,
        "bb_width_pct": 0.209
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T05-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4152.155,
      "stop": 4148.415,
      "target": 4159.635,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.96,
        "bb_width_pct": 0.408
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T05-20-00Z_long_rsi_range_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4152.155,
      "stop": 4148.415,
      "target": 4159.635,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.96,
        "bb_width_pct": 0.408
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T05-20-00Z_long_vwap_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4152.155,
      "stop": 4141.57,
      "target": 4173.324,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.96,
        "bb_width_pct": 0.408
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T05-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4152.155,
      "stop": 4143.868,
      "target": 4168.73,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 24.96,
        "bb_width_pct": 0.408
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T05-25-00Z_long_rsi_range_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4153.0,
      "stop": 4149.942,
      "target": 4159.117,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.34,
        "bb_width_pct": 0.422
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T05-25-00Z_long_vwap_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4153.0,
      "stop": 4142.992,
      "target": 4173.016,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.34,
        "bb_width_pct": 0.422
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T05-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4153.0,
      "stop": 4145.29,
      "target": 4168.42,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 21.34,
        "bb_width_pct": 0.422
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T05-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4156.785,
      "stop": 4155.769,
      "target": 4158.816,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.51,
        "bb_width_pct": 0.417
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T05-30-00Z_long_vwap_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4156.785,
      "stop": 4148.804,
      "target": 4172.748,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.51,
        "bb_width_pct": 0.417
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T05-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4156.785,
      "stop": 4150.967,
      "target": 4168.42,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.51,
        "bb_width_pct": 0.417
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T05-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4156.785,
      "stop": 4155.921,
      "target": 4158.513,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.51,
        "bb_width_pct": 0.417
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T05-40-00Z_long_vwap_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4155.585,
      "stop": 4147.241,
      "target": 4172.272,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.15,
        "bb_width_pct": 0.385
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T05-50-00Z_long_vwap_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4156.335,
      "stop": 4148.608,
      "target": 4171.79,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.95,
        "bb_width_pct": 0.358
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T06-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4151.385,
      "stop": 4149.54,
      "target": 4155.074,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.88,
        "bb_width_pct": 0.379
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T06-05-00Z_long_vwap_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4151.385,
      "stop": 4141.64,
      "target": 4170.874,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.88,
        "bb_width_pct": 0.379
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T06-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4151.385,
      "stop": 4146.738,
      "target": 4160.68,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 3.88,
        "bb_width_pct": 0.379
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T06-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4151.385,
      "stop": 4149.447,
      "target": 4155.261,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.88,
        "bb_width_pct": 0.379
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T06-10-00Z_long_vwap_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T06:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4152.075,
      "stop": 4142.806,
      "target": 4170.614,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.22,
        "bb_width_pct": 0.368
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T06-20-00Z_long_vwap_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T06:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4152.735,
      "stop": 4144.055,
      "target": 4170.094,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.15,
        "bb_width_pct": 0.342
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T06-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T06:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4152.735,
      "stop": 4149.892,
      "target": 4158.42,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.15,
        "bb_width_pct": 0.342
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T06-25-00Z_long_vwap_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T06:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4156.59,
      "stop": 4149.934,
      "target": 4169.903,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.28,
        "bb_width_pct": 0.316
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T06-30-00Z_long_vwap_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4157.155,
      "stop": 4150.86,
      "target": 4169.745,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.76,
        "bb_width_pct": 0.3
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T06-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4155.995,
      "stop": 4157.345,
      "target": 4153.294,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.07,
        "bb_width_pct": 0.272
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T07-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T07:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4151.11,
      "stop": 4148.694,
      "target": 4155.943,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.45,
        "bb_width_pct": 0.295
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T07-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T07:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4164.17,
      "stop": 4168.515,
      "target": 4155.481,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.82,
        "bb_width_pct": 0.451
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T07-50-00Z_short_vwap_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T07:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4164.17,
      "stop": 4168.229,
      "target": 4156.053,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.82,
        "bb_width_pct": 0.451
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T07-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T07:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4164.17,
      "stop": 4168.417,
      "target": 4155.675,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.82,
        "bb_width_pct": 0.451
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T08-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4161.105,
      "stop": 4163.82,
      "target": 4155.675,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.84,
        "bb_width_pct": 0.472
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T08-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4161.105,
      "stop": 4162.635,
      "target": 4158.046,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.84,
        "bb_width_pct": 0.472
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T08-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4151.235,
      "stop": 4148.465,
      "target": 4156.775,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.62,
        "bb_width_pct": 0.471
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T08-50-00Z_long_rsi_range_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T08:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4152.48,
      "stop": 4150.227,
      "target": 4156.985,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.43,
        "bb_width_pct": 0.486
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T08-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T08:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4152.48,
      "stop": 4151.175,
      "target": 4155.09,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.43,
        "bb_width_pct": 0.486
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T09-05-00Z_long_rsi_range_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T09:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4150.235,
      "stop": 4147.143,
      "target": 4156.419,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.07,
        "bb_width_pct": 0.537
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T09-05-00Z_long_vwap_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T09:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4150.235,
      "stop": 4147.666,
      "target": 4155.373,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.07,
        "bb_width_pct": 0.537
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T09-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T09:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4150.235,
      "stop": 4147.515,
      "target": 4155.675,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 21.07,
        "bb_width_pct": 0.537
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T09-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T09:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4150.235,
      "stop": 4148.484,
      "target": 4153.737,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.07,
        "bb_width_pct": 0.537
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T09-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T09:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4143.66,
      "stop": 4138.731,
      "target": 4153.518,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.85,
        "bb_width_pct": 0.561
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T09-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4141.555,
      "stop": 4136.812,
      "target": 4151.041,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.45,
        "bb_width_pct": 0.576
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T09-35-00Z_long_rsi_range_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4141.555,
      "stop": 4136.812,
      "target": 4151.041,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.45,
        "bb_width_pct": 0.576
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T09-35-00Z_long_vwap_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4141.555,
      "stop": 4135.635,
      "target": 4153.396,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.45,
        "bb_width_pct": 0.576
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T09-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4141.555,
      "stop": 4136.564,
      "target": 4151.538,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 23.45,
        "bb_width_pct": 0.576
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T09-45-00Z_long_vwap_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T09:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4140.415,
      "stop": 4134.31,
      "target": 4152.625,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.14,
        "bb_width_pct": 0.551
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T09-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T09:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4140.415,
      "stop": 4134.854,
      "target": 4151.538,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 17.14,
        "bb_width_pct": 0.551
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T09-50-00Z_long_vwap_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T09:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4142.425,
      "stop": 4137.475,
      "target": 4152.325,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.05,
        "bb_width_pct": 0.526
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T09-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T09:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4142.425,
      "stop": 4137.869,
      "target": 4151.538,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 13.05,
        "bb_width_pct": 0.526
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T09-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T09:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4142.425,
      "stop": 4140.08,
      "target": 4147.115,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.05,
        "bb_width_pct": 0.526
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T09-55-00Z_long_vwap_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T09:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4143.24,
      "stop": 4138.823,
      "target": 4152.075,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.93,
        "bb_width_pct": 0.501
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T11-00-00Z_short_rsi_range_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4152.425,
      "stop": 4154.853,
      "target": 4147.568,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 20.83,
        "bb_width_pct": 0.54
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T11-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4152.425,
      "stop": 4153.353,
      "target": 4150.569,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.83,
        "bb_width_pct": 0.54
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T11-20-00Z_short_rsi_range_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T11:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4156.69,
      "stop": 4159.767,
      "target": 4150.535,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 15.59,
        "bb_width_pct": 0.481
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T11-20-00Z_short_vwap_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T11:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4156.69,
      "stop": 4159.159,
      "target": 4151.751,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.59,
        "bb_width_pct": 0.481
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T11-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T11:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4156.69,
      "stop": 4158.917,
      "target": 4152.236,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.59,
        "bb_width_pct": 0.481
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T11-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T11:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4154.975,
      "stop": 4157.908,
      "target": 4149.11,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.27,
        "bb_width_pct": 0.434
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T11-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T11:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4154.975,
      "stop": 4156.214,
      "target": 4152.497,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.27,
        "bb_width_pct": 0.434
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T11-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T11:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4157.595,
      "stop": 4159.901,
      "target": 4152.982,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.38,
        "bb_width_pct": 0.406
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T11-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T11:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4155.2,
      "stop": 4158.761,
      "target": 4148.078,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.5,
        "bb_width_pct": 0.361
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T12-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4156.325,
      "stop": 4157.278,
      "target": 4154.419,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.94,
        "bb_width_pct": 0.185
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T12-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T12:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4156.515,
      "stop": 4157.376,
      "target": 4154.793,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.69,
        "bb_width_pct": 0.146
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T12-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T12:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4156.095,
      "stop": 4160.104,
      "target": 4148.078,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.54,
        "bb_width_pct": 0.149
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T12-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T12:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4155.735,
      "stop": 4159.564,
      "target": 4148.078,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.64,
        "bb_width_pct": 0.145
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T12-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T12:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4139.55,
      "stop": 4134.114,
      "target": 4150.422,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.7,
        "bb_width_pct": 0.746
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T12-50-00Z_long_rsi_range_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T12:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4139.55,
      "stop": 4134.114,
      "target": 4150.422,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.7,
        "bb_width_pct": 0.746
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T12-50-00Z_long_vwap_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T12:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4139.55,
      "stop": 4135.816,
      "target": 4147.018,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.7,
        "bb_width_pct": 0.746
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T12-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T12:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4139.55,
      "stop": 4136.545,
      "target": 4145.56,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 19.7,
        "bb_width_pct": 0.746
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T12-55-00Z_long_rsi_range_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T12:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4139.65,
      "stop": 4134.71,
      "target": 4149.53,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.87,
        "bb_width_pct": 0.762
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T12-55-00Z_long_vwap_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T12:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4139.65,
      "stop": 4136.233,
      "target": 4146.484,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.87,
        "bb_width_pct": 0.762
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T13-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4144.86,
      "stop": 4144.151,
      "target": 4146.278,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.02,
        "bb_width_pct": 0.751
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T14-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T14:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4132.785,
      "stop": 4128.09,
      "target": 4142.174,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.97,
        "bb_width_pct": 0.458
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T14-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T14:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4137.295,
      "stop": 4134.805,
      "target": 4142.275,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.81,
        "bb_width_pct": 0.446
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T14-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T14:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4137.295,
      "stop": 4133.163,
      "target": 4145.56,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.81,
        "bb_width_pct": 0.446
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T14-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4141.09,
      "stop": 4138.855,
      "target": 4145.56,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.27,
        "bb_width_pct": 0.443
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T14-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T14:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4130.18,
      "stop": 4125.141,
      "target": 4140.259,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.84,
        "bb_width_pct": 0.513
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T14-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T14:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4133.65,
      "stop": 4130.021,
      "target": 4140.907,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.55,
        "bb_width_pct": 0.53
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T14-45-00Z_long_vwap_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T14:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4133.65,
      "stop": 4128.907,
      "target": 4143.136,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.55,
        "bb_width_pct": 0.53
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T14-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T14:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4133.65,
      "stop": 4128.647,
      "target": 4143.655,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.55,
        "bb_width_pct": 0.53
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T15-30-00Z_short_vwap_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T15:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4150.22,
      "stop": 4153.839,
      "target": 4142.982,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.45,
        "bb_width_pct": 0.495
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T15-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T15:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4150.22,
      "stop": 4154.209,
      "target": 4142.243,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.45,
        "bb_width_pct": 0.495
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T15-40-00Z_short_vwap_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T15:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4150.0,
      "stop": 4153.354,
      "target": 4143.293,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 16.58,
        "bb_width_pct": 0.587
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T15-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T15:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4150.0,
      "stop": 4154.826,
      "target": 4140.347,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 16.58,
        "bb_width_pct": 0.587
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T15-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T15:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4147.445,
      "stop": 4150.994,
      "target": 4140.347,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 23.32,
        "bb_width_pct": 0.595
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T15-50-00Z_short_rsi_range_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T15:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4146.04,
      "stop": 4148.295,
      "target": 4141.53,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 18.6,
        "bb_width_pct": 0.603
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T16-40-00Z_short_vwap_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T16:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4149.425,
      "stop": 4152.21,
      "target": 4143.855,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.71,
        "bb_width_pct": 0.334
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T16-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T16:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4149.425,
      "stop": 4153.964,
      "target": 4140.347,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.71,
        "bb_width_pct": 0.334
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T16-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T16:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4154.14,
      "stop": 4157.65,
      "target": 4147.119,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.4,
        "bb_width_pct": 0.347
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T17-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T17:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4153.1,
      "stop": 4155.479,
      "target": 4148.343,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.04,
        "bb_width_pct": 0.353
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T17-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T17:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4153.1,
      "stop": 4158.438,
      "target": 4142.425,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.04,
        "bb_width_pct": 0.353
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T17-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T17:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4153.1,
      "stop": 4155.591,
      "target": 4148.118,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.04,
        "bb_width_pct": 0.353
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T17-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T17:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4154.3,
      "stop": 4157.19,
      "target": 4148.521,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.5,
        "bb_width_pct": 0.372
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T17-10-00Z_short_rsi_range_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T17:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4153.68,
      "stop": 4156.173,
      "target": 4148.694,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 22.16,
        "bb_width_pct": 0.386
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T17-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T17:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4153.68,
      "stop": 4159.308,
      "target": 4142.425,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 22.16,
        "bb_width_pct": 0.386
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T17-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T17:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4153.68,
      "stop": 4155.93,
      "target": 4149.18,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.16,
        "bb_width_pct": 0.386
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T17-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T17:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4151.68,
      "stop": 4156.308,
      "target": 4142.425,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 24.03,
        "bb_width_pct": 0.388
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T17-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T17:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4151.68,
      "stop": 4152.811,
      "target": 4149.418,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 24.03,
        "bb_width_pct": 0.388
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T17-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T17:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4157.175,
      "stop": 4161.222,
      "target": 4149.08,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 27.21,
        "bb_width_pct": 0.426
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T17-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T17:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4155.63,
      "stop": 4158.7,
      "target": 4149.489,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.55,
        "bb_width_pct": 0.446
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T17-25-00Z_short_rsi_range_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T17:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4155.63,
      "stop": 4158.7,
      "target": 4149.489,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 19.55,
        "bb_width_pct": 0.446
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T17-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T17:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4155.63,
      "stop": 4161.595,
      "target": 4143.7,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 19.55,
        "bb_width_pct": 0.446
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T17-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T17:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4155.63,
      "stop": 4158.106,
      "target": 4150.678,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.55,
        "bb_width_pct": 0.446
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T17-40-00Z_short_rsi_range_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T17:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4156.845,
      "stop": 4159.639,
      "target": 4151.257,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 14.18,
        "bb_width_pct": 0.5
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T17-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T17:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4156.845,
      "stop": 4163.256,
      "target": 4144.023,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.18,
        "bb_width_pct": 0.5
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T17-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T17:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4156.845,
      "stop": 4158.993,
      "target": 4152.549,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.18,
        "bb_width_pct": 0.5
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T18-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T18:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4157.625,
      "stop": 4163.759,
      "target": 4145.358,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.73,
        "bb_width_pct": 0.409
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T18-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T18:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4157.625,
      "stop": 4159.023,
      "target": 4154.829,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.73,
        "bb_width_pct": 0.409
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T18-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T18:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4156.535,
      "stop": 4161.057,
      "target": 4147.49,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.68,
        "bb_width_pct": 0.362
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T18-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T18:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4161.315,
      "stop": 4164.035,
      "target": 4155.876,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.93,
        "bb_width_pct": 0.318
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T18-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T18:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4161.735,
      "stop": 4164.386,
      "target": 4156.434,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.08,
        "bb_width_pct": 0.302
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T18-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T18:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4161.795,
      "stop": 4164.22,
      "target": 4156.944,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.56,
        "bb_width_pct": 0.285
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T18-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4163.73,
      "stop": 4166.696,
      "target": 4157.798,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.28,
        "bb_width_pct": 0.306
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T18-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T18:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4165.32,
      "stop": 4168.826,
      "target": 4158.307,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.29,
        "bb_width_pct": 0.338
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T18-40-00Z_short_vwap_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T18:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4164.235,
      "stop": 4167.116,
      "target": 4158.472,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.08,
        "bb_width_pct": 0.339
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T18-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T18:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4164.235,
      "stop": 4169.381,
      "target": 4153.943,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.08,
        "bb_width_pct": 0.339
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T18-50-00Z_short_vwap_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T18:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4163.005,
      "stop": 4165.035,
      "target": 4158.945,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.33,
        "bb_width_pct": 0.326
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T18-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T18:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4163.005,
      "stop": 4167.536,
      "target": 4153.943,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.33,
        "bb_width_pct": 0.326
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T18-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T18:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4163.005,
      "stop": 4164.627,
      "target": 4159.761,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.33,
        "bb_width_pct": 0.326
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T19-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T19:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4161.77,
      "stop": 4165.684,
      "target": 4153.943,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.25,
        "bb_width_pct": 0.275
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T19-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T19:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4161.77,
      "stop": 4162.493,
      "target": 4160.325,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.25,
        "bb_width_pct": 0.275
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T19-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T19:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4163.64,
      "stop": 4164.771,
      "target": 4161.377,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.64,
        "bb_width_pct": 0.145
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T20-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T20:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4163.795,
      "stop": 4164.614,
      "target": 4162.158,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.97,
        "bb_width_pct": 0.124
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T20-35-00Z_short_vwap_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T20:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4163.795,
      "stop": 4165.44,
      "target": 4160.505,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.97,
        "bb_width_pct": 0.124
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T20-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T20:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4163.795,
      "stop": 4164.591,
      "target": 4162.202,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.97,
        "bb_width_pct": 0.124
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T20-40-00Z_short_vwap_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4163.1,
      "stop": 4164.364,
      "target": 4160.572,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.12,
        "bb_width_pct": 0.125
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T20-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T20:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4165.115,
      "stop": 4166.256,
      "target": 4162.833,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.92,
        "bb_width_pct": 0.121
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T22-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T22:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4165.76,
      "stop": 4167.109,
      "target": 4163.062,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.66,
        "bb_width_pct": 0.14
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T22-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T22:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4166.105,
      "stop": 4167.526,
      "target": 4163.263,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 23.64,
        "bb_width_pct": 0.152
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T22-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T22:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4165.685,
      "stop": 4166.609,
      "target": 4163.838,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.0,
        "bb_width_pct": 0.155
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T22-20-00Z_short_rsi_range_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T22:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4165.685,
      "stop": 4166.609,
      "target": 4163.838,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 22.0,
        "bb_width_pct": 0.155
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T22-20-00Z_short_vwap_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T22:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4165.685,
      "stop": 4171.027,
      "target": 4155.002,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 22.0,
        "bb_width_pct": 0.155
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T22-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T22:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4165.685,
      "stop": 4167.771,
      "target": 4161.513,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 22.0,
        "bb_width_pct": 0.155
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T22-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T22:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4165.685,
      "stop": 4166.492,
      "target": 4164.071,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.0,
        "bb_width_pct": 0.155
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T22-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T22:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4167.445,
      "stop": 4168.974,
      "target": 4164.386,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.14,
        "bb_width_pct": 0.198
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T22-35-00Z_short_vwap_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T22:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4167.445,
      "stop": 4173.104,
      "target": 4156.126,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.14,
        "bb_width_pct": 0.198
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T22-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T22:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4167.445,
      "stop": 4169.329,
      "target": 4163.677,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.14,
        "bb_width_pct": 0.198
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T22-40-00Z_short_vwap_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T22:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4167.235,
      "stop": 4172.619,
      "target": 4156.467,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 17.11,
        "bb_width_pct": 0.203
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T22-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T22:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4167.235,
      "stop": 4168.966,
      "target": 4163.773,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.11,
        "bb_width_pct": 0.203
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T22-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T22:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4167.235,
      "stop": 4168.278,
      "target": 4165.149,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.11,
        "bb_width_pct": 0.203
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T22-45-00Z_short_vwap_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T22:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4165.805,
      "stop": 4170.328,
      "target": 4156.76,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.06,
        "bb_width_pct": 0.194
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T22-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T22:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4165.805,
      "stop": 4166.821,
      "target": 4163.773,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.06,
        "bb_width_pct": 0.194
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T22-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T22:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4165.805,
      "stop": 4166.102,
      "target": 4165.211,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.06,
        "bb_width_pct": 0.194
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T22-50-00Z_short_vwap_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T22:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4164.765,
      "stop": 4168.65,
      "target": 4156.996,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.28,
        "bb_width_pct": 0.175
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T22-55-00Z_short_vwap_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T22:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4164.275,
      "stop": 4167.808,
      "target": 4157.209,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.81,
        "bb_width_pct": 0.158
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T23-05-00Z_short_vwap_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4164.335,
      "stop": 4167.703,
      "target": 4157.598,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.04,
        "bb_width_pct": 0.133
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T23-15-00Z_short_vwap_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4164.55,
      "stop": 4167.845,
      "target": 4157.96,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.53,
        "bb_width_pct": 0.128
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T23-20-00Z_short_vwap_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T23:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4163.755,
      "stop": 4166.579,
      "target": 4158.107,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.91,
        "bb_width_pct": 0.124
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T23-25-00Z_short_vwap_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T23:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4163.31,
      "stop": 4165.847,
      "target": 4158.235,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.3,
        "bb_width_pct": 0.125
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T23-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4164.77,
      "stop": 4164.402,
      "target": 4165.505,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.47,
        "bb_width_pct": 0.123
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T23-35-00Z_short_vwap_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4163.09,
      "stop": 4165.389,
      "target": 4158.493,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 21.18,
        "bb_width_pct": 0.133
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T23-40-00Z_short_vwap_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4161.995,
      "stop": 4163.706,
      "target": 4158.572,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 21.42,
        "bb_width_pct": 0.151
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T23-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4161.995,
      "stop": 4160.823,
      "target": 4164.34,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.42,
        "bb_width_pct": 0.151
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T23-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4163.455,
      "stop": 4162.608,
      "target": 4165.149,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.71,
        "bb_width_pct": 0.155
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T23-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4163.455,
      "stop": 4163.055,
      "target": 4164.256,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.71,
        "bb_width_pct": 0.155
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T23-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T23:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4161.91,
      "stop": 4160.395,
      "target": 4164.939,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.17,
        "bb_width_pct": 0.168
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-06T23-50-00Z_short_vwap_mean_reversion",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T23:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4161.91,
      "stop": 4163.493,
      "target": 4158.743,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.17,
        "bb_width_pct": 0.168
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T00-05-00Z_long_rsi_range_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T00:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4156.69,
      "stop": 4153.276,
      "target": 4163.517,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.07,
        "bb_width_pct": 0.311
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T00-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T00:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4156.69,
      "stop": 4154.194,
      "target": 4161.682,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 25.07,
        "bb_width_pct": 0.311
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T00-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T00:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4156.09,
      "stop": 4152.686,
      "target": 4162.899,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.0,
        "bb_width_pct": 0.328
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T00-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T00:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4157.215,
      "stop": 4154.629,
      "target": 4162.387,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.61,
        "bb_width_pct": 0.332
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T00-15-00Z_long_rsi_range_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T00:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4157.215,
      "stop": 4154.629,
      "target": 4162.387,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.61,
        "bb_width_pct": 0.332
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T00-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T00:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4157.215,
      "stop": 4155.493,
      "target": 4160.66,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 20.61,
        "bb_width_pct": 0.332
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T00-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T00:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4157.215,
      "stop": 4155.237,
      "target": 4161.172,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.61,
        "bb_width_pct": 0.332
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T00-20-00Z_long_rsi_range_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T00:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4158.885,
      "stop": 4157.343,
      "target": 4161.969,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.16,
        "bb_width_pct": 0.322
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T00-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T00:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4158.885,
      "stop": 4157.851,
      "target": 4160.954,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.16,
        "bb_width_pct": 0.322
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T00-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T00:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4151.01,
      "stop": 4146.923,
      "target": 4159.184,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.02,
        "bb_width_pct": 0.453
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T00-45-00Z_long_rsi_range_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T00:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4151.01,
      "stop": 4146.923,
      "target": 4159.184,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.02,
        "bb_width_pct": 0.453
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T00-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T00:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4151.01,
      "stop": 4147.228,
      "target": 4158.575,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 19.02,
        "bb_width_pct": 0.453
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T00-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T00:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4153.06,
      "stop": 4150.866,
      "target": 4157.448,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.86,
        "bb_width_pct": 0.447
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T01-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4147.655,
      "stop": 4143.066,
      "target": 4156.833,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.1,
        "bb_width_pct": 0.519
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T01-00-00Z_long_rsi_range_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4147.655,
      "stop": 4143.066,
      "target": 4156.833,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.1,
        "bb_width_pct": 0.519
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T01-00-00Z_long_vwap_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4147.655,
      "stop": 4144.53,
      "target": 4153.906,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.1,
        "bb_width_pct": 0.519
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T01-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4147.655,
      "stop": 4143.021,
      "target": 4156.922,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.1,
        "bb_width_pct": 0.519
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T01-10-00Z_long_rsi_range_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T01:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4141.63,
      "stop": 4135.149,
      "target": 4154.593,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.13,
        "bb_width_pct": 0.624
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T01-10-00Z_long_vwap_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T01:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4141.63,
      "stop": 4136.294,
      "target": 4152.302,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.13,
        "bb_width_pct": 0.624
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T01-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T01:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4141.63,
      "stop": 4135.484,
      "target": 4153.922,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 20.13,
        "bb_width_pct": 0.624
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T01-30-00Z_long_rsi_range_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4139.185,
      "stop": 4134.202,
      "target": 4149.15,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.7,
        "bb_width_pct": 0.831
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T01-30-00Z_long_vwap_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4139.185,
      "stop": 4134.43,
      "target": 4148.694,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.7,
        "bb_width_pct": 0.831
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T01-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4139.185,
      "stop": 4135.156,
      "target": 4147.244,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.7,
        "bb_width_pct": 0.831
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T02-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4135.585,
      "stop": 4132.355,
      "target": 4142.046,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.25,
        "bb_width_pct": 0.316
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T02-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T02:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4133.865,
      "stop": 4131.009,
      "target": 4139.577,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.14,
        "bb_width_pct": 0.338
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T02-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T02:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4136.815,
      "stop": 4135.421,
      "target": 4139.602,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.12,
        "bb_width_pct": 0.336
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T02-55-00Z_long_vwap_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T02:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4136.815,
      "stop": 4132.844,
      "target": 4144.757,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.12,
        "bb_width_pct": 0.336
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T02-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T02:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4136.815,
      "stop": 4134.801,
      "target": 4140.843,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.12,
        "bb_width_pct": 0.336
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T03-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T03:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4132.45,
      "stop": 4129.135,
      "target": 4139.079,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.8,
        "bb_width_pct": 0.321
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T03-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4132.28,
      "stop": 4128.998,
      "target": 4138.844,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.88,
        "bb_width_pct": 0.335
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T03-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4132.28,
      "stop": 4129.204,
      "target": 4138.431,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.88,
        "bb_width_pct": 0.335
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T03-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4134.0,
      "stop": 4131.833,
      "target": 4138.333,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.43,
        "bb_width_pct": 0.327
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T03-30-00Z_long_vwap_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4134.0,
      "stop": 4129.366,
      "target": 4143.267,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.43,
        "bb_width_pct": 0.327
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T03-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4134.0,
      "stop": 4128.887,
      "target": 4144.225,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.43,
        "bb_width_pct": 0.327
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T03-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4134.0,
      "stop": 4131.995,
      "target": 4138.009,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.43,
        "bb_width_pct": 0.327
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T03-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T03:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4129.825,
      "stop": 4126.082,
      "target": 4137.311,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.03,
        "bb_width_pct": 0.37
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T03-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T03:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4128.03,
      "stop": 4124.054,
      "target": 4135.981,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.56,
        "bb_width_pct": 0.45
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T03-50-00Z_long_rsi_range_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T03:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4128.03,
      "stop": 4124.054,
      "target": 4135.981,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.56,
        "bb_width_pct": 0.45
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T03-50-00Z_long_vwap_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T03:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4128.03,
      "stop": 4120.999,
      "target": 4142.092,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.56,
        "bb_width_pct": 0.45
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T03-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T03:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4128.03,
      "stop": 4121.549,
      "target": 4140.993,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.56,
        "bb_width_pct": 0.45
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T03-55-00Z_long_vwap_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T03:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4131.3,
      "stop": 4126.03,
      "target": 4141.839,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.3,
        "bb_width_pct": 0.44
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T03-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T03:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4131.3,
      "stop": 4127.334,
      "target": 4139.233,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.3,
        "bb_width_pct": 0.44
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T03-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T03:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4131.3,
      "stop": 4129.607,
      "target": 4134.686,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.3,
        "bb_width_pct": 0.44
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T04-00-00Z_long_vwap_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T04:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4133.115,
      "stop": 4128.847,
      "target": 4141.652,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.42,
        "bb_width_pct": 0.403
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T04-20-00Z_long_vwap_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4133.445,
      "stop": 4129.568,
      "target": 4141.199,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.05,
        "bb_width_pct": 0.338
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T04-45-00Z_long_vwap_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4129.45,
      "stop": 4124.022,
      "target": 4140.306,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.64,
        "bb_width_pct": 0.305
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T04-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T04:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4126.835,
      "stop": 4124.24,
      "target": 4132.024,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.31,
        "bb_width_pct": 0.305
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T05-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4128.58,
      "stop": 4127.221,
      "target": 4131.299,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.92,
        "bb_width_pct": 0.31
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T05-00-00Z_long_vwap_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4128.58,
      "stop": 4123.032,
      "target": 4139.675,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.92,
        "bb_width_pct": 0.31
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T05-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4128.58,
      "stop": 4125.177,
      "target": 4135.385,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.92,
        "bb_width_pct": 0.31
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T05-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4128.58,
      "stop": 4127.022,
      "target": 4131.696,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.92,
        "bb_width_pct": 0.31
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T05-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4126.36,
      "stop": 4123.946,
      "target": 4131.188,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.91,
        "bb_width_pct": 0.326
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T05-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4122.295,
      "stop": 4118.487,
      "target": 4129.911,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.55,
        "bb_width_pct": 0.398
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T05-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4126.64,
      "stop": 4125.084,
      "target": 4129.752,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.72,
        "bb_width_pct": 0.404
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T05-20-00Z_long_rsi_range_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4126.64,
      "stop": 4125.084,
      "target": 4129.752,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.72,
        "bb_width_pct": 0.404
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T05-20-00Z_long_vwap_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4126.64,
      "stop": 4120.575,
      "target": 4138.771,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.72,
        "bb_width_pct": 0.404
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T05-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4126.64,
      "stop": 4123.219,
      "target": 4133.483,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.72,
        "bb_width_pct": 0.404
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T05-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4126.64,
      "stop": 4125.302,
      "target": 4129.315,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.72,
        "bb_width_pct": 0.404
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T05-25-00Z_long_vwap_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4128.52,
      "stop": 4123.479,
      "target": 4138.601,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.3,
        "bb_width_pct": 0.398
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T05-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4122.955,
      "stop": 4119.63,
      "target": 4129.606,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.39,
        "bb_width_pct": 0.423
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T05-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4122.955,
      "stop": 4120.112,
      "target": 4128.641,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.39,
        "bb_width_pct": 0.423
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T05-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4122.79,
      "stop": 4119.918,
      "target": 4128.534,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.29,
        "bb_width_pct": 0.474
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T05-40-00Z_long_vwap_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4122.79,
      "stop": 4115.238,
      "target": 4137.895,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.29,
        "bb_width_pct": 0.474
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T05-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4122.79,
      "stop": 4117.934,
      "target": 4132.503,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.29,
        "bb_width_pct": 0.474
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T05-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4122.79,
      "stop": 4120.507,
      "target": 4127.356,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.29,
        "bb_width_pct": 0.474
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T05-50-00Z_long_vwap_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4125.415,
      "stop": 4119.381,
      "target": 4137.482,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.89,
        "bb_width_pct": 0.374
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T06-00-00Z_long_vwap_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4126.72,
      "stop": 4121.498,
      "target": 4137.164,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.16,
        "bb_width_pct": 0.325
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T06-10-00Z_long_vwap_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T06:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4123.595,
      "stop": 4116.987,
      "target": 4136.812,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.75,
        "bb_width_pct": 0.284
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T06-15-00Z_long_vwap_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T06:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4123.975,
      "stop": 4117.637,
      "target": 4136.65,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.03,
        "bb_width_pct": 0.26
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T06-20-00Z_long_vwap_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T06:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4128.26,
      "stop": 4124.129,
      "target": 4136.523,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.65,
        "bb_width_pct": 0.255
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T06-30-00Z_long_vwap_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4128.09,
      "stop": 4123.986,
      "target": 4136.297,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.64,
        "bb_width_pct": 0.239
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T06-35-00Z_long_vwap_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4128.25,
      "stop": 4124.277,
      "target": 4136.196,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.04,
        "bb_width_pct": 0.246
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T06-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T06:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4129.82,
      "stop": 4132.018,
      "target": 4125.424,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.93,
        "bb_width_pct": 0.299
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T06-55-00Z_long_vwap_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T06:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4130.54,
      "stop": 4127.849,
      "target": 4135.923,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.5,
        "bb_width_pct": 0.309
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T07-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T07:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4127.19,
      "stop": 4128.352,
      "target": 4124.865,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.16,
        "bb_width_pct": 0.203
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T08-15-00Z_short_vwap_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T08:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4135.515,
      "stop": 4138.725,
      "target": 4129.094,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 9.69,
        "bb_width_pct": 0.279
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T08-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T08:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4135.515,
      "stop": 4139.249,
      "target": 4128.048,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.69,
        "bb_width_pct": 0.279
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T08-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T08:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4135.515,
      "stop": 4138.535,
      "target": 4129.475,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.69,
        "bb_width_pct": 0.279
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T08-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T08:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4136.235,
      "stop": 4139.293,
      "target": 4130.119,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.66,
        "bb_width_pct": 0.309
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T08-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4134.62,
      "stop": 4136.804,
      "target": 4130.252,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.38,
        "bb_width_pct": 0.376
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T08-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4134.62,
      "stop": 4137.906,
      "target": 4128.048,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.38,
        "bb_width_pct": 0.376
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T08-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4134.62,
      "stop": 4136.29,
      "target": 4131.279,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.38,
        "bb_width_pct": 0.376
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T08-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T08:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4124.125,
      "stop": 4121.028,
      "target": 4130.32,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.56,
        "bb_width_pct": 0.391
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T08-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T08:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4124.125,
      "stop": 4121.0,
      "target": 4130.376,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.56,
        "bb_width_pct": 0.391
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T08-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T08:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4126.08,
      "stop": 4124.137,
      "target": 4129.967,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.36,
        "bb_width_pct": 0.401
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T09-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T09:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4121.66,
      "stop": 4117.635,
      "target": 4129.709,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.51,
        "bb_width_pct": 0.437
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T09-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4127.595,
      "stop": 4126.591,
      "target": 4129.603,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 17.02,
        "bb_width_pct": 0.436
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T10-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T10:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4132.55,
      "stop": 4134.336,
      "target": 4128.977,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.74,
        "bb_width_pct": 0.296
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T10-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T10:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4137.48,
      "stop": 4141.24,
      "target": 4129.96,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.15,
        "bb_width_pct": 0.403
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T10-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T10:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4137.48,
      "stop": 4140.276,
      "target": 4131.888,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.15,
        "bb_width_pct": 0.403
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T10-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T10:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4135.59,
      "stop": 4138.584,
      "target": 4129.603,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 23.23,
        "bb_width_pct": 0.398
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T10-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T10:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4135.575,
      "stop": 4138.561,
      "target": 4129.603,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.74,
        "bb_width_pct": 0.408
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T11-25-00Z_short_vwap_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T11:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4143.145,
      "stop": 4146.713,
      "target": 4136.01,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.35,
        "bb_width_pct": 0.349
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T11-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T11:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4143.145,
      "stop": 4148.684,
      "target": 4132.068,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.35,
        "bb_width_pct": 0.349
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T11-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T11:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4143.375,
      "stop": 4146.924,
      "target": 4136.278,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.53,
        "bb_width_pct": 0.365
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T12-45-00Z_short_rsi_range_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T12:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4165.56,
      "stop": 4170.333,
      "target": 4156.014,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 19.41,
        "bb_width_pct": 1.106
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T12-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T12:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4165.56,
      "stop": 4174.159,
      "target": 4148.363,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 19.41,
        "bb_width_pct": 1.106
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T12-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T12:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4165.56,
      "stop": 4169.628,
      "target": 4157.424,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.41,
        "bb_width_pct": 1.106
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T12-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T12:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4167.195,
      "stop": 4171.615,
      "target": 4158.354,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.36,
        "bb_width_pct": 1.006
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T13-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4165.775,
      "stop": 4173.615,
      "target": 4150.095,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.77,
        "bb_width_pct": 0.93
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T13-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4165.775,
      "stop": 4168.527,
      "target": 4160.271,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.77,
        "bb_width_pct": 0.93
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T13-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T13:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4168.785,
      "stop": 4175.773,
      "target": 4154.81,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.95,
        "bb_width_pct": 0.682
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T13-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T13:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4166.065,
      "stop": 4171.534,
      "target": 4155.128,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.15,
        "bb_width_pct": 0.591
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T13-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T13:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4166.065,
      "stop": 4167.791,
      "target": 4162.614,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.15,
        "bb_width_pct": 0.591
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T13-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4170.645,
      "stop": 4172.349,
      "target": 4167.238,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.91,
        "bb_width_pct": 0.321
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T13-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4170.645,
      "stop": 4173.83,
      "target": 4164.276,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.91,
        "bb_width_pct": 0.321
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T13-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4173.195,
      "stop": 4175.621,
      "target": 4168.343,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.31,
        "bb_width_pct": 0.355
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T13-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4173.195,
      "stop": 4181.702,
      "target": 4156.18,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.31,
        "bb_width_pct": 0.355
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T13-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4173.195,
      "stop": 4176.654,
      "target": 4166.277,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.31,
        "bb_width_pct": 0.355
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T13-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T13:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4165.96,
      "stop": 4170.85,
      "target": 4156.18,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.36,
        "bb_width_pct": 0.34
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T14-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T14:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4155.97,
      "stop": 4150.709,
      "target": 4166.491,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.88,
        "bb_width_pct": 0.522
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T14-05-00Z_long_vwap_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T14:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4155.97,
      "stop": 4150.521,
      "target": 4166.868,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.88,
        "bb_width_pct": 0.522
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T14-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T14:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4158.825,
      "stop": 4155.466,
      "target": 4165.542,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.61,
        "bb_width_pct": 0.616
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T14-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T14:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4152.405,
      "stop": 4147.666,
      "target": 4161.883,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.12,
        "bb_width_pct": 0.79
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T14-40-00Z_long_vwap_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T14:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4152.405,
      "stop": 4146.601,
      "target": 4164.014,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.12,
        "bb_width_pct": 0.79
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T14-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T14:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4152.405,
      "stop": 4148.576,
      "target": 4160.062,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.12,
        "bb_width_pct": 0.79
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T14-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T14:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4152.405,
      "stop": 4149.365,
      "target": 4158.486,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.12,
        "bb_width_pct": 0.79
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T14-55-00Z_long_vwap_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T14:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4154.32,
      "stop": 4149.84,
      "target": 4163.28,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.59,
        "bb_width_pct": 0.77
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T15-05-00Z_long_vwap_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T15:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4153.315,
      "stop": 4148.615,
      "target": 4162.715,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.73,
        "bb_width_pct": 0.767
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T15-20-00Z_long_vwap_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T15:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4145.525,
      "stop": 4137.496,
      "target": 4161.583,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.74,
        "bb_width_pct": 0.608
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T15-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T15:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4145.525,
      "stop": 4137.652,
      "target": 4161.27,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.74,
        "bb_width_pct": 0.608
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T15-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T15:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4145.525,
      "stop": 4141.297,
      "target": 4153.98,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.74,
        "bb_width_pct": 0.608
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T15-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T15:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4143.22,
      "stop": 4138.239,
      "target": 4153.181,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.41,
        "bb_width_pct": 0.501
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T15-30-00Z_long_vwap_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T15:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4143.905,
      "stop": 4135.472,
      "target": 4160.772,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.5,
        "bb_width_pct": 0.451
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T15-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T15:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4143.905,
      "stop": 4135.259,
      "target": 4161.198,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 18.5,
        "bb_width_pct": 0.451
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T15-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T15:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4143.905,
      "stop": 4139.811,
      "target": 4152.093,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.5,
        "bb_width_pct": 0.451
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T15-35-00Z_long_vwap_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T15:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4145.765,
      "stop": 4138.443,
      "target": 4160.408,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.58,
        "bb_width_pct": 0.445
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T15-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T15:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4145.765,
      "stop": 4138.049,
      "target": 4161.198,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.58,
        "bb_width_pct": 0.445
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T15-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T15:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4145.765,
      "stop": 4142.902,
      "target": 4151.491,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.58,
        "bb_width_pct": 0.445
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T15-40-00Z_long_vwap_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T15:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4146.775,
      "stop": 4140.113,
      "target": 4160.099,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.15,
        "bb_width_pct": 0.448
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T15-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T15:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4146.775,
      "stop": 4139.564,
      "target": 4161.198,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.15,
        "bb_width_pct": 0.448
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T15-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T15:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4139.055,
      "stop": 4134.273,
      "target": 4148.62,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.74,
        "bb_width_pct": 0.538
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T15-55-00Z_long_rsi_range_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T15:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4139.055,
      "stop": 4134.273,
      "target": 4148.62,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.74,
        "bb_width_pct": 0.538
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T15-55-00Z_long_vwap_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T15:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4139.055,
      "stop": 4129.142,
      "target": 4158.882,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.74,
        "bb_width_pct": 0.538
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T15-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T15:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4139.055,
      "stop": 4129.024,
      "target": 4159.118,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 22.74,
        "bb_width_pct": 0.538
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T16-00-00Z_long_rsi_range_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4139.83,
      "stop": 4135.751,
      "target": 4147.989,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.76,
        "bb_width_pct": 0.562
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T16-00-00Z_long_vwap_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4139.83,
      "stop": 4130.504,
      "target": 4158.482,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.76,
        "bb_width_pct": 0.562
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T16-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4139.83,
      "stop": 4130.629,
      "target": 4158.233,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 21.76,
        "bb_width_pct": 0.562
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T16-05-00Z_long_rsi_range_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T16:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4140.465,
      "stop": 4137.148,
      "target": 4147.1,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.65,
        "bb_width_pct": 0.535
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T16-05-00Z_long_vwap_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T16:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4140.465,
      "stop": 4131.629,
      "target": 4158.136,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.65,
        "bb_width_pct": 0.535
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T16-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T16:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4140.465,
      "stop": 4131.581,
      "target": 4158.233,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 16.65,
        "bb_width_pct": 0.535
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T16-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T16:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4140.465,
      "stop": 4137.378,
      "target": 4146.639,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.65,
        "bb_width_pct": 0.535
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T16-10-00Z_long_rsi_range_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T16:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4141.28,
      "stop": 4138.623,
      "target": 4146.595,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.17,
        "bb_width_pct": 0.539
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T16-10-00Z_long_vwap_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T16:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4141.28,
      "stop": 4133.019,
      "target": 4157.803,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.17,
        "bb_width_pct": 0.539
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T16-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T16:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4141.28,
      "stop": 4132.804,
      "target": 4158.233,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 18.17,
        "bb_width_pct": 0.539
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T16-15-00Z_long_vwap_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T16:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4144.29,
      "stop": 4137.673,
      "target": 4157.524,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.09,
        "bb_width_pct": 0.537
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T16-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T16:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4144.29,
      "stop": 4137.319,
      "target": 4158.233,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.09,
        "bb_width_pct": 0.537
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T16-20-00Z_long_vwap_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T16:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4144.66,
      "stop": 4138.351,
      "target": 4157.279,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.38,
        "bb_width_pct": 0.52
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T16-25-00Z_long_vwap_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T16:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4146.04,
      "stop": 4140.527,
      "target": 4157.065,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.91,
        "bb_width_pct": 0.464
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T16-35-00Z_long_vwap_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4144.485,
      "stop": 4138.424,
      "target": 4156.607,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.06,
        "bb_width_pct": 0.367
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T16-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4144.485,
      "stop": 4137.611,
      "target": 4158.233,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.06,
        "bb_width_pct": 0.367
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T16-45-00Z_long_vwap_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4144.88,
      "stop": 4139.238,
      "target": 4156.163,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.52,
        "bb_width_pct": 0.257
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T16-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4144.88,
      "stop": 4138.204,
      "target": 4158.233,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 3.52,
        "bb_width_pct": 0.257
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T16-55-00Z_long_vwap_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4145.235,
      "stop": 4139.958,
      "target": 4155.788,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.11,
        "bb_width_pct": 0.231
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T17-05-00Z_short_rsi_range_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T17:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4145.84,
      "stop": 4147.006,
      "target": 4143.508,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 14.09,
        "bb_width_pct": 0.24
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T17-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T17:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4146.23,
      "stop": 4147.401,
      "target": 4143.888,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.48,
        "bb_width_pct": 0.207
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T18-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T18:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4142.52,
      "stop": 4141.328,
      "target": 4144.904,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.62,
        "bb_width_pct": 0.125
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T18-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T18:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4141.86,
      "stop": 4140.442,
      "target": 4144.695,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.52,
        "bb_width_pct": 0.137
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T18-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T18:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4142.46,
      "stop": 4141.367,
      "target": 4144.647,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.74,
        "bb_width_pct": 0.143
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T18-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T18:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4141.855,
      "stop": 4140.525,
      "target": 4144.516,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.8,
        "bb_width_pct": 0.155
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T18-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T18:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4141.855,
      "stop": 4140.663,
      "target": 4144.24,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.8,
        "bb_width_pct": 0.155
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T18-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T18:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4143.09,
      "stop": 4142.385,
      "target": 4144.5,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.24,
        "bb_width_pct": 0.156
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T18-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T18:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4141.46,
      "stop": 4140.247,
      "target": 4143.887,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.8,
        "bb_width_pct": 0.204
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T18-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T18:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4141.46,
      "stop": 4140.557,
      "target": 4143.267,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.8,
        "bb_width_pct": 0.204
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T20-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T20:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4108.615,
      "stop": 4104.795,
      "target": 4116.255,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.62,
        "bb_width_pct": 0.837
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T20-25-00Z_long_vwap_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T20:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4110.9,
      "stop": 4102.046,
      "target": 4128.608,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.83,
        "bb_width_pct": 0.686
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T20-40-00Z_long_vwap_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4105.995,
      "stop": 4095.418,
      "target": 4127.15,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.2,
        "bb_width_pct": 0.44
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T20-55-00Z_long_vwap_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T20:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4106.12,
      "stop": 4096.282,
      "target": 4125.796,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.83,
        "bb_width_pct": 0.396
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T22-00-00Z_long_rsi_range_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T22:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4105.12,
      "stop": 4102.936,
      "target": 4109.488,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.58,
        "bb_width_pct": 0.37
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T22-00-00Z_long_vwap_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T22:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4105.12,
      "stop": 4088.802,
      "target": 4137.756,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.58,
        "bb_width_pct": 0.37
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T22-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T22:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4104.08,
      "stop": 4101.659,
      "target": 4108.921,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.04,
        "bb_width_pct": 0.4
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T22-10-00Z_long_rsi_range_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T22:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4104.08,
      "stop": 4101.659,
      "target": 4108.921,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.04,
        "bb_width_pct": 0.4
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T22-10-00Z_long_vwap_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T22:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4104.08,
      "stop": 4088.536,
      "target": 4135.168,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.04,
        "bb_width_pct": 0.4
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T22-35-00Z_long_vwap_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T22:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4102.505,
      "stop": 4088.806,
      "target": 4129.903,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.86,
        "bb_width_pct": 0.427
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T22-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T22:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4102.505,
      "stop": 4094.599,
      "target": 4118.318,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 11.86,
        "bb_width_pct": 0.427
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T22-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T22:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4102.505,
      "stop": 4100.683,
      "target": 4106.149,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.86,
        "bb_width_pct": 0.427
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T22-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T22:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4097.895,
      "stop": 4094.895,
      "target": 4103.896,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.34,
        "bb_width_pct": 0.346
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T22-50-00Z_long_rsi_range_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T22:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4097.895,
      "stop": 4094.895,
      "target": 4103.896,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.34,
        "bb_width_pct": 0.346
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T22-50-00Z_long_vwap_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T22:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4097.895,
      "stop": 4083.203,
      "target": 4127.279,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.34,
        "bb_width_pct": 0.346
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T22-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T22:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4097.895,
      "stop": 4088.079,
      "target": 4117.528,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 18.34,
        "bb_width_pct": 0.346
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T22-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T22:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4098.375,
      "stop": 4095.885,
      "target": 4103.356,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.01,
        "bb_width_pct": 0.344
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T22-55-00Z_long_vwap_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T22:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4098.375,
      "stop": 4084.33,
      "target": 4126.465,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.01,
        "bb_width_pct": 0.344
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T22-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T22:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4098.375,
      "stop": 4088.799,
      "target": 4117.528,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 16.01,
        "bb_width_pct": 0.344
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T23-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4101.66,
      "stop": 4100.986,
      "target": 4103.008,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.82,
        "bb_width_pct": 0.325
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T23-00-00Z_long_vwap_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4101.66,
      "stop": 4089.617,
      "target": 4125.746,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.82,
        "bb_width_pct": 0.325
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T23-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4101.66,
      "stop": 4093.726,
      "target": 4117.528,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.82,
        "bb_width_pct": 0.325
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T23-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4101.66,
      "stop": 4100.744,
      "target": 4103.492,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.82,
        "bb_width_pct": 0.325
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T23-05-00Z_long_vwap_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4105.775,
      "stop": 4096.067,
      "target": 4125.191,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.35,
        "bb_width_pct": 0.281
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T23-10-00Z_long_vwap_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4105.775,
      "stop": 4096.313,
      "target": 4124.7,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.91,
        "bb_width_pct": 0.272
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T23-20-00Z_long_vwap_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T23:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4103.885,
      "stop": 4094.004,
      "target": 4123.648,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.2,
        "bb_width_pct": 0.258
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T23-25-00Z_long_vwap_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T23:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4105.06,
      "stop": 4095.989,
      "target": 4123.203,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.74,
        "bb_width_pct": 0.257
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T23-35-00Z_long_vwap_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4102.31,
      "stop": 4092.341,
      "target": 4122.248,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.52,
        "bb_width_pct": 0.235
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T23-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4098.32,
      "stop": 4096.689,
      "target": 4101.581,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.6,
        "bb_width_pct": 0.247
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T23-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4098.32,
      "stop": 4096.184,
      "target": 4102.591,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.6,
        "bb_width_pct": 0.247
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T23-50-00Z_long_vwap_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T23:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4098.35,
      "stop": 4087.139,
      "target": 4120.771,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.9,
        "bb_width_pct": 0.249
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T23-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T23:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4098.35,
      "stop": 4094.136,
      "target": 4106.778,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.9,
        "bb_width_pct": 0.249
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T23-55-00Z_long_vwap_mean_reversion",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T23:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4098.775,
      "stop": 4088.014,
      "target": 4120.297,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.5,
        "bb_width_pct": 0.252
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-07T23-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T23:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4098.775,
      "stop": 4094.774,
      "target": 4106.778,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.5,
        "bb_width_pct": 0.252
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T00-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4102.57,
      "stop": 4100.466,
      "target": 4106.778,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.05,
        "bb_width_pct": 0.252
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T00-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T00:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4100.365,
      "stop": 4097.159,
      "target": 4106.778,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.9,
        "bb_width_pct": 0.25
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T00-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T00:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4105.605,
      "stop": 4107.496,
      "target": 4101.823,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.82,
        "bb_width_pct": 0.275
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T00-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T00:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4115.385,
      "stop": 4120.077,
      "target": 4106.001,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.53,
        "bb_width_pct": 0.785
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T00-50-00Z_short_rsi_range_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T00:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4115.385,
      "stop": 4120.077,
      "target": 4106.001,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 21.53,
        "bb_width_pct": 0.785
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T00-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T00:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4115.385,
      "stop": 4117.438,
      "target": 4111.28,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 21.53,
        "bb_width_pct": 0.785
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T00-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T00:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4115.385,
      "stop": 4118.617,
      "target": 4108.92,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.53,
        "bb_width_pct": 0.785
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T00-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T00:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4111.74,
      "stop": 4113.016,
      "target": 4109.189,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.11,
        "bb_width_pct": 0.79
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T01-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T01:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4100.275,
      "stop": 4094.772,
      "target": 4111.28,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.86,
        "bb_width_pct": 0.722
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T01-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T01:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4103.49,
      "stop": 4099.595,
      "target": 4111.28,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 18.2,
        "bb_width_pct": 0.719
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T02-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T02:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4120.305,
      "stop": 4125.682,
      "target": 4109.551,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.85,
        "bb_width_pct": 0.592
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T02-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T02:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4120.305,
      "stop": 4125.372,
      "target": 4110.171,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.85,
        "bb_width_pct": 0.592
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T02-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T02:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4119.03,
      "stop": 4123.834,
      "target": 4109.422,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.51,
        "bb_width_pct": 0.57
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T02-25-00Z_short_vwap_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T02:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4119.03,
      "stop": 4123.86,
      "target": 4109.371,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.51,
        "bb_width_pct": 0.57
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T02-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T02:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4119.03,
      "stop": 4122.824,
      "target": 4111.442,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.51,
        "bb_width_pct": 0.57
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T02-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T02:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4119.03,
      "stop": 4123.038,
      "target": 4111.015,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.51,
        "bb_width_pct": 0.57
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T02-40-00Z_short_rsi_range_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T02:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4120.26,
      "stop": 4125.075,
      "target": 4110.631,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 23.34,
        "bb_width_pct": 0.669
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T02-40-00Z_short_vwap_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T02:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4120.26,
      "stop": 4125.252,
      "target": 4110.275,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 23.34,
        "bb_width_pct": 0.669
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T02-45-00Z_short_rsi_range_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4116.82,
      "stop": 4119.596,
      "target": 4111.269,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 15.42,
        "bb_width_pct": 0.664
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T03-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4125.795,
      "stop": 4132.179,
      "target": 4113.027,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.79,
        "bb_width_pct": 0.711
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T03-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T03:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4127.345,
      "stop": 4133.888,
      "target": 4114.259,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.16,
        "bb_width_pct": 0.733
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T03-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T03:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4128.24,
      "stop": 4134.481,
      "target": 4115.759,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.54,
        "bb_width_pct": 0.698
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T03-15-00Z_short_vwap_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4126.87,
      "stop": 4134.141,
      "target": 4112.328,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 18.39,
        "bb_width_pct": 0.644
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T03-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4126.87,
      "stop": 4133.46,
      "target": 4113.69,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.39,
        "bb_width_pct": 0.644
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T03-30-00Z_short_vwap_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4128.455,
      "stop": 4135.948,
      "target": 4113.47,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.18,
        "bb_width_pct": 0.614
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T03-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4128.455,
      "stop": 4135.829,
      "target": 4113.708,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.18,
        "bb_width_pct": 0.614
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T03-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4128.455,
      "stop": 4132.15,
      "target": 4121.064,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.18,
        "bb_width_pct": 0.614
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T03-35-00Z_short_vwap_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T03:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4126.72,
      "stop": 4133.19,
      "target": 4113.781,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.73,
        "bb_width_pct": 0.593
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T03-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T03:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4126.72,
      "stop": 4133.135,
      "target": 4113.89,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.73,
        "bb_width_pct": 0.593
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T03-40-00Z_short_vwap_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T03:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4126.61,
      "stop": 4132.883,
      "target": 4114.065,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 9.97,
        "bb_width_pct": 0.533
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T03-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T03:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4126.61,
      "stop": 4132.97,
      "target": 4113.89,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.97,
        "bb_width_pct": 0.533
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T03-50-00Z_short_vwap_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T03:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4126.95,
      "stop": 4133.101,
      "target": 4114.649,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.73,
        "bb_width_pct": 0.494
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T03-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T03:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4126.95,
      "stop": 4133.48,
      "target": 4113.89,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.73,
        "bb_width_pct": 0.494
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T03-55-00Z_short_vwap_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T03:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4123.55,
      "stop": 4127.898,
      "target": 4114.853,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.06,
        "bb_width_pct": 0.456
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T03-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T03:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4123.55,
      "stop": 4128.38,
      "target": 4113.89,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.06,
        "bb_width_pct": 0.456
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T04-00-00Z_short_vwap_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T04:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4122.925,
      "stop": 4126.876,
      "target": 4115.024,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.09,
        "bb_width_pct": 0.45
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T04-10-00Z_short_vwap_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T04:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4124.405,
      "stop": 4128.876,
      "target": 4115.463,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.18,
        "bb_width_pct": 0.434
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T04-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T04:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4124.405,
      "stop": 4129.662,
      "target": 4113.89,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.18,
        "bb_width_pct": 0.434
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T04-15-00Z_short_vwap_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T04:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4123.265,
      "stop": 4127.096,
      "target": 4115.603,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 9.41,
        "bb_width_pct": 0.424
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T04-25-00Z_short_vwap_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T04:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4125.96,
      "stop": 4130.953,
      "target": 4115.975,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.42,
        "bb_width_pct": 0.37
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T04-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T04:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4125.96,
      "stop": 4131.995,
      "target": 4113.89,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.42,
        "bb_width_pct": 0.37
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T04-35-00Z_short_vwap_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4125.5,
      "stop": 4130.079,
      "target": 4116.342,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.64,
        "bb_width_pct": 0.182
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T04-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4125.5,
      "stop": 4131.305,
      "target": 4113.89,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.64,
        "bb_width_pct": 0.182
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T04-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4125.32,
      "stop": 4124.735,
      "target": 4126.49,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.71,
        "bb_width_pct": 0.183
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T04-40-00Z_short_vwap_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4125.32,
      "stop": 4129.737,
      "target": 4116.485,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.71,
        "bb_width_pct": 0.183
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T04-45-00Z_short_vwap_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4124.995,
      "stop": 4129.171,
      "target": 4116.643,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.15,
        "bb_width_pct": 0.185
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T04-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4124.995,
      "stop": 4130.547,
      "target": 4113.89,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.15,
        "bb_width_pct": 0.185
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T04-50-00Z_short_vwap_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T04:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4124.175,
      "stop": 4127.871,
      "target": 4116.784,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.68,
        "bb_width_pct": 0.185
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T04-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T04:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4124.175,
      "stop": 4129.318,
      "target": 4113.89,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.68,
        "bb_width_pct": 0.185
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T05-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4128.305,
      "stop": 4129.457,
      "target": 4126.001,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.86,
        "bb_width_pct": 0.172
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T05-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4128.305,
      "stop": 4129.837,
      "target": 4125.242,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.86,
        "bb_width_pct": 0.172
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T05-10-00Z_short_vwap_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4125.98,
      "stop": 4130.246,
      "target": 4117.449,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.85,
        "bb_width_pct": 0.163
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T05-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4127.51,
      "stop": 4128.307,
      "target": 4125.916,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.01,
        "bb_width_pct": 0.165
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T05-20-00Z_short_vwap_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4124.66,
      "stop": 4128.129,
      "target": 4117.723,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.65,
        "bb_width_pct": 0.167
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T05-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4127.745,
      "stop": 4128.745,
      "target": 4125.745,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.89,
        "bb_width_pct": 0.178
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T05-35-00Z_short_vwap_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4127.745,
      "stop": 4132.578,
      "target": 4118.079,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.89,
        "bb_width_pct": 0.178
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T05-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4128.375,
      "stop": 4129.554,
      "target": 4126.017,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.96,
        "bb_width_pct": 0.175
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T05-45-00Z_short_vwap_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T05:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4125.465,
      "stop": 4129.017,
      "target": 4118.361,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.24,
        "bb_width_pct": 0.165
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T05-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T05:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4127.925,
      "stop": 4128.786,
      "target": 4126.203,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.35,
        "bb_width_pct": 0.156
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T06-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4125.86,
      "stop": 4125.751,
      "target": 4126.078,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.56,
        "bb_width_pct": 0.165
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T06-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T06:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4130.625,
      "stop": 4132.631,
      "target": 4126.613,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.17,
        "bb_width_pct": 0.221
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T06-15-00Z_short_vwap_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T06:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4130.625,
      "stop": 4136.399,
      "target": 4119.078,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.17,
        "bb_width_pct": 0.221
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T06-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T06:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4130.625,
      "stop": 4133.8,
      "target": 4124.275,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.17,
        "bb_width_pct": 0.221
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T06-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T06:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4129.7,
      "stop": 4130.95,
      "target": 4127.199,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.65,
        "bb_width_pct": 0.252
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T06-25-00Z_short_vwap_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T06:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4129.7,
      "stop": 4134.857,
      "target": 4119.387,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.65,
        "bb_width_pct": 0.252
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T06-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T06:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4129.7,
      "stop": 4130.9,
      "target": 4127.3,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.65,
        "bb_width_pct": 0.252
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T06-30-00Z_short_vwap_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4126.335,
      "stop": 4129.76,
      "target": 4119.485,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.66,
        "bb_width_pct": 0.243
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T06-45-00Z_short_vwap_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T06:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4125.08,
      "stop": 4127.755,
      "target": 4119.73,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.75,
        "bb_width_pct": 0.243
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T07-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T07:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4120.78,
      "stop": 4117.845,
      "target": 4126.649,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.39,
        "bb_width_pct": 0.294
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T07-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T07:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4120.78,
      "stop": 4118.399,
      "target": 4125.542,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.39,
        "bb_width_pct": 0.294
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T07-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T07:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4119.755,
      "stop": 4117.057,
      "target": 4125.151,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.62,
        "bb_width_pct": 0.412
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T07-20-00Z_long_rsi_range_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T07:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4119.755,
      "stop": 4117.057,
      "target": 4125.151,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.62,
        "bb_width_pct": 0.412
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T07-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T07:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4119.755,
      "stop": 4117.376,
      "target": 4124.512,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 21.62,
        "bb_width_pct": 0.412
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T07-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T07:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4119.755,
      "stop": 4117.826,
      "target": 4123.613,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.62,
        "bb_width_pct": 0.412
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T07-25-00Z_long_rsi_range_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T07:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4120.31,
      "stop": 4118.018,
      "target": 4124.894,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.03,
        "bb_width_pct": 0.424
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T07-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T07:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4120.31,
      "stop": 4118.243,
      "target": 4124.445,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 24.03,
        "bb_width_pct": 0.424
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T07-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T07:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4120.31,
      "stop": 4118.816,
      "target": 4123.299,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.03,
        "bb_width_pct": 0.424
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T08-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T08:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4119.56,
      "stop": 4117.118,
      "target": 4124.445,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.98,
        "bb_width_pct": 0.317
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T08-25-00Z_long_rsi_range_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T08:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4088.735,
      "stop": 4075.103,
      "target": 4115.999,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.1,
        "bb_width_pct": 1.185
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T08-25-00Z_long_vwap_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T08:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4088.735,
      "stop": 4075.279,
      "target": 4115.647,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.1,
        "bb_width_pct": 1.185
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T08-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T08:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4088.735,
      "stop": 4079.38,
      "target": 4107.445,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 26.1,
        "bb_width_pct": 1.185
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T10-00-00Z_long_rsi_range_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T10:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4047.375,
      "stop": 4041.637,
      "target": 4058.85,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.12,
        "bb_width_pct": 1.097
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T10-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T10:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4047.375,
      "stop": 4028.835,
      "target": 4084.455,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.12,
        "bb_width_pct": 1.097
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T10-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T10:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4044.995,
      "stop": 4025.531,
      "target": 4083.923,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.07,
        "bb_width_pct": 0.727
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T10-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T10:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4051.07,
      "stop": 4034.644,
      "target": 4083.923,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.57,
        "bb_width_pct": 0.673
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T10-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T10:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4051.07,
      "stop": 4047.519,
      "target": 4058.172,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.57,
        "bb_width_pct": 0.673
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T10-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T10:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4052.83,
      "stop": 4037.284,
      "target": 4083.923,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.21,
        "bb_width_pct": 0.617
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T10-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T10:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4055.03,
      "stop": 4040.584,
      "target": 4083.923,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.87,
        "bb_width_pct": 0.473
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T10-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T10:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4055.32,
      "stop": 4041.019,
      "target": 4083.923,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.62,
        "bb_width_pct": 0.465
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T10-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T10:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4057.28,
      "stop": 4043.959,
      "target": 4083.923,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.42,
        "bb_width_pct": 0.473
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T10-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T10:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4056.755,
      "stop": 4043.171,
      "target": 4083.923,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.16,
        "bb_width_pct": 0.483
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T11-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4054.23,
      "stop": 4039.39,
      "target": 4083.91,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 13.77,
        "bb_width_pct": 0.447
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T11-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T11:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4050.89,
      "stop": 4035.726,
      "target": 4081.217,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 11.5,
        "bb_width_pct": 0.417
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T11-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T11:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4052.53,
      "stop": 4038.31,
      "target": 4080.97,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.39,
        "bb_width_pct": 0.415
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T11-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T11:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4042.775,
      "stop": 4038.636,
      "target": 4051.054,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.02,
        "bb_width_pct": 0.42
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T11-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T11:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4064.7,
      "stop": 4063.846,
      "target": 4066.407,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.54,
        "bb_width_pct": 0.503
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T11-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T11:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4062.38,
      "stop": 4067.104,
      "target": 4052.932,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.31,
        "bb_width_pct": 0.5
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T11-45-00Z_short_vwap_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T11:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4062.38,
      "stop": 4067.566,
      "target": 4052.008,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.31,
        "bb_width_pct": 0.5
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T11-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T11:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4062.38,
      "stop": 4066.368,
      "target": 4054.405,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.31,
        "bb_width_pct": 0.5
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T11-55-00Z_short_vwap_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T11:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4062.335,
      "stop": 4067.072,
      "target": 4052.862,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.82,
        "bb_width_pct": 0.536
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T12-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T12:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4067.5,
      "stop": 4072.111,
      "target": 4058.277,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.76,
        "bb_width_pct": 0.861
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T12-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T12:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4067.5,
      "stop": 4071.63,
      "target": 4059.24,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.76,
        "bb_width_pct": 0.861
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T12-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T12:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4067.5,
      "stop": 4070.52,
      "target": 4061.46,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.76,
        "bb_width_pct": 0.861
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T12-35-00Z_short_rsi_range_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T12:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4073.255,
      "stop": 4079.443,
      "target": 4060.88,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 23.11,
        "bb_width_pct": 0.978
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T12-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T12:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4073.255,
      "stop": 4080.263,
      "target": 4059.24,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 23.11,
        "bb_width_pct": 0.978
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T12-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T12:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4072.325,
      "stop": 4076.732,
      "target": 4063.51,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.68,
        "bb_width_pct": 1.091
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T12-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T12:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4072.325,
      "stop": 4073.894,
      "target": 4069.188,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.68,
        "bb_width_pct": 1.091
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T13-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T13:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4074.285,
      "stop": 4079.672,
      "target": 4063.51,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.96,
        "bb_width_pct": 0.996
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T13-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T13:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4074.285,
      "stop": 4076.143,
      "target": 4070.569,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.96,
        "bb_width_pct": 0.996
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T13-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T13:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4073.305,
      "stop": 4077.959,
      "target": 4063.998,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.04,
        "bb_width_pct": 0.439
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T14-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4066.195,
      "stop": 4062.335,
      "target": 4073.916,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.07,
        "bb_width_pct": 0.46
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T14-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T14:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4063.855,
      "stop": 4059.004,
      "target": 4073.558,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.79,
        "bb_width_pct": 0.505
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T14-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T14:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4057.48,
      "stop": 4051.628,
      "target": 4069.184,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.94,
        "bb_width_pct": 0.611
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T14-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T14:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4059.825,
      "stop": 4054.281,
      "target": 4070.913,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.82,
        "bb_width_pct": 0.751
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T14-20-00Z_long_vwap_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T14:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4059.825,
      "stop": 4054.119,
      "target": 4071.238,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.82,
        "bb_width_pct": 0.751
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T14-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T14:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4059.825,
      "stop": 4056.214,
      "target": 4067.047,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.82,
        "bb_width_pct": 0.751
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T14-25-00Z_long_vwap_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T14:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4060.205,
      "stop": 4054.851,
      "target": 4070.913,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.96,
        "bb_width_pct": 0.737
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T14-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4055.215,
      "stop": 4048.638,
      "target": 4068.368,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.81,
        "bb_width_pct": 0.729
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T14-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4055.215,
      "stop": 4050.157,
      "target": 4065.33,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.81,
        "bb_width_pct": 0.729
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T15-40-00Z_long_vwap_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T15:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4032.98,
      "stop": 4019.632,
      "target": 4059.676,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.58,
        "bb_width_pct": 1.181
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T15-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T15:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4032.98,
      "stop": 4022.405,
      "target": 4054.13,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.58,
        "bb_width_pct": 1.181
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T15-45-00Z_long_vwap_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T15:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4034.17,
      "stop": 4021.708,
      "target": 4059.094,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.01,
        "bb_width_pct": 1.082
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T15-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T15:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4034.17,
      "stop": 4024.19,
      "target": 4054.13,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 2.01,
        "bb_width_pct": 1.082
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T15-50-00Z_long_vwap_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T15:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4034.675,
      "stop": 4022.714,
      "target": 4058.597,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.09,
        "bb_width_pct": 1.018
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T16-00-00Z_long_vwap_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4036.585,
      "stop": 4026.068,
      "target": 4057.62,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.75,
        "bb_width_pct": 0.829
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T16-05-00Z_long_vwap_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T16:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4039.495,
      "stop": 4030.621,
      "target": 4057.244,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.3,
        "bb_width_pct": 0.648
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T16-10-00Z_long_vwap_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T16:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4039.47,
      "stop": 4030.749,
      "target": 4056.912,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.59,
        "bb_width_pct": 0.491
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T16-15-00Z_long_vwap_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T16:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4041.005,
      "stop": 4033.213,
      "target": 4056.589,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.47,
        "bb_width_pct": 0.477
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T16-25-00Z_long_vwap_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T16:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4043.48,
      "stop": 4037.215,
      "target": 4056.009,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.08,
        "bb_width_pct": 0.512
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T16-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T16:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4042.125,
      "stop": 4045.352,
      "target": 4035.671,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.52,
        "bb_width_pct": 0.494
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T16-30-00Z_short_rsi_range_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T16:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4042.125,
      "stop": 4045.352,
      "target": 4035.671,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 14.52,
        "bb_width_pct": 0.494
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T16-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4045.175,
      "stop": 4049.821,
      "target": 4035.884,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 25.53,
        "bb_width_pct": 0.524
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T16-35-00Z_long_vwap_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4045.175,
      "stop": 4039.976,
      "target": 4055.572,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.53,
        "bb_width_pct": 0.524
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T17-45-00Z_short_rsi_range_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T17:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4068.06,
      "stop": 4072.775,
      "target": 4058.631,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 14.96,
        "bb_width_pct": 1.175
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T17-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T17:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4068.06,
      "stop": 4077.512,
      "target": 4049.155,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.96,
        "bb_width_pct": 1.175
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T17-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T17:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4068.06,
      "stop": 4071.682,
      "target": 4060.817,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.96,
        "bb_width_pct": 1.175
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T17-50-00Z_short_rsi_range_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T17:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4067.82,
      "stop": 4071.706,
      "target": 4060.048,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 14.62,
        "bb_width_pct": 1.106
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T17-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T17:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4067.82,
      "stop": 4077.153,
      "target": 4049.155,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.62,
        "bb_width_pct": 1.106
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T17-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T17:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4067.82,
      "stop": 4070.988,
      "target": 4061.484,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.62,
        "bb_width_pct": 1.106
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T18-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T18:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4069.165,
      "stop": 4072.465,
      "target": 4062.564,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.62,
        "bb_width_pct": 0.895
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T18-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T18:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4067.94,
      "stop": 4077.333,
      "target": 4049.155,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.66,
        "bb_width_pct": 0.786
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T18-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T18:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4067.94,
      "stop": 4070.372,
      "target": 4063.076,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.66,
        "bb_width_pct": 0.786
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T18-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T18:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4071.87,
      "stop": 4083.227,
      "target": 4049.155,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.41,
        "bb_width_pct": 0.466
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T18-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T18:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4071.87,
      "stop": 4075.323,
      "target": 4064.963,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.41,
        "bb_width_pct": 0.466
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T18-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T18:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4069.55,
      "stop": 4079.748,
      "target": 4049.155,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.48,
        "bb_width_pct": 0.406
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T18-50-00Z_short_vwap_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T18:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4085.945,
      "stop": 4093.375,
      "target": 4071.086,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 21.35,
        "bb_width_pct": 0.617
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T18-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T18:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4085.945,
      "stop": 4099.908,
      "target": 4058.02,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 21.35,
        "bb_width_pct": 0.617
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T18-55-00Z_short_vwap_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T18:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4084.285,
      "stop": 4090.612,
      "target": 4071.632,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 19.58,
        "bb_width_pct": 0.651
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T18-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T18:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4084.285,
      "stop": 4096.256,
      "target": 4060.342,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 19.58,
        "bb_width_pct": 0.651
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T19-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T19:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4087.23,
      "stop": 4093.744,
      "target": 4074.202,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 24.76,
        "bb_width_pct": 0.708
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T19-10-00Z_short_rsi_range_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T19:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4087.54,
      "stop": 4093.423,
      "target": 4075.773,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 24.16,
        "bb_width_pct": 0.819
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T19-10-00Z_short_vwap_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T19:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4087.54,
      "stop": 4094.584,
      "target": 4073.452,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 24.16,
        "bb_width_pct": 0.819
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T19-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T19:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4087.54,
      "stop": 4100.676,
      "target": 4061.267,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 24.16,
        "bb_width_pct": 0.819
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T19-15-00Z_short_rsi_range_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T19:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4086.765,
      "stop": 4091.863,
      "target": 4076.569,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 14.37,
        "bb_width_pct": 0.843
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T19-15-00Z_short_vwap_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T19:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4086.765,
      "stop": 4093.189,
      "target": 4073.917,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.37,
        "bb_width_pct": 0.843
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T19-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T19:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4086.765,
      "stop": 4098.924,
      "target": 4062.448,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.37,
        "bb_width_pct": 0.843
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T19-30-00Z_short_rsi_range_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T19:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4086.995,
      "stop": 4090.792,
      "target": 4079.4,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 23.88,
        "bb_width_pct": 0.844
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T19-30-00Z_short_vwap_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T19:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4086.995,
      "stop": 4092.876,
      "target": 4075.233,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 23.88,
        "bb_width_pct": 0.844
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T19-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T19:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4086.995,
      "stop": 4098.094,
      "target": 4064.798,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 23.88,
        "bb_width_pct": 0.844
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T19-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T19:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4086.995,
      "stop": 4090.308,
      "target": 4080.369,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 23.88,
        "bb_width_pct": 0.844
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T19-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T19:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4087.15,
      "stop": 4090.218,
      "target": 4081.015,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 24.52,
        "bb_width_pct": 0.798
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T19-40-00Z_short_vwap_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T19:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4084.225,
      "stop": 4088.383,
      "target": 4075.908,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.42,
        "bb_width_pct": 0.759
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T19-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T19:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4084.225,
      "stop": 4093.845,
      "target": 4064.985,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.42,
        "bb_width_pct": 0.759
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T19-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T19:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4079.32,
      "stop": 4086.146,
      "target": 4065.668,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 0.43,
        "bb_width_pct": 0.7
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T20-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T20:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4076.455,
      "stop": 4072.57,
      "target": 4084.224,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.51,
        "bb_width_pct": 0.393
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T20-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T20:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4075.975,
      "stop": 4071.942,
      "target": 4084.042,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.78,
        "bb_width_pct": 0.42
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T20-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T20:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4076.9,
      "stop": 4073.678,
      "target": 4083.344,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.05,
        "bb_width_pct": 0.417
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T20-25-00Z_long_rsi_range_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T20:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4076.9,
      "stop": 4073.678,
      "target": 4083.344,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.05,
        "bb_width_pct": 0.417
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T20-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T20:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4074.25,
      "stop": 4070.256,
      "target": 4082.239,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.9,
        "bb_width_pct": 0.492
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T20-35-00Z_long_rsi_range_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T20:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4074.25,
      "stop": 4070.256,
      "target": 4082.239,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.9,
        "bb_width_pct": 0.492
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T20-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T20:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4074.25,
      "stop": 4072.018,
      "target": 4078.714,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.9,
        "bb_width_pct": 0.492
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T20-40-00Z_long_rsi_range_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4074.98,
      "stop": 4071.657,
      "target": 4081.626,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.87,
        "bb_width_pct": 0.501
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T20-45-00Z_long_rsi_range_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T20:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4075.4,
      "stop": 4072.635,
      "target": 4080.93,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.0,
        "bb_width_pct": 0.487
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T22-00-00Z_short_vwap_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T22:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4073.86,
      "stop": 4083.936,
      "target": 4053.709,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.75,
        "bb_width_pct": 0.436
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T22-10-00Z_short_vwap_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T22:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4077.055,
      "stop": 4087.856,
      "target": 4055.453,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 9.56,
        "bb_width_pct": 0.344
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T22-15-00Z_short_vwap_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T22:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4076.025,
      "stop": 4085.929,
      "target": 4056.217,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.73,
        "bb_width_pct": 0.284
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T22-20-00Z_short_vwap_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T22:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4074.77,
      "stop": 4083.725,
      "target": 4056.861,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.9,
        "bb_width_pct": 0.251
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T22-25-00Z_short_vwap_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T22:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4074.335,
      "stop": 4082.776,
      "target": 4057.452,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.93,
        "bb_width_pct": 0.255
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T22-40-00Z_short_vwap_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T22:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4076.365,
      "stop": 4084.947,
      "target": 4059.2,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.08,
        "bb_width_pct": 0.189
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T22-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T22:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4078.22,
      "stop": 4079.185,
      "target": 4076.29,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.74,
        "bb_width_pct": 0.158
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T22-50-00Z_short_vwap_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T22:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4078.22,
      "stop": 4087.178,
      "target": 4060.303,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.74,
        "bb_width_pct": 0.158
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T22-55-00Z_short_vwap_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T22:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4076.57,
      "stop": 4084.47,
      "target": 4060.77,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.22,
        "bb_width_pct": 0.159
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T23-00-00Z_short_vwap_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4075.38,
      "stop": 4082.487,
      "target": 4061.166,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.28,
        "bb_width_pct": 0.16
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T23-10-00Z_short_vwap_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4077.065,
      "stop": 4084.613,
      "target": 4061.968,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 1.42,
        "bb_width_pct": 0.152
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T23-15-00Z_short_vwap_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4075.705,
      "stop": 4082.395,
      "target": 4062.325,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.69,
        "bb_width_pct": 0.144
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T23-30-00Z_short_vwap_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4075.46,
      "stop": 4081.541,
      "target": 4063.297,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.29,
        "bb_width_pct": 0.126
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T23-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4075.135,
      "stop": 4074.457,
      "target": 4076.492,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.67,
        "bb_width_pct": 0.116
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T23-40-00Z_short_vwap_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4075.135,
      "stop": 4080.774,
      "target": 4063.857,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.67,
        "bb_width_pct": 0.116
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T23-45-00Z_short_vwap_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4072.99,
      "stop": 4077.447,
      "target": 4064.076,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 9.81,
        "bb_width_pct": 0.135
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T23-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4072.99,
      "stop": 4071.374,
      "target": 4076.221,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.81,
        "bb_width_pct": 0.135
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T23-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T23:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4075.775,
      "stop": 4075.565,
      "target": 4076.195,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.27,
        "bb_width_pct": 0.134
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-08T23-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T23:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4075.775,
      "stop": 4073.37,
      "target": 4080.585,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.27,
        "bb_width_pct": 0.134
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T00-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4080.725,
      "stop": 4082.777,
      "target": 4076.621,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.64,
        "bb_width_pct": 0.161
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T00-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T00:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4077.84,
      "stop": 4078.42,
      "target": 4076.681,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.83,
        "bb_width_pct": 0.155
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T00-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T00:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4077.84,
      "stop": 4077.939,
      "target": 4077.642,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.83,
        "bb_width_pct": 0.155
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T00-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T00:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4077.84,
      "stop": 4078.392,
      "target": 4076.737,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.83,
        "bb_width_pct": 0.155
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T00-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T00:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4084.07,
      "stop": 4086.27,
      "target": 4079.67,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.0,
        "bb_width_pct": 0.316
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T00-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T00:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4084.07,
      "stop": 4086.919,
      "target": 4078.372,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.0,
        "bb_width_pct": 0.316
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T00-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T00:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4078.055,
      "stop": 4076.666,
      "target": 4080.832,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 3.65,
        "bb_width_pct": 0.313
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T00-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T00:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4070.885,
      "stop": 4067.566,
      "target": 4077.523,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.64,
        "bb_width_pct": 0.344
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T00-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T00:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4073.97,
      "stop": 4070.855,
      "target": 4080.2,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 2.25,
        "bb_width_pct": 0.351
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T01-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4067.59,
      "stop": 4063.259,
      "target": 4076.251,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.78,
        "bb_width_pct": 0.408
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T01-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T01:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4073.505,
      "stop": 4071.845,
      "target": 4076.824,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.76,
        "bb_width_pct": 0.415
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T01-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T01:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4073.505,
      "stop": 4071.46,
      "target": 4077.595,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.76,
        "bb_width_pct": 0.415
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T01-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4071.87,
      "stop": 4069.787,
      "target": 4076.036,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.96,
        "bb_width_pct": 0.479
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T01-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4071.87,
      "stop": 4069.007,
      "target": 4077.595,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.96,
        "bb_width_pct": 0.479
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T01-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4071.87,
      "stop": 4070.634,
      "target": 4074.342,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.96,
        "bb_width_pct": 0.479
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T02-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T02:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4080.465,
      "stop": 4083.744,
      "target": 4073.908,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.09,
        "bb_width_pct": 0.351
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T02-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T02:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4067.845,
      "stop": 4064.967,
      "target": 4073.601,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.43,
        "bb_width_pct": 0.363
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T02-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T02:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4067.845,
      "stop": 4064.899,
      "target": 4073.738,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.43,
        "bb_width_pct": 0.363
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T02-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T02:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4065.195,
      "stop": 4061.216,
      "target": 4073.153,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.97,
        "bb_width_pct": 0.405
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T03-00-00Z_long_vwap_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4067.21,
      "stop": 4063.402,
      "target": 4074.826,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.05,
        "bb_width_pct": 0.424
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T03-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4067.21,
      "stop": 4062.691,
      "target": 4076.247,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.05,
        "bb_width_pct": 0.424
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T03-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4067.21,
      "stop": 4064.625,
      "target": 4072.38,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.05,
        "bb_width_pct": 0.424
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T03-30-00Z_long_rsi_range_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4062.94,
      "stop": 4059.8,
      "target": 4069.22,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.64,
        "bb_width_pct": 0.755
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T03-30-00Z_long_vwap_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4062.94,
      "stop": 4058.083,
      "target": 4072.654,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.64,
        "bb_width_pct": 0.755
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T03-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4062.94,
      "stop": 4058.305,
      "target": 4072.21,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 24.64,
        "bb_width_pct": 0.755
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T03-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4062.94,
      "stop": 4061.125,
      "target": 4066.571,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.64,
        "bb_width_pct": 0.755
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T03-40-00Z_long_vwap_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T03:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4062.135,
      "stop": 4057.128,
      "target": 4072.148,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.47,
        "bb_width_pct": 0.768
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T03-50-00Z_long_vwap_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T03:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4062.735,
      "stop": 4058.239,
      "target": 4071.727,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.92,
        "bb_width_pct": 0.722
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T03-55-00Z_long_vwap_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T03:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4064.25,
      "stop": 4060.598,
      "target": 4071.553,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.1,
        "bb_width_pct": 0.654
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T04-05-00Z_long_vwap_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4062.2,
      "stop": 4057.716,
      "target": 4071.168,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.56,
        "bb_width_pct": 0.468
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T04-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T04:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4057.765,
      "stop": 4054.937,
      "target": 4063.422,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.29,
        "bb_width_pct": 0.38
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T04-20-00Z_long_vwap_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4059.98,
      "stop": 4054.703,
      "target": 4070.534,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.09,
        "bb_width_pct": 0.331
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T04-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4059.98,
      "stop": 4055.663,
      "target": 4068.615,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.09,
        "bb_width_pct": 0.331
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T04-30-00Z_long_vwap_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T04:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4062.95,
      "stop": 4059.336,
      "target": 4070.177,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.02,
        "bb_width_pct": 0.257
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T04-35-00Z_long_vwap_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4063.98,
      "stop": 4060.943,
      "target": 4070.055,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.13,
        "bb_width_pct": 0.249
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T04-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4057.985,
      "stop": 4055.784,
      "target": 4062.387,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.65,
        "bb_width_pct": 0.216
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T04-45-00Z_long_vwap_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4061.625,
      "stop": 4057.588,
      "target": 4069.698,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.0,
        "bb_width_pct": 0.217
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T04-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4061.625,
      "stop": 4058.13,
      "target": 4068.615,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.0,
        "bb_width_pct": 0.217
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T04-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4061.625,
      "stop": 4061.28,
      "target": 4062.314,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.0,
        "bb_width_pct": 0.217
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T04-50-00Z_long_vwap_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T04:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4062.725,
      "stop": 4059.306,
      "target": 4069.564,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.26,
        "bb_width_pct": 0.218
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T04-55-00Z_long_vwap_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T04:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4064.405,
      "stop": 4061.873,
      "target": 4069.469,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.19,
        "bb_width_pct": 0.197
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T05-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4066.475,
      "stop": 4068.251,
      "target": 4062.923,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.83,
        "bb_width_pct": 0.22
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T05-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4068.215,
      "stop": 4070.777,
      "target": 4063.091,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.94,
        "bb_width_pct": 0.364
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T05-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4068.215,
      "stop": 4069.944,
      "target": 4064.757,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.94,
        "bb_width_pct": 0.364
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T05-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4071.635,
      "stop": 4075.251,
      "target": 4064.403,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.93,
        "bb_width_pct": 0.454
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T05-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4075.63,
      "stop": 4079.398,
      "target": 4068.095,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.86,
        "bb_width_pct": 0.56
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T05-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4080.07,
      "stop": 4086.331,
      "target": 4067.548,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 25.39,
        "bb_width_pct": 0.673
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T05-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T05:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4082.02,
      "stop": 4088.65,
      "target": 4068.76,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 26.37,
        "bb_width_pct": 0.703
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T06-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4089.095,
      "stop": 4097.684,
      "target": 4071.917,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 24.86,
        "bb_width_pct": 0.893
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T06-05-00Z_short_rsi_range_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4089.095,
      "stop": 4097.684,
      "target": 4071.917,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 24.86,
        "bb_width_pct": 0.893
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T06-05-00Z_short_vwap_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4089.095,
      "stop": 4098.327,
      "target": 4070.632,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 24.86,
        "bb_width_pct": 0.893
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T06-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4089.095,
      "stop": 4095.092,
      "target": 4077.1,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 24.86,
        "bb_width_pct": 0.893
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T06-35-00Z_short_rsi_range_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4098.55,
      "stop": 4106.479,
      "target": 4082.692,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 27.87,
        "bb_width_pct": 1.2
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T06-35-00Z_short_vwap_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4098.55,
      "stop": 4111.483,
      "target": 4072.683,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 27.87,
        "bb_width_pct": 1.2
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T06-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4098.55,
      "stop": 4107.415,
      "target": 4080.82,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 27.87,
        "bb_width_pct": 1.2
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T07-00-00Z_short_rsi_range_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T07:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4106.355,
      "stop": 4113.705,
      "target": 4091.654,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 27.68,
        "bb_width_pct": 1.18
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T07-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T07:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4106.355,
      "stop": 4118.372,
      "target": 4082.32,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 27.68,
        "bb_width_pct": 1.18
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T07-05-00Z_short_rsi_range_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T07:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4105.765,
      "stop": 4111.986,
      "target": 4093.323,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 14.78,
        "bb_width_pct": 1.132
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T07-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T07:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4105.765,
      "stop": 4116.946,
      "target": 4083.403,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.78,
        "bb_width_pct": 1.132
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T07-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T07:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4101.54,
      "stop": 4110.609,
      "target": 4083.403,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.12,
        "bb_width_pct": 1.033
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T07-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T07:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4101.54,
      "stop": 4104.724,
      "target": 4095.173,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.12,
        "bb_width_pct": 1.033
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T07-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4106.985,
      "stop": 4118.776,
      "target": 4083.403,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.72,
        "bb_width_pct": 0.679
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T07-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T07:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4108.455,
      "stop": 4120.796,
      "target": 4083.773,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.33,
        "bb_width_pct": 0.403
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T07-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T07:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4107.95,
      "stop": 4120.001,
      "target": 4083.847,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.53,
        "bb_width_pct": 0.333
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T08-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4106.965,
      "stop": 4118.524,
      "target": 4083.847,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.86,
        "bb_width_pct": 0.287
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T08-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4106.965,
      "stop": 4108.823,
      "target": 4103.249,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.86,
        "bb_width_pct": 0.287
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T08-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T08:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4109.685,
      "stop": 4112.597,
      "target": 4103.862,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.85,
        "bb_width_pct": 0.289
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T08-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T08:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4108.185,
      "stop": 4118.843,
      "target": 4086.87,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.25,
        "bb_width_pct": 0.289
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T08-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T08:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4108.95,
      "stop": 4110.023,
      "target": 4106.804,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.69,
        "bb_width_pct": 0.237
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T08-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T08:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4108.95,
      "stop": 4111.065,
      "target": 4104.719,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.69,
        "bb_width_pct": 0.237
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T08-25-00Z_short_rsi_range_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T08:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4114.985,
      "stop": 4118.46,
      "target": 4108.035,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 15.19,
        "bb_width_pct": 0.316
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T08-25-00Z_short_vwap_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T08:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4114.985,
      "stop": 4118.428,
      "target": 4108.099,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.19,
        "bb_width_pct": 0.316
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T08-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T08:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4114.985,
      "stop": 4126.759,
      "target": 4091.438,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.19,
        "bb_width_pct": 0.316
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T08-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4110.475,
      "stop": 4111.526,
      "target": 4108.372,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.5,
        "bb_width_pct": 0.304
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T08-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4110.475,
      "stop": 4119.994,
      "target": 4091.438,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.5,
        "bb_width_pct": 0.304
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T08-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4110.475,
      "stop": 4112.201,
      "target": 4107.023,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.5,
        "bb_width_pct": 0.304
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T08-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T08:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4113.625,
      "stop": 4124.719,
      "target": 4091.438,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.76,
        "bb_width_pct": 0.344
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T08-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T08:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4113.625,
      "stop": 4116.281,
      "target": 4108.313,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.76,
        "bb_width_pct": 0.344
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T08-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T08:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4109.84,
      "stop": 4119.041,
      "target": 4091.438,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.17,
        "bb_width_pct": 0.336
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T09-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T09:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4103.835,
      "stop": 4100.964,
      "target": 4109.577,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.63,
        "bb_width_pct": 0.3
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T09-45-00Z_long_rsi_range_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T09:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4105.46,
      "stop": 4103.507,
      "target": 4109.366,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.85,
        "bb_width_pct": 0.312
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T10-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T10:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4104.59,
      "stop": 4103.526,
      "target": 4106.718,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.33,
        "bb_width_pct": 0.183
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T10-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T10:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4104.59,
      "stop": 4101.995,
      "target": 4109.78,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.33,
        "bb_width_pct": 0.183
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T10-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T10:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4099.23,
      "stop": 4096.426,
      "target": 4104.838,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.54,
        "bb_width_pct": 0.281
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T10-55-00Z_long_vwap_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T10:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4099.23,
      "stop": 4096.926,
      "target": 4103.837,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.54,
        "bb_width_pct": 0.281
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T10-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T10:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4099.23,
      "stop": 4095.692,
      "target": 4106.305,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 14.54,
        "bb_width_pct": 0.281
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T10-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T10:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4099.23,
      "stop": 4096.747,
      "target": 4104.196,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.54,
        "bb_width_pct": 0.281
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T11-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4103.545,
      "stop": 4103.006,
      "target": 4104.623,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.52,
        "bb_width_pct": 0.274
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T11-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4103.545,
      "stop": 4103.251,
      "target": 4104.134,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.52,
        "bb_width_pct": 0.274
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T11-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T11:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4106.23,
      "stop": 4107.684,
      "target": 4103.322,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.93,
        "bb_width_pct": 0.245
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T11-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T11:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4108.61,
      "stop": 4111.13,
      "target": 4103.57,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.65,
        "bb_width_pct": 0.274
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T12-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4107.76,
      "stop": 4109.783,
      "target": 4103.714,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.77,
        "bb_width_pct": 0.287
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T12-00-00Z_short_rsi_range_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4107.76,
      "stop": 4109.783,
      "target": 4103.714,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 14.77,
        "bb_width_pct": 0.287
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T12-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T12:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4112.685,
      "stop": 4116.684,
      "target": 4104.687,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.57,
        "bb_width_pct": 0.424
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T12-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T12:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4112.685,
      "stop": 4115.523,
      "target": 4107.01,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.57,
        "bb_width_pct": 0.424
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T12-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T12:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4112.685,
      "stop": 4115.696,
      "target": 4106.663,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.57,
        "bb_width_pct": 0.424
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T12-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T12:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4113.23,
      "stop": 4115.911,
      "target": 4107.868,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.44,
        "bb_width_pct": 0.519
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T12-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T12:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4113.23,
      "stop": 4115.982,
      "target": 4107.725,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.44,
        "bb_width_pct": 0.519
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T12-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T12:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4113.23,
      "stop": 4115.143,
      "target": 4109.405,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.44,
        "bb_width_pct": 0.519
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T13-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T13:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4120.655,
      "stop": 4125.248,
      "target": 4111.47,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.48,
        "bb_width_pct": 0.453
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T13-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T13:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4120.5,
      "stop": 4124.784,
      "target": 4111.932,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.4,
        "bb_width_pct": 0.475
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T13-15-00Z_short_vwap_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T13:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4120.5,
      "stop": 4124.169,
      "target": 4113.161,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 9.4,
        "bb_width_pct": 0.475
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T13-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T13:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4120.5,
      "stop": 4126.629,
      "target": 4108.243,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.4,
        "bb_width_pct": 0.475
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T13-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T13:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4120.5,
      "stop": 4124.585,
      "target": 4112.33,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.4,
        "bb_width_pct": 0.475
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T13-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4125.69,
      "stop": 4131.137,
      "target": 4114.795,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.66,
        "bb_width_pct": 0.614
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T13-30-00Z_short_rsi_range_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4125.69,
      "stop": 4131.137,
      "target": 4114.795,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 20.66,
        "bb_width_pct": 0.614
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T13-30-00Z_short_vwap_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4125.69,
      "stop": 4131.052,
      "target": 4114.966,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 20.66,
        "bb_width_pct": 0.614
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T13-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4125.69,
      "stop": 4133.21,
      "target": 4110.65,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 20.66,
        "bb_width_pct": 0.614
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T13-35-00Z_short_rsi_range_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4125.1,
      "stop": 4129.84,
      "target": 4115.619,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 10.1,
        "bb_width_pct": 0.634
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T13-35-00Z_short_vwap_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4125.1,
      "stop": 4129.912,
      "target": 4115.476,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.1,
        "bb_width_pct": 0.634
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T13-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4125.1,
      "stop": 4131.863,
      "target": 4111.575,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.1,
        "bb_width_pct": 0.634
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T13-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4125.1,
      "stop": 4129.304,
      "target": 4116.691,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.1,
        "bb_width_pct": 0.634
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T13-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4123.78,
      "stop": 4129.809,
      "target": 4111.722,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.86,
        "bb_width_pct": 0.673
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T13-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4123.78,
      "stop": 4126.52,
      "target": 4118.3,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.86,
        "bb_width_pct": 0.673
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T13-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T13:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4118.925,
      "stop": 4122.526,
      "target": 4111.722,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.42,
        "bb_width_pct": 0.667
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T14-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4131.28,
      "stop": 4137.305,
      "target": 4119.23,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 23.89,
        "bb_width_pct": 0.651
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T14-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T14:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4126.285,
      "stop": 4129.337,
      "target": 4120.18,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.67,
        "bb_width_pct": 0.609
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T14-05-00Z_short_rsi_range_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T14:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4126.285,
      "stop": 4129.337,
      "target": 4120.18,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 13.67,
        "bb_width_pct": 0.609
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T14-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T14:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4126.285,
      "stop": 4132.244,
      "target": 4114.368,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.67,
        "bb_width_pct": 0.609
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T14-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T14:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4126.285,
      "stop": 4129.168,
      "target": 4120.518,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.67,
        "bb_width_pct": 0.609
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T15-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T15:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4126.73,
      "stop": 4127.941,
      "target": 4124.307,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.08,
        "bb_width_pct": 0.304
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T15-25-00Z_short_vwap_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T15:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4127.955,
      "stop": 4131.776,
      "target": 4120.312,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.75,
        "bb_width_pct": 0.331
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T15-30-00Z_short_vwap_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T15:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4127.275,
      "stop": 4130.674,
      "target": 4120.477,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.06,
        "bb_width_pct": 0.309
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T15-40-00Z_short_vwap_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T15:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4130.165,
      "stop": 4134.804,
      "target": 4120.887,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.1,
        "bb_width_pct": 0.313
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T15-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T15:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4129.41,
      "stop": 4131.284,
      "target": 4125.662,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.77,
        "bb_width_pct": 0.323
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T15-45-00Z_short_vwap_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T15:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4129.41,
      "stop": 4133.569,
      "target": 4121.091,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.77,
        "bb_width_pct": 0.323
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T15-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T15:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4129.41,
      "stop": 4133.245,
      "target": 4121.74,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.77,
        "bb_width_pct": 0.323
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T15-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T15:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4129.41,
      "stop": 4130.986,
      "target": 4126.259,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.77,
        "bb_width_pct": 0.323
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T15-50-00Z_short_vwap_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T15:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4127.585,
      "stop": 4130.753,
      "target": 4121.249,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.41,
        "bb_width_pct": 0.318
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T15-55-00Z_short_vwap_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T15:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4126.885,
      "stop": 4129.639,
      "target": 4121.376,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.97,
        "bb_width_pct": 0.256
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T16-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T16:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4129.665,
      "stop": 4130.839,
      "target": 4127.316,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.06,
        "bb_width_pct": 0.247
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T16-15-00Z_short_vwap_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T16:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4129.665,
      "stop": 4133.52,
      "target": 4121.955,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 9.06,
        "bb_width_pct": 0.247
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T16-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T16:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4129.665,
      "stop": 4133.628,
      "target": 4121.74,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.06,
        "bb_width_pct": 0.247
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T16-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T16:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4129.665,
      "stop": 4130.884,
      "target": 4127.226,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.06,
        "bb_width_pct": 0.247
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T16-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4132.78,
      "stop": 4134.645,
      "target": 4129.05,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.75,
        "bb_width_pct": 0.234
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T16-35-00Z_short_vwap_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4132.78,
      "stop": 4137.813,
      "target": 4122.715,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.75,
        "bb_width_pct": 0.234
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T16-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4132.78,
      "stop": 4136.085,
      "target": 4126.17,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.75,
        "bb_width_pct": 0.234
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T16-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4132.78,
      "stop": 4134.638,
      "target": 4129.064,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.75,
        "bb_width_pct": 0.234
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T16-45-00Z_short_vwap_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4131.245,
      "stop": 4135.337,
      "target": 4123.061,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.14,
        "bb_width_pct": 0.239
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T16-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4131.245,
      "stop": 4133.782,
      "target": 4126.17,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.14,
        "bb_width_pct": 0.239
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T16-55-00Z_short_vwap_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4128.155,
      "stop": 4130.565,
      "target": 4123.335,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 1.1,
        "bb_width_pct": 0.227
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T17-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T17:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4135.41,
      "stop": 4137.492,
      "target": 4131.246,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.23,
        "bb_width_pct": 0.26
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T17-50-00Z_short_vwap_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T17:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4135.41,
      "stop": 4137.865,
      "target": 4130.5,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.23,
        "bb_width_pct": 0.26
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T17-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T17:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4135.41,
      "stop": 4139.036,
      "target": 4128.158,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.23,
        "bb_width_pct": 0.26
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T17-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T17:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4135.41,
      "stop": 4137.593,
      "target": 4131.044,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.23,
        "bb_width_pct": 0.26
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T17-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T17:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4136.24,
      "stop": 4138.59,
      "target": 4131.539,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.92,
        "bb_width_pct": 0.278
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T18-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T18:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4131.31,
      "stop": 4132.886,
      "target": 4128.158,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.01,
        "bb_width_pct": 0.277
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T18-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T18:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4124.945,
      "stop": 4122.285,
      "target": 4130.264,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.92,
        "bb_width_pct": 0.304
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T18-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T18:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4124.06,
      "stop": 4121.008,
      "target": 4130.165,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.79,
        "bb_width_pct": 0.333
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T18-30-00Z_long_vwap_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4124.15,
      "stop": 4121.336,
      "target": 4129.777,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.38,
        "bb_width_pct": 0.348
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T18-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4124.15,
      "stop": 4120.912,
      "target": 4130.625,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.38,
        "bb_width_pct": 0.348
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T18-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4124.15,
      "stop": 4121.651,
      "target": 4129.147,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.38,
        "bb_width_pct": 0.348
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T18-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T18:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4122.66,
      "stop": 4119.273,
      "target": 4129.433,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.63,
        "bb_width_pct": 0.378
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T18-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T18:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4125.46,
      "stop": 4123.292,
      "target": 4129.795,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 17.62,
        "bb_width_pct": 0.386
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T18-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T18:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4125.46,
      "stop": 4124.071,
      "target": 4128.237,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.62,
        "bb_width_pct": 0.386
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T19-10-00Z_long_rsi_range_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T19:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4124.47,
      "stop": 4122.741,
      "target": 4127.928,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.63,
        "bb_width_pct": 0.443
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T19-10-00Z_long_vwap_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T19:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4124.47,
      "stop": 4122.65,
      "target": 4128.11,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.63,
        "bb_width_pct": 0.443
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T19-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T19:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4124.47,
      "stop": 4121.808,
      "target": 4129.795,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 17.63,
        "bb_width_pct": 0.443
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T19-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T19:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4120.36,
      "stop": 4118.472,
      "target": 4124.136,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.12,
        "bb_width_pct": 0.248
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T19-45-00Z_long_vwap_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T19:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4122.305,
      "stop": 4120.055,
      "target": 4126.806,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.0,
        "bb_width_pct": 0.203
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T19-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T19:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4122.305,
      "stop": 4119.215,
      "target": 4128.485,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.0,
        "bb_width_pct": 0.203
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T19-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T19:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4122.305,
      "stop": 4121.476,
      "target": 4123.962,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.0,
        "bb_width_pct": 0.203
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T19-55-00Z_long_vwap_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T19:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4122.56,
      "stop": 4120.566,
      "target": 4126.547,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.61,
        "bb_width_pct": 0.147
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T19-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T19:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4122.56,
      "stop": 4119.597,
      "target": 4128.485,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 3.61,
        "bb_width_pct": 0.147
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T20-15-00Z_long_vwap_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T20:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4122.035,
      "stop": 4120.006,
      "target": 4126.093,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.91,
        "bb_width_pct": 0.143
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T20-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T20:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4122.035,
      "stop": 4118.81,
      "target": 4128.485,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.91,
        "bb_width_pct": 0.143
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T20-20-00Z_long_vwap_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T20:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4121.95,
      "stop": 4119.927,
      "target": 4125.996,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.36,
        "bb_width_pct": 0.13
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T20-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T20:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4121.95,
      "stop": 4118.682,
      "target": 4128.485,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.36,
        "bb_width_pct": 0.13
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T20-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T20:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4124.27,
      "stop": 4122.163,
      "target": 4128.485,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 11.84,
        "bb_width_pct": 0.129
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T20-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T20:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4123.955,
      "stop": 4124.734,
      "target": 4122.397,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.72,
        "bb_width_pct": 0.125
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T22-00-00Z_short_vwap_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T22:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4125.14,
      "stop": 4135.307,
      "target": 4104.805,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.36,
        "bb_width_pct": 0.134
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T22-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T22:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4122.82,
      "stop": 4122.922,
      "target": 4122.615,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.69,
        "bb_width_pct": 0.129
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T22-05-00Z_short_vwap_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T22:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4122.82,
      "stop": 4131.45,
      "target": 4105.56,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 1.69,
        "bb_width_pct": 0.129
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T22-15-00Z_short_vwap_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T22:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4123.41,
      "stop": 4131.69,
      "target": 4106.85,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.33,
        "bb_width_pct": 0.119
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T22-25-00Z_short_vwap_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T22:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4123.295,
      "stop": 4130.962,
      "target": 4107.961,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.54,
        "bb_width_pct": 0.105
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T22-40-00Z_short_vwap_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T22:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4123.765,
      "stop": 4130.955,
      "target": 4109.385,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.82,
        "bb_width_pct": 0.102
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T22-45-00Z_short_vwap_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T22:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4122.555,
      "stop": 4128.94,
      "target": 4109.785,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.64,
        "bb_width_pct": 0.099
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T22-55-00Z_short_vwap_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T22:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4121.9,
      "stop": 4127.601,
      "target": 4110.498,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.41,
        "bb_width_pct": 0.091
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T23-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4123.435,
      "stop": 4123.394,
      "target": 4123.517,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.39,
        "bb_width_pct": 0.084
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T23-10-00Z_short_vwap_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4123.91,
      "stop": 4130.115,
      "target": 4111.5,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.98,
        "bb_width_pct": 0.068
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T23-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T23:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4122.565,
      "stop": 4122.059,
      "target": 4123.577,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.45,
        "bb_width_pct": 0.07
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T23-20-00Z_short_vwap_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T23:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4122.565,
      "stop": 4127.798,
      "target": 4112.1,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.45,
        "bb_width_pct": 0.07
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T23-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T23:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4122.225,
      "stop": 4121.589,
      "target": 4123.496,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.76,
        "bb_width_pct": 0.076
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T23-25-00Z_short_vwap_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T23:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4122.225,
      "stop": 4127.165,
      "target": 4112.346,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.76,
        "bb_width_pct": 0.076
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T23-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4121.785,
      "stop": 4120.984,
      "target": 4123.388,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.96,
        "bb_width_pct": 0.083
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T23-30-00Z_short_vwap_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4121.785,
      "stop": 4126.395,
      "target": 4112.566,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.96,
        "bb_width_pct": 0.083
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T23-40-00Z_short_vwap_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4122.87,
      "stop": 4127.796,
      "target": 4113.017,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.75,
        "bb_width_pct": 0.073
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-09T23-50-00Z_short_vwap_mean_reversion",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T23:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4123.385,
      "stop": 4128.345,
      "target": 4113.464,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.35,
        "bb_width_pct": 0.075
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T00-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4123.905,
      "stop": 4124.211,
      "target": 4123.293,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.12,
        "bb_width_pct": 0.075
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T00-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4123.905,
      "stop": 4123.868,
      "target": 4123.98,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.12,
        "bb_width_pct": 0.075
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T00-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T00:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4122.955,
      "stop": 4122.794,
      "target": 4123.276,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.59,
        "bb_width_pct": 0.075
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T00-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T00:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4122.285,
      "stop": 4121.816,
      "target": 4123.223,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.79,
        "bb_width_pct": 0.078
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T00-25-00Z_long_rsi_range_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T00:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4119.615,
      "stop": 4118.077,
      "target": 4122.691,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.29,
        "bb_width_pct": 0.135
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T00-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T00:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4119.615,
      "stop": 4117.662,
      "target": 4123.52,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.29,
        "bb_width_pct": 0.135
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T00-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T00:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4119.615,
      "stop": 4118.242,
      "target": 4122.36,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.29,
        "bb_width_pct": 0.135
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T00-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T00:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4119.355,
      "stop": 4117.932,
      "target": 4122.202,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.12,
        "bb_width_pct": 0.207
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T00-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T00:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4119.355,
      "stop": 4118.442,
      "target": 4121.18,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.12,
        "bb_width_pct": 0.207
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T00-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T00:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4119.355,
      "stop": 4118.274,
      "target": 4121.517,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.12,
        "bb_width_pct": 0.207
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T00-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T00:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4123.09,
      "stop": 4123.555,
      "target": 4122.16,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.22,
        "bb_width_pct": 0.205
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T00-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T00:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4123.09,
      "stop": 4124.045,
      "target": 4121.18,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.22,
        "bb_width_pct": 0.205
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T00-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T00:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4126.51,
      "stop": 4128.633,
      "target": 4122.265,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.69,
        "bb_width_pct": 0.22
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T00-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T00:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4126.51,
      "stop": 4128.523,
      "target": 4122.485,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.69,
        "bb_width_pct": 0.22
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T01-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4122.21,
      "stop": 4122.561,
      "target": 4121.507,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.06,
        "bb_width_pct": 0.22
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T01-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T01:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4113.2,
      "stop": 4109.384,
      "target": 4120.832,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.93,
        "bb_width_pct": 0.419
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T01-45-00Z_long_vwap_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T01:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4113.2,
      "stop": 4109.258,
      "target": 4121.084,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.93,
        "bb_width_pct": 0.419
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T01-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T01:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4113.2,
      "stop": 4109.716,
      "target": 4120.167,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 11.93,
        "bb_width_pct": 0.419
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T01-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T01:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4113.2,
      "stop": 4109.71,
      "target": 4120.18,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.93,
        "bb_width_pct": 0.419
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T02-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T02:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4124.89,
      "stop": 4127.34,
      "target": 4119.99,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.11,
        "bb_width_pct": 0.444
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T02-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T02:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4124.89,
      "stop": 4127.125,
      "target": 4120.42,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.11,
        "bb_width_pct": 0.444
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T02-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4123.445,
      "stop": 4125.172,
      "target": 4119.99,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.35,
        "bb_width_pct": 0.47
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T03-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4129.6,
      "stop": 4132.256,
      "target": 4124.289,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.39,
        "bb_width_pct": 0.517
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T03-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T03:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4131.625,
      "stop": 4136.116,
      "target": 4122.643,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 22.22,
        "bb_width_pct": 0.554
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T03-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T03:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4126.6,
      "stop": 4128.99,
      "target": 4121.82,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.53,
        "bb_width_pct": 0.557
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T03-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T03:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4120.67,
      "stop": 4118.318,
      "target": 4125.375,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.78,
        "bb_width_pct": 0.271
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T04-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T04:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4119.845,
      "stop": 4117.365,
      "target": 4124.805,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.01,
        "bb_width_pct": 0.306
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T04-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T04:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4121.03,
      "stop": 4119.402,
      "target": 4124.285,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.96,
        "bb_width_pct": 0.344
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T04-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T04:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4121.03,
      "stop": 4120.238,
      "target": 4122.613,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.96,
        "bb_width_pct": 0.344
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T04-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T04:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4117.79,
      "stop": 4115.135,
      "target": 4123.1,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.58,
        "bb_width_pct": 0.422
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T04-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T04:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4117.79,
      "stop": 4115.775,
      "target": 4121.82,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.58,
        "bb_width_pct": 0.422
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T04-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T04:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4117.79,
      "stop": 4116.071,
      "target": 4121.228,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.58,
        "bb_width_pct": 0.422
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T04-50-00Z_long_vwap_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T04:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4117.36,
      "stop": 4115.067,
      "target": 4121.947,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.07,
        "bb_width_pct": 0.3
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T04-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T04:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4117.36,
      "stop": 4116.003,
      "target": 4120.073,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.07,
        "bb_width_pct": 0.3
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T05-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4114.03,
      "stop": 4111.72,
      "target": 4118.65,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.46,
        "bb_width_pct": 0.304
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T05-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4114.125,
      "stop": 4112.0,
      "target": 4118.374,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.16,
        "bb_width_pct": 0.257
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T05-10-00Z_long_vwap_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4114.125,
      "stop": 4110.441,
      "target": 4121.493,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.16,
        "bb_width_pct": 0.257
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T05-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4114.125,
      "stop": 4109.391,
      "target": 4123.593,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.16,
        "bb_width_pct": 0.257
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T05-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4114.125,
      "stop": 4112.078,
      "target": 4118.219,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.16,
        "bb_width_pct": 0.257
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T05-15-00Z_long_vwap_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4117.225,
      "stop": 4115.132,
      "target": 4121.41,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.92,
        "bb_width_pct": 0.238
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T05-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4117.225,
      "stop": 4114.041,
      "target": 4123.593,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.92,
        "bb_width_pct": 0.238
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T05-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4114.285,
      "stop": 4112.548,
      "target": 4117.759,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.9,
        "bb_width_pct": 0.237
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T05-25-00Z_long_vwap_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4114.365,
      "stop": 4110.942,
      "target": 4121.212,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.15,
        "bb_width_pct": 0.235
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T05-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4114.365,
      "stop": 4109.751,
      "target": 4123.593,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.15,
        "bb_width_pct": 0.235
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T05-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4113.255,
      "stop": 4111.375,
      "target": 4117.015,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.34,
        "bb_width_pct": 0.238
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T05-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4113.255,
      "stop": 4111.364,
      "target": 4117.038,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.34,
        "bb_width_pct": 0.238
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T05-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4114.18,
      "stop": 4113.175,
      "target": 4116.19,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.53,
        "bb_width_pct": 0.267
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T05-40-00Z_long_vwap_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4114.18,
      "stop": 4110.857,
      "target": 4120.826,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.53,
        "bb_width_pct": 0.267
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T05-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4114.18,
      "stop": 4110.185,
      "target": 4122.17,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.53,
        "bb_width_pct": 0.267
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T05-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4114.18,
      "stop": 4113.211,
      "target": 4116.118,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.53,
        "bb_width_pct": 0.267
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T05-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T05:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4111.95,
      "stop": 4109.981,
      "target": 4115.887,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.57,
        "bb_width_pct": 0.279
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T05-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T05:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4111.95,
      "stop": 4110.064,
      "target": 4115.721,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.57,
        "bb_width_pct": 0.279
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T05-50-00Z_long_vwap_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4114.345,
      "stop": 4111.22,
      "target": 4120.595,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.02,
        "bb_width_pct": 0.255
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T05-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4114.345,
      "stop": 4110.69,
      "target": 4121.655,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.02,
        "bb_width_pct": 0.255
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T06-45-00Z_long_vwap_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T06:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4113.245,
      "stop": 4109.887,
      "target": 4119.96,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.69,
        "bb_width_pct": 0.236
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T06-50-00Z_long_vwap_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T06:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4113.725,
      "stop": 4110.648,
      "target": 4119.88,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.38,
        "bb_width_pct": 0.237
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T07-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T07:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4111.6,
      "stop": 4109.788,
      "target": 4115.225,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.82,
        "bb_width_pct": 0.258
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T07-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T07:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4114.385,
      "stop": 4114.318,
      "target": 4114.52,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.65,
        "bb_width_pct": 0.236
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T07-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T07:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4114.385,
      "stop": 4114.159,
      "target": 4114.837,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.65,
        "bb_width_pct": 0.236
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T07-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T07:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4108.265,
      "stop": 4106.03,
      "target": 4112.734,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.17,
        "bb_width_pct": 0.32
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T07-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T07:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4108.265,
      "stop": 4106.24,
      "target": 4112.315,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.17,
        "bb_width_pct": 0.32
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T07-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T07:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4108.265,
      "stop": 4106.423,
      "target": 4111.948,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.17,
        "bb_width_pct": 0.32
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T07-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T07:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4109.07,
      "stop": 4107.512,
      "target": 4112.186,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.29,
        "bb_width_pct": 0.284
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T07-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T07:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4109.07,
      "stop": 4107.448,
      "target": 4112.315,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.29,
        "bb_width_pct": 0.284
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T07-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T07:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4109.07,
      "stop": 4107.768,
      "target": 4111.674,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.29,
        "bb_width_pct": 0.284
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T08-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4105.425,
      "stop": 4102.598,
      "target": 4111.079,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.95,
        "bb_width_pct": 0.289
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T08-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T08:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4107.025,
      "stop": 4104.943,
      "target": 4111.188,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.25,
        "bb_width_pct": 0.296
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T08-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T08:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4107.025,
      "stop": 4104.469,
      "target": 4112.137,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.25,
        "bb_width_pct": 0.296
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T08-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T08:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4107.025,
      "stop": 4105.191,
      "target": 4110.693,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.25,
        "bb_width_pct": 0.296
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T08-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T08:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4107.36,
      "stop": 4104.971,
      "target": 4112.137,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.41,
        "bb_width_pct": 0.299
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T08-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T08:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4107.84,
      "stop": 4105.691,
      "target": 4112.137,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.33,
        "bb_width_pct": 0.285
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T08-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T08:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4104.47,
      "stop": 4102.116,
      "target": 4109.178,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.86,
        "bb_width_pct": 0.319
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T08-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4102.18,
      "stop": 4098.704,
      "target": 4109.132,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.95,
        "bb_width_pct": 0.343
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T08-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4102.79,
      "stop": 4099.844,
      "target": 4108.683,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.02,
        "bb_width_pct": 0.363
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T08-35-00Z_long_rsi_range_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4102.79,
      "stop": 4099.844,
      "target": 4108.683,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.02,
        "bb_width_pct": 0.363
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T08-35-00Z_long_vwap_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4102.79,
      "stop": 4099.865,
      "target": 4108.64,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.02,
        "bb_width_pct": 0.363
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T08-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4102.79,
      "stop": 4098.638,
      "target": 4111.095,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 21.02,
        "bb_width_pct": 0.363
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T08-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4102.79,
      "stop": 4100.202,
      "target": 4107.966,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.02,
        "bb_width_pct": 0.363
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T08-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T08:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4101.805,
      "stop": 4098.635,
      "target": 4108.146,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.74,
        "bb_width_pct": 0.38
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T08-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T08:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4097.185,
      "stop": 4092.451,
      "target": 4106.653,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.84,
        "bb_width_pct": 0.491
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T08-50-00Z_long_rsi_range_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T08:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4097.185,
      "stop": 4092.451,
      "target": 4106.653,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.84,
        "bb_width_pct": 0.491
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T08-50-00Z_long_vwap_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T08:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4097.185,
      "stop": 4092.101,
      "target": 4107.352,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.84,
        "bb_width_pct": 0.491
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T08-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T08:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4097.185,
      "stop": 4092.015,
      "target": 4107.525,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.84,
        "bb_width_pct": 0.491
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T08-55-00Z_long_vwap_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T08:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4098.03,
      "stop": 4093.573,
      "target": 4106.945,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.27,
        "bb_width_pct": 0.492
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T08-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T08:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4098.03,
      "stop": 4093.282,
      "target": 4107.525,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 20.27,
        "bb_width_pct": 0.492
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T09-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4098.495,
      "stop": 4095.216,
      "target": 4105.054,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.95,
        "bb_width_pct": 0.478
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T09-00-00Z_long_rsi_range_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4098.495,
      "stop": 4095.216,
      "target": 4105.054,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.95,
        "bb_width_pct": 0.478
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T09-00-00Z_long_vwap_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4098.495,
      "stop": 4094.451,
      "target": 4106.582,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.95,
        "bb_width_pct": 0.478
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T09-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4098.495,
      "stop": 4093.98,
      "target": 4107.525,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 19.95,
        "bb_width_pct": 0.478
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T09-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4098.495,
      "stop": 4095.681,
      "target": 4104.122,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.95,
        "bb_width_pct": 0.478
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T09-05-00Z_long_rsi_range_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T09:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4099.28,
      "stop": 4096.725,
      "target": 4104.39,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.14,
        "bb_width_pct": 0.462
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T09-05-00Z_long_vwap_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T09:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4099.28,
      "stop": 4095.771,
      "target": 4106.298,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.14,
        "bb_width_pct": 0.462
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T09-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T09:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4099.28,
      "stop": 4095.239,
      "target": 4107.362,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.14,
        "bb_width_pct": 0.462
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T09-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T09:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4099.28,
      "stop": 4097.089,
      "target": 4103.661,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.14,
        "bb_width_pct": 0.462
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T09-10-00Z_long_vwap_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T09:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4100.915,
      "stop": 4098.348,
      "target": 4106.049,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.45,
        "bb_width_pct": 0.421
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T09-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T09:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4100.915,
      "stop": 4097.691,
      "target": 4107.362,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.45,
        "bb_width_pct": 0.421
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T09-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T09:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4100.915,
      "stop": 4099.673,
      "target": 4103.399,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.45,
        "bb_width_pct": 0.421
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T09-15-00Z_long_vwap_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T09:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4101.595,
      "stop": 4099.449,
      "target": 4105.887,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.96,
        "bb_width_pct": 0.382
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T09-55-00Z_short_rsi_range_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T09:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4104.5,
      "stop": 4105.937,
      "target": 4101.625,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 17.76,
        "bb_width_pct": 0.249
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T10-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T10:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4106.475,
      "stop": 4108.767,
      "target": 4101.89,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.71,
        "bb_width_pct": 0.292
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T10-05-00Z_short_rsi_range_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T10:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4106.475,
      "stop": 4108.767,
      "target": 4101.89,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 18.71,
        "bb_width_pct": 0.292
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T10-10-00Z_short_rsi_range_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T10:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4106.405,
      "stop": 4108.557,
      "target": 4102.101,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 18.34,
        "bb_width_pct": 0.308
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T10-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T10:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4109.505,
      "stop": 4112.518,
      "target": 4103.48,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.27,
        "bb_width_pct": 0.369
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T10-25-00Z_short_rsi_range_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T10:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4109.505,
      "stop": 4112.518,
      "target": 4103.48,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 17.27,
        "bb_width_pct": 0.369
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T10-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T10:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4109.505,
      "stop": 4111.463,
      "target": 4105.588,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.27,
        "bb_width_pct": 0.369
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T10-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T10:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4106.805,
      "stop": 4107.355,
      "target": 4105.704,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.21,
        "bb_width_pct": 0.347
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T12-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T12:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4109.12,
      "stop": 4110.851,
      "target": 4105.658,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.89,
        "bb_width_pct": 0.368
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T12-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T12:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4109.12,
      "stop": 4110.65,
      "target": 4106.06,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.89,
        "bb_width_pct": 0.368
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T12-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T12:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4109.12,
      "stop": 4110.752,
      "target": 4105.856,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.89,
        "bb_width_pct": 0.368
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T12-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T12:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4101.705,
      "stop": 4099.122,
      "target": 4106.87,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.82,
        "bb_width_pct": 0.394
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T12-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T12:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4100.765,
      "stop": 4097.713,
      "target": 4106.87,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.47,
        "bb_width_pct": 0.399
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T13-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4100.995,
      "stop": 4098.057,
      "target": 4106.87,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.88,
        "bb_width_pct": 0.392
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T13-30-00Z_long_rsi_range_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4090.085,
      "stop": 4084.135,
      "target": 4101.985,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.16,
        "bb_width_pct": 0.568
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T13-30-00Z_long_vwap_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4090.085,
      "stop": 4083.969,
      "target": 4102.317,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.16,
        "bb_width_pct": 0.568
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T13-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4090.085,
      "stop": 4084.267,
      "target": 4101.72,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 19.16,
        "bb_width_pct": 0.568
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T13-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4097.51,
      "stop": 4095.395,
      "target": 4101.74,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.07,
        "bb_width_pct": 0.576
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T13-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4097.51,
      "stop": 4095.405,
      "target": 4101.72,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.07,
        "bb_width_pct": 0.576
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T13-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T13:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4097.51,
      "stop": 4096.205,
      "target": 4100.12,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.07,
        "bb_width_pct": 0.576
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T14-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T14:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4105.445,
      "stop": 4108.05,
      "target": 4100.235,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.74,
        "bb_width_pct": 0.434
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T14-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4090.185,
      "stop": 4085.418,
      "target": 4099.719,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.1,
        "bb_width_pct": 0.484
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T14-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4090.185,
      "stop": 4085.099,
      "target": 4100.356,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.1,
        "bb_width_pct": 0.484
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T14-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T14:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4095.795,
      "stop": 4093.957,
      "target": 4099.47,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.74,
        "bb_width_pct": 0.49
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T15-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T15:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4110.645,
      "stop": 4114.369,
      "target": 4103.197,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.85,
        "bb_width_pct": 0.517
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T16-00-00Z_short_vwap_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4111.52,
      "stop": 4116.259,
      "target": 4102.042,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 25.12,
        "bb_width_pct": 0.599
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T16-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4111.52,
      "stop": 4120.681,
      "target": 4093.198,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 25.12,
        "bb_width_pct": 0.599
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T16-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4111.52,
      "stop": 4114.858,
      "target": 4104.844,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 25.12,
        "bb_width_pct": 0.599
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T16-10-00Z_short_rsi_range_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T16:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4110.235,
      "stop": 4113.303,
      "target": 4104.099,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 18.28,
        "bb_width_pct": 0.572
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T16-10-00Z_short_vwap_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T16:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4110.235,
      "stop": 4114.163,
      "target": 4102.379,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 18.28,
        "bb_width_pct": 0.572
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T16-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T16:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4110.235,
      "stop": 4118.411,
      "target": 4093.883,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.28,
        "bb_width_pct": 0.572
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T16-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T16:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4111.095,
      "stop": 4113.427,
      "target": 4106.431,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 21.63,
        "bb_width_pct": 0.559
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T16-20-00Z_short_rsi_range_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T16:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4110.97,
      "stop": 4113.73,
      "target": 4105.451,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 17.64,
        "bb_width_pct": 0.558
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T16-20-00Z_short_vwap_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T16:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4110.97,
      "stop": 4115.108,
      "target": 4102.694,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 17.64,
        "bb_width_pct": 0.558
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T16-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T16:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4110.97,
      "stop": 4119.514,
      "target": 4093.883,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.64,
        "bb_width_pct": 0.558
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T16-30-00Z_short_vwap_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T16:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4112.815,
      "stop": 4117.679,
      "target": 4103.088,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 19.21,
        "bb_width_pct": 0.6
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T16-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T16:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4112.815,
      "stop": 4122.281,
      "target": 4093.883,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 19.21,
        "bb_width_pct": 0.6
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T16-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T16:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4112.815,
      "stop": 4115.176,
      "target": 4108.093,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.21,
        "bb_width_pct": 0.6
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T16-35-00Z_short_rsi_range_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4112.465,
      "stop": 4115.028,
      "target": 4107.34,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 17.78,
        "bb_width_pct": 0.532
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T16-35-00Z_short_vwap_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4112.465,
      "stop": 4117.066,
      "target": 4103.262,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 17.78,
        "bb_width_pct": 0.532
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T16-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4112.465,
      "stop": 4121.62,
      "target": 4094.155,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.78,
        "bb_width_pct": 0.532
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T16-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4112.465,
      "stop": 4114.443,
      "target": 4108.51,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.78,
        "bb_width_pct": 0.532
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T16-40-00Z_short_vwap_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T16:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4109.1,
      "stop": 4111.955,
      "target": 4103.391,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.43,
        "bb_width_pct": 0.484
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T16-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T16:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4109.1,
      "stop": 4116.573,
      "target": 4094.155,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.43,
        "bb_width_pct": 0.484
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T16-45-00Z_short_vwap_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4107.76,
      "stop": 4109.901,
      "target": 4103.477,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.77,
        "bb_width_pct": 0.438
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T16-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4107.76,
      "stop": 4114.562,
      "target": 4094.155,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.77,
        "bb_width_pct": 0.438
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T17-05-00Z_long_rsi_range_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T17:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4103.985,
      "stop": 4101.484,
      "target": 4108.988,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.59,
        "bb_width_pct": 0.333
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T17-10-00Z_long_rsi_range_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T17:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4104.01,
      "stop": 4101.51,
      "target": 4109.01,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.07,
        "bb_width_pct": 0.33
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T17-15-00Z_long_rsi_range_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T17:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4104.645,
      "stop": 4102.503,
      "target": 4108.93,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.72,
        "bb_width_pct": 0.338
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T17-50-00Z_long_rsi_range_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T17:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4103.78,
      "stop": 4102.227,
      "target": 4106.886,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.94,
        "bb_width_pct": 0.344
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T18-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T18:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4102.74,
      "stop": 4101.679,
      "target": 4104.862,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.21,
        "bb_width_pct": 0.346
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T18-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4103.44,
      "stop": 4103.239,
      "target": 4103.841,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.06,
        "bb_width_pct": 0.112
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T18-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T18:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4100.205,
      "stop": 4098.692,
      "target": 4103.23,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.02,
        "bb_width_pct": 0.18
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T18-45-00Z_long_vwap_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T18:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4100.205,
      "stop": 4098.597,
      "target": 4103.421,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.02,
        "bb_width_pct": 0.18
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T18-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T18:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4100.205,
      "stop": 4096.733,
      "target": 4107.15,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 11.02,
        "bb_width_pct": 0.18
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T18-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T18:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4100.205,
      "stop": 4098.78,
      "target": 4103.054,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.02,
        "bb_width_pct": 0.18
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T18-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T18:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4101.425,
      "stop": 4098.708,
      "target": 4106.86,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.13,
        "bb_width_pct": 0.183
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T19-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T19:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4101.53,
      "stop": 4101.122,
      "target": 4102.347,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.38,
        "bb_width_pct": 0.185
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T19-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T19:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4101.53,
      "stop": 4098.936,
      "target": 4106.718,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 3.38,
        "bb_width_pct": 0.185
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T19-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T19:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4101.53,
      "stop": 4101.174,
      "target": 4102.243,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.38,
        "bb_width_pct": 0.185
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-10T19-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T19:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4101.8,
      "stop": 4099.341,
      "target": 4106.718,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.2,
        "bb_width_pct": 0.172
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-12T23-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-12",
      "timestamp": "2026-07-12T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4077.53,
      "stop": 4068.799,
      "target": 4094.993,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.88,
        "bb_width_pct": 0.626
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-12T23-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-12",
      "timestamp": "2026-07-12T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4077.53,
      "stop": 4075.91,
      "target": 4080.77,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.88,
        "bb_width_pct": 0.626
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-12T23-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-12",
      "timestamp": "2026-07-12T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4078.81,
      "stop": 4070.719,
      "target": 4094.993,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.0,
        "bb_width_pct": 0.476
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T00-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T00:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4087.04,
      "stop": 4091.669,
      "target": 4077.782,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 26.33,
        "bb_width_pct": 0.535
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T00-10-00Z_short_rsi_range_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T00:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4087.04,
      "stop": 4091.669,
      "target": 4077.782,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 26.33,
        "bb_width_pct": 0.535
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T00-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T00:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4087.04,
      "stop": 4089.412,
      "target": 4082.295,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 26.33,
        "bb_width_pct": 0.535
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T00-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T00:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4069.245,
      "stop": 4065.53,
      "target": 4076.675,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.06,
        "bb_width_pct": 0.66
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T00-35-00Z_long_vwap_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T00:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4069.245,
      "stop": 4064.083,
      "target": 4079.57,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.06,
        "bb_width_pct": 0.66
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T00-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T00:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4069.245,
      "stop": 4058.245,
      "target": 4091.245,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.06,
        "bb_width_pct": 0.66
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T00-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T00:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4073.14,
      "stop": 4064.087,
      "target": 4091.245,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.96,
        "bb_width_pct": 0.651
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T00-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T00:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4073.14,
      "stop": 4070.57,
      "target": 4078.279,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.96,
        "bb_width_pct": 0.651
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T00-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T00:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4074.615,
      "stop": 4066.3,
      "target": 4091.245,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.47,
        "bb_width_pct": 0.649
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T01-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4084.85,
      "stop": 4088.563,
      "target": 4077.425,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.74,
        "bb_width_pct": 0.657
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T01-40-00Z_short_rsi_range_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T01:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4084.785,
      "stop": 4088.363,
      "target": 4077.629,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 15.28,
        "bb_width_pct": 0.677
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T01-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T01:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4084.785,
      "stop": 4089.075,
      "target": 4076.205,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.28,
        "bb_width_pct": 0.677
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T02-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4073.935,
      "stop": 4072.818,
      "target": 4076.17,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.77,
        "bb_width_pct": 0.547
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T02-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4073.935,
      "stop": 4072.8,
      "target": 4076.205,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.77,
        "bb_width_pct": 0.547
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T02-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4073.935,
      "stop": 4073.353,
      "target": 4075.099,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.77,
        "bb_width_pct": 0.547
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T03-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T03:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4061.62,
      "stop": 4055.533,
      "target": 4073.795,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.92,
        "bb_width_pct": 0.668
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T03-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T03:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4058.395,
      "stop": 4051.356,
      "target": 4072.472,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.19,
        "bb_width_pct": 0.697
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T03-15-00Z_long_rsi_range_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4059.75,
      "stop": 4054.081,
      "target": 4071.088,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.92,
        "bb_width_pct": 0.661
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T03-15-00Z_long_vwap_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4059.75,
      "stop": 4052.364,
      "target": 4074.523,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.92,
        "bb_width_pct": 0.661
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T03-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4059.75,
      "stop": 4053.484,
      "target": 4072.283,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 17.92,
        "bb_width_pct": 0.661
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T03-20-00Z_long_vwap_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T03:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4061.51,
      "stop": 4055.172,
      "target": 4074.186,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.07,
        "bb_width_pct": 0.615
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T03-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T03:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4061.51,
      "stop": 4056.124,
      "target": 4072.283,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 18.07,
        "bb_width_pct": 0.615
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T03-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T03:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4061.51,
      "stop": 4057.956,
      "target": 4068.618,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.07,
        "bb_width_pct": 0.615
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T03-25-00Z_long_vwap_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4061.985,
      "stop": 4056.041,
      "target": 4073.874,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.55,
        "bb_width_pct": 0.521
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T03-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4061.985,
      "stop": 4056.836,
      "target": 4072.283,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.55,
        "bb_width_pct": 0.521
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T03-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4061.985,
      "stop": 4058.984,
      "target": 4067.987,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.55,
        "bb_width_pct": 0.521
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T03-35-00Z_long_vwap_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T03:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4059.89,
      "stop": 4053.228,
      "target": 4073.213,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.74,
        "bb_width_pct": 0.569
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T03-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T03:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4059.89,
      "stop": 4054.041,
      "target": 4071.588,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 20.74,
        "bb_width_pct": 0.569
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T03-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T03:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4059.89,
      "stop": 4056.655,
      "target": 4066.359,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.74,
        "bb_width_pct": 0.569
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T03-45-00Z_long_rsi_range_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T03:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4060.265,
      "stop": 4057.405,
      "target": 4065.986,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.7,
        "bb_width_pct": 0.59
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T03-45-00Z_long_vwap_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T03:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4060.265,
      "stop": 4054.097,
      "target": 4072.601,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.7,
        "bb_width_pct": 0.59
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T03-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T03:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4060.265,
      "stop": 4054.604,
      "target": 4071.588,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 20.7,
        "bb_width_pct": 0.59
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T03-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T03:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4060.265,
      "stop": 4057.87,
      "target": 4065.056,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.7,
        "bb_width_pct": 0.59
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T03-55-00Z_long_vwap_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T03:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4060.66,
      "stop": 4054.953,
      "target": 4072.073,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.22,
        "bb_width_pct": 0.562
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T03-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T03:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4060.66,
      "stop": 4055.196,
      "target": 4071.588,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 17.22,
        "bb_width_pct": 0.562
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T04-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T04:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4057.455,
      "stop": 4054.414,
      "target": 4063.536,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.64,
        "bb_width_pct": 0.565
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T04-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T04:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4057.375,
      "stop": 4055.266,
      "target": 4061.593,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.76,
        "bb_width_pct": 0.487
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T04-15-00Z_long_vwap_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T04:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4057.375,
      "stop": 4050.633,
      "target": 4070.859,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.76,
        "bb_width_pct": 0.487
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T04-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T04:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4057.375,
      "stop": 4050.454,
      "target": 4071.218,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.76,
        "bb_width_pct": 0.487
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T04-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T04:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4057.375,
      "stop": 4055.254,
      "target": 4061.617,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.76,
        "bb_width_pct": 0.487
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T04-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T04:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4055.64,
      "stop": 4053.13,
      "target": 4060.66,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.51,
        "bb_width_pct": 0.388
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T04-30-00Z_long_vwap_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T04:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4056.175,
      "stop": 4049.233,
      "target": 4070.06,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.29,
        "bb_width_pct": 0.318
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T04-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T04:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4056.175,
      "stop": 4049.17,
      "target": 4070.185,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 11.29,
        "bb_width_pct": 0.318
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T04-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T04:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4056.175,
      "stop": 4054.146,
      "target": 4060.233,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.29,
        "bb_width_pct": 0.318
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T04-35-00Z_long_vwap_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4056.91,
      "stop": 4050.455,
      "target": 4069.82,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.3,
        "bb_width_pct": 0.242
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T04-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4056.91,
      "stop": 4050.272,
      "target": 4070.185,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 2.3,
        "bb_width_pct": 0.242
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T04-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4054.38,
      "stop": 4052.426,
      "target": 4058.288,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.33,
        "bb_width_pct": 0.22
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T04-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4054.38,
      "stop": 4051.875,
      "target": 4059.389,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.33,
        "bb_width_pct": 0.22
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T04-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4053.345,
      "stop": 4051.08,
      "target": 4057.874,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.65,
        "bb_width_pct": 0.231
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T04-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T04:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4054.675,
      "stop": 4053.168,
      "target": 4057.688,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.69,
        "bb_width_pct": 0.241
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T04-50-00Z_long_vwap_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T04:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4054.675,
      "stop": 4047.497,
      "target": 4069.032,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.69,
        "bb_width_pct": 0.241
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T04-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T04:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4054.675,
      "stop": 4047.22,
      "target": 4069.585,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 11.69,
        "bb_width_pct": 0.241
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T04-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T04:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4054.675,
      "stop": 4052.803,
      "target": 4058.42,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.69,
        "bb_width_pct": 0.241
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T04-55-00Z_long_vwap_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T04:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4058.95,
      "stop": 4054.005,
      "target": 4068.841,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.54,
        "bb_width_pct": 0.238
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T04-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T04:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4058.95,
      "stop": 4053.76,
      "target": 4069.33,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.54,
        "bb_width_pct": 0.238
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T05-00-00Z_long_vwap_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4060.46,
      "stop": 4056.353,
      "target": 4068.675,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.38,
        "bb_width_pct": 0.231
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T05-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4060.46,
      "stop": 4056.025,
      "target": 4069.33,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.38,
        "bb_width_pct": 0.231
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T05-10-00Z_short_rsi_range_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4069.72,
      "stop": 4075.262,
      "target": 4058.636,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 21.79,
        "bb_width_pct": 0.44
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T05-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4065.755,
      "stop": 4069.168,
      "target": 4058.93,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.7,
        "bb_width_pct": 0.465
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T05-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4065.755,
      "stop": 4068.002,
      "target": 4061.26,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.7,
        "bb_width_pct": 0.465
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T05-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4062.39,
      "stop": 4061.617,
      "target": 4063.935,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.05,
        "bb_width_pct": 0.472
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T06-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4051.16,
      "stop": 4046.934,
      "target": 4059.611,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.6,
        "bb_width_pct": 0.521
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T06-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4051.16,
      "stop": 4046.878,
      "target": 4059.724,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.6,
        "bb_width_pct": 0.521
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T06-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4053.095,
      "stop": 4049.9,
      "target": 4059.484,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.69,
        "bb_width_pct": 0.533
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T06-05-00Z_long_vwap_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4053.095,
      "stop": 4045.982,
      "target": 4067.321,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.69,
        "bb_width_pct": 0.533
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T06-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4053.095,
      "stop": 4049.13,
      "target": 4061.025,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.69,
        "bb_width_pct": 0.533
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T06-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4053.095,
      "stop": 4050.096,
      "target": 4059.092,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.69,
        "bb_width_pct": 0.533
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T06-15-00Z_long_rsi_range_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T06:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4053.6,
      "stop": 4050.873,
      "target": 4059.055,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.71,
        "bb_width_pct": 0.571
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T06-15-00Z_long_vwap_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T06:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4053.6,
      "stop": 4046.94,
      "target": 4066.92,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.71,
        "bb_width_pct": 0.571
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T06-20-00Z_long_rsi_range_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T06:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4055.395,
      "stop": 4053.54,
      "target": 4059.106,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.26,
        "bb_width_pct": 0.568
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T06-20-00Z_long_vwap_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T06:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4055.395,
      "stop": 4049.708,
      "target": 4066.768,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.26,
        "bb_width_pct": 0.568
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T06-55-00Z_long_vwap_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T06:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4055.655,
      "stop": 4050.441,
      "target": 4066.083,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.62,
        "bb_width_pct": 0.408
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T07-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T07:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4053.71,
      "stop": 4051.801,
      "target": 4057.528,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.07,
        "bb_width_pct": 0.41
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T07-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T07:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4053.71,
      "stop": 4051.831,
      "target": 4057.468,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.07,
        "bb_width_pct": 0.41
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T08-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4065.225,
      "stop": 4068.101,
      "target": 4059.474,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.71,
        "bb_width_pct": 0.31
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T08-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T08:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4074.085,
      "stop": 4079.849,
      "target": 4062.558,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 26.26,
        "bb_width_pct": 0.756
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T08-25-00Z_short_rsi_range_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T08:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4074.085,
      "stop": 4079.849,
      "target": 4062.558,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 26.26,
        "bb_width_pct": 0.756
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T08-25-00Z_short_vwap_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T08:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4074.085,
      "stop": 4079.533,
      "target": 4063.189,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 26.26,
        "bb_width_pct": 0.756
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T08-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T08:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4074.085,
      "stop": 4079.901,
      "target": 4062.452,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 26.26,
        "bb_width_pct": 0.756
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T08-30-00Z_short_rsi_range_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4072.565,
      "stop": 4077.105,
      "target": 4063.484,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 20.97,
        "bb_width_pct": 0.759
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T08-30-00Z_short_vwap_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4072.565,
      "stop": 4076.984,
      "target": 4063.727,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 20.97,
        "bb_width_pct": 0.759
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T08-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4072.565,
      "stop": 4077.621,
      "target": 4062.452,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 20.97,
        "bb_width_pct": 0.759
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T08-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4072.565,
      "stop": 4075.742,
      "target": 4066.211,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.97,
        "bb_width_pct": 0.759
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T08-55-00Z_short_rsi_range_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T08:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4074.585,
      "stop": 4077.671,
      "target": 4068.412,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 20.44,
        "bb_width_pct": 0.758
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T08-55-00Z_short_vwap_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T08:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4074.585,
      "stop": 4078.798,
      "target": 4066.16,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 20.44,
        "bb_width_pct": 0.758
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T08-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T08:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4074.585,
      "stop": 4080.651,
      "target": 4062.452,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 20.44,
        "bb_width_pct": 0.758
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T08-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T08:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4074.585,
      "stop": 4076.871,
      "target": 4070.012,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.44,
        "bb_width_pct": 0.758
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T09-05-00Z_short_vwap_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T09:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4074.075,
      "stop": 4077.706,
      "target": 4066.813,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.75,
        "bb_width_pct": 0.693
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T09-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T09:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4074.075,
      "stop": 4079.886,
      "target": 4062.452,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.75,
        "bb_width_pct": 0.693
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T09-15-00Z_short_vwap_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T09:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4073.145,
      "stop": 4076.066,
      "target": 4067.302,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 1.55,
        "bb_width_pct": 0.618
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T09-25-00Z_short_vwap_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T09:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4072.61,
      "stop": 4075.043,
      "target": 4067.744,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.27,
        "bb_width_pct": 0.417
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T09-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T09:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4072.61,
      "stop": 4076.443,
      "target": 4064.945,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.27,
        "bb_width_pct": 0.417
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T09-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T09:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4072.715,
      "stop": 4071.987,
      "target": 4074.172,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.55,
        "bb_width_pct": 0.205
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T10-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T10:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4070.35,
      "stop": 4068.857,
      "target": 4073.335,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.67,
        "bb_width_pct": 0.221
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T10-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T10:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4067.78,
      "stop": 4065.245,
      "target": 4072.85,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.38,
        "bb_width_pct": 0.264
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T10-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T10:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4068.39,
      "stop": 4066.32,
      "target": 4072.53,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.76,
        "bb_width_pct": 0.276
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T10-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T10:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4065.27,
      "stop": 4063.001,
      "target": 4069.808,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.66,
        "bb_width_pct": 0.304
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T10-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T10:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4066.265,
      "stop": 4063.896,
      "target": 4071.002,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.78,
        "bb_width_pct": 0.29
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T10-30-00Z_long_rsi_range_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T10:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4066.265,
      "stop": 4063.896,
      "target": 4071.002,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.78,
        "bb_width_pct": 0.29
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T10-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T10:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4058.435,
      "stop": 4053.813,
      "target": 4067.679,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.37,
        "bb_width_pct": 0.584
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T10-50-00Z_long_rsi_range_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T10:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4058.435,
      "stop": 4053.813,
      "target": 4067.679,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.37,
        "bb_width_pct": 0.584
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T10-50-00Z_long_vwap_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T10:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4058.435,
      "stop": 4055.571,
      "target": 4064.163,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.37,
        "bb_width_pct": 0.584
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T11-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T11:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4056.76,
      "stop": 4053.321,
      "target": 4063.638,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.22,
        "bb_width_pct": 0.434
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T12-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T12:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4056.555,
      "stop": 4054.123,
      "target": 4061.419,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.11,
        "bb_width_pct": 0.426
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T13-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T13:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4054.95,
      "stop": 4051.854,
      "target": 4061.143,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.29,
        "bb_width_pct": 0.347
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T13-40-00Z_long_vwap_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T13:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4054.95,
      "stop": 4051.924,
      "target": 4061.003,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.29,
        "bb_width_pct": 0.347
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T13-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T13:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4054.95,
      "stop": 4051.995,
      "target": 4060.861,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.29,
        "bb_width_pct": 0.347
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T13-50-00Z_long_rsi_range_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T13:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4051.775,
      "stop": 4047.346,
      "target": 4060.633,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.01,
        "bb_width_pct": 0.436
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T13-50-00Z_long_vwap_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T13:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4051.775,
      "stop": 4047.594,
      "target": 4060.136,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.01,
        "bb_width_pct": 0.436
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T13-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T13:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4051.775,
      "stop": 4048.898,
      "target": 4057.53,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 18.01,
        "bb_width_pct": 0.436
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T13-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T13:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4051.775,
      "stop": 4048.098,
      "target": 4059.129,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.01,
        "bb_width_pct": 0.436
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T15-35-00Z_long_vwap_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T15:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4015.655,
      "stop": 4003.299,
      "target": 4040.368,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.95,
        "bb_width_pct": 0.957
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T15-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T15:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4013.495,
      "stop": 4009.928,
      "target": 4020.628,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.42,
        "bb_width_pct": 0.807
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T15-45-00Z_long_vwap_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T15:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4013.83,
      "stop": 4001.142,
      "target": 4039.206,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.56,
        "bb_width_pct": 0.643
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T15-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T15:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4013.83,
      "stop": 4010.755,
      "target": 4019.981,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.56,
        "bb_width_pct": 0.643
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T15-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T15:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4013.62,
      "stop": 4010.742,
      "target": 4019.375,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.49,
        "bb_width_pct": 0.429
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T15-55-00Z_long_vwap_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T15:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4016.09,
      "stop": 4005.059,
      "target": 4038.153,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.53,
        "bb_width_pct": 0.396
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T16-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T16:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4012.26,
      "stop": 4009.65,
      "target": 4017.481,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.58,
        "bb_width_pct": 0.326
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T16-35-00Z_long_rsi_range_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3996.995,
      "stop": 3989.389,
      "target": 4012.208,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.68,
        "bb_width_pct": 0.617
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T16-35-00Z_long_vwap_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3996.995,
      "stop": 3978.546,
      "target": 4033.894,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.68,
        "bb_width_pct": 0.617
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T16-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T16:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3996.995,
      "stop": 3980.922,
      "target": 4029.14,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 25.68,
        "bb_width_pct": 0.617
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T16-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T16:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4000.84,
      "stop": 3995.433,
      "target": 4011.654,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.37,
        "bb_width_pct": 0.665
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T16-40-00Z_long_rsi_range_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T16:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4000.84,
      "stop": 3995.433,
      "target": 4011.654,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.37,
        "bb_width_pct": 0.665
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T16-40-00Z_long_vwap_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T16:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4000.84,
      "stop": 3984.619,
      "target": 4033.282,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.37,
        "bb_width_pct": 0.665
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T16-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T16:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4000.84,
      "stop": 3986.99,
      "target": 4028.54,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 20.37,
        "bb_width_pct": 0.665
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T16-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3993.5,
      "stop": 3986.021,
      "target": 4008.459,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.77,
        "bb_width_pct": 0.859
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T16-55-00Z_long_rsi_range_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3993.5,
      "stop": 3986.021,
      "target": 4008.459,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.77,
        "bb_width_pct": 0.859
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T16-55-00Z_long_vwap_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3993.5,
      "stop": 3974.564,
      "target": 4031.371,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.77,
        "bb_width_pct": 0.859
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T16-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3993.5,
      "stop": 3977.812,
      "target": 4024.875,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 24.77,
        "bb_width_pct": 0.859
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T17-00-00Z_long_rsi_range_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T17:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3994.805,
      "stop": 3988.51,
      "target": 4007.394,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.86,
        "bb_width_pct": 0.889
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T17-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T17:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3994.805,
      "stop": 3980.934,
      "target": 4022.547,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 25.86,
        "bb_width_pct": 0.889
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T17-05-00Z_long_rsi_range_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T17:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3998.235,
      "stop": 3994.115,
      "target": 4006.475,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.96,
        "bb_width_pct": 0.885
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T17-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T17:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3998.235,
      "stop": 3987.446,
      "target": 4019.812,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 20.96,
        "bb_width_pct": 0.885
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T17-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T17:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3998.235,
      "stop": 3994.914,
      "target": 4004.877,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.96,
        "bb_width_pct": 0.885
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T17-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T17:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3995.06,
      "stop": 3992.267,
      "target": 4000.645,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.92,
        "bb_width_pct": 0.485
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T18-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T18:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3992.12,
      "stop": 3986.446,
      "target": 4003.467,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.93,
        "bb_width_pct": 0.297
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T18-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T18:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3993.9,
      "stop": 3992.637,
      "target": 3996.426,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.11,
        "bb_width_pct": 0.3
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T18-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T18:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3993.9,
      "stop": 3989.116,
      "target": 4003.467,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.11,
        "bb_width_pct": 0.3
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T18-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T18:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3993.9,
      "stop": 3991.858,
      "target": 3997.984,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.11,
        "bb_width_pct": 0.3
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T18-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T18:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3994.795,
      "stop": 3994.346,
      "target": 3995.693,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.49,
        "bb_width_pct": 0.33
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T18-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T18:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3994.795,
      "stop": 3990.459,
      "target": 4003.467,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.49,
        "bb_width_pct": 0.33
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T18-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T18:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3994.795,
      "stop": 3993.766,
      "target": 3996.853,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.49,
        "bb_width_pct": 0.33
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T18-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T18:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4003.825,
      "stop": 4007.339,
      "target": 3996.797,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.8,
        "bb_width_pct": 0.383
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T18-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T18:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4003.825,
      "stop": 4006.593,
      "target": 3998.289,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.8,
        "bb_width_pct": 0.383
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T18-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T18:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4001.51,
      "stop": 4003.86,
      "target": 3996.811,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.23,
        "bb_width_pct": 0.385
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T20-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T20:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4002.475,
      "stop": 4003.586,
      "target": 4000.252,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.65,
        "bb_width_pct": 0.242
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T20-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T20:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4002.475,
      "stop": 4005.764,
      "target": 3995.898,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.65,
        "bb_width_pct": 0.242
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T20-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T20:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4002.475,
      "stop": 4003.728,
      "target": 3999.968,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.65,
        "bb_width_pct": 0.242
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T22-00-00Z_long_vwap_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T22:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4001.83,
      "stop": 3972.339,
      "target": 4060.812,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.67,
        "bb_width_pct": 0.196
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T22-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T22:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4001.945,
      "stop": 4004.626,
      "target": 3996.582,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.59,
        "bb_width_pct": 0.198
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T22-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T22:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4004.1,
      "stop": 4005.989,
      "target": 4000.321,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.61,
        "bb_width_pct": 0.215
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T22-10-00Z_long_vwap_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T22:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4004.1,
      "stop": 3977.885,
      "target": 4056.53,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.61,
        "bb_width_pct": 0.215
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T22-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T22:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4004.1,
      "stop": 4005.835,
      "target": 4000.631,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.61,
        "bb_width_pct": 0.215
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T22-15-00Z_long_vwap_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T22:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4004.925,
      "stop": 3980.043,
      "target": 4054.689,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.64,
        "bb_width_pct": 0.206
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T22-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T22:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4004.185,
      "stop": 4005.757,
      "target": 4001.04,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.18,
        "bb_width_pct": 0.216
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T22-20-00Z_short_rsi_range_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T22:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4004.185,
      "stop": 4005.757,
      "target": 4001.04,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 15.18,
        "bb_width_pct": 0.216
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T22-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T22:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4004.185,
      "stop": 4007.986,
      "target": 3996.582,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.18,
        "bb_width_pct": 0.216
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T22-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T22:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4004.185,
      "stop": 4005.608,
      "target": 4001.339,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.18,
        "bb_width_pct": 0.216
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T22-25-00Z_long_vwap_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T22:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4004.555,
      "stop": 3981.158,
      "target": 4051.349,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.05,
        "bb_width_pct": 0.21
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T22-30-00Z_short_rsi_range_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T22:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4004.115,
      "stop": 4005.38,
      "target": 4001.586,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 15.6,
        "bb_width_pct": 0.217
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T22-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T22:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4004.115,
      "stop": 4007.881,
      "target": 3996.582,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.6,
        "bb_width_pct": 0.217
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T22-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T22:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4004.115,
      "stop": 4005.232,
      "target": 4001.881,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.6,
        "bb_width_pct": 0.217
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T22-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T22:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4003.66,
      "stop": 4007.127,
      "target": 3996.725,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 18.8,
        "bb_width_pct": 0.221
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T22-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T22:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4003.66,
      "stop": 4004.465,
      "target": 4002.05,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.8,
        "bb_width_pct": 0.221
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T22-40-00Z_long_vwap_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T22:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4004.05,
      "stop": 3982.55,
      "target": 4047.049,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.99,
        "bb_width_pct": 0.218
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T22-45-00Z_short_rsi_range_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T22:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4003.965,
      "stop": 4005.093,
      "target": 4001.709,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 15.0,
        "bb_width_pct": 0.223
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T22-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T22:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4003.965,
      "stop": 4005.981,
      "target": 3999.932,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.0,
        "bb_width_pct": 0.223
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T22-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T22:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4003.965,
      "stop": 4004.745,
      "target": 4002.405,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.0,
        "bb_width_pct": 0.223
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T23-05-00Z_long_vwap_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4001.825,
      "stop": 3982.141,
      "target": 4041.193,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.02,
        "bb_width_pct": 0.189
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T23-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T23:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3999.22,
      "stop": 3997.707,
      "target": 4002.246,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.51,
        "bb_width_pct": 0.184
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T23-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T23:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3999.22,
      "stop": 3998.067,
      "target": 4001.526,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.51,
        "bb_width_pct": 0.184
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T23-35-00Z_long_rsi_range_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3995.84,
      "stop": 3992.964,
      "target": 4001.592,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.29,
        "bb_width_pct": 0.286
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T23-35-00Z_long_vwap_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3995.84,
      "stop": 3976.105,
      "target": 4035.31,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.29,
        "bb_width_pct": 0.286
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T23-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3995.84,
      "stop": 3993.794,
      "target": 3999.932,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 25.29,
        "bb_width_pct": 0.286
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T23-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3997.425,
      "stop": 3995.617,
      "target": 4001.041,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.99,
        "bb_width_pct": 0.328
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T23-45-00Z_long_rsi_range_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3997.425,
      "stop": 3995.617,
      "target": 4001.041,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.99,
        "bb_width_pct": 0.328
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T23-45-00Z_long_vwap_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3997.425,
      "stop": 3979.333,
      "target": 4033.609,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.99,
        "bb_width_pct": 0.328
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T23-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3997.425,
      "stop": 3996.171,
      "target": 3999.932,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 17.99,
        "bb_width_pct": 0.328
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T23-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3997.425,
      "stop": 3996.419,
      "target": 3999.438,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.99,
        "bb_width_pct": 0.328
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T23-50-00Z_long_vwap_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T23:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3999.055,
      "stop": 3982.152,
      "target": 4032.861,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.98,
        "bb_width_pct": 0.322
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-13T23-55-00Z_long_vwap_mean_reversion",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T23:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4001.26,
      "stop": 3985.796,
      "target": 4032.189,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.59,
        "bb_width_pct": 0.309
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T00-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3994.41,
      "stop": 3991.557,
      "target": 4000.116,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.69,
        "bb_width_pct": 0.325
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T00-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3994.41,
      "stop": 3992.072,
      "target": 3999.086,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.69,
        "bb_width_pct": 0.325
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T00-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T00:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3994.835,
      "stop": 3992.437,
      "target": 3999.63,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.05,
        "bb_width_pct": 0.328
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T00-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T00:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3994.835,
      "stop": 3992.477,
      "target": 3999.55,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.05,
        "bb_width_pct": 0.328
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T00-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T00:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3994.835,
      "stop": 3992.912,
      "target": 3998.681,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.05,
        "bb_width_pct": 0.328
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T00-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T00:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3995.715,
      "stop": 3993.967,
      "target": 3999.21,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.19,
        "bb_width_pct": 0.321
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T00-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T00:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3990.59,
      "stop": 3987.008,
      "target": 3997.754,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.75,
        "bb_width_pct": 0.401
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T00-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T00:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3990.59,
      "stop": 3988.438,
      "target": 3994.895,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 11.75,
        "bb_width_pct": 0.401
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T00-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T00:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3990.59,
      "stop": 3987.505,
      "target": 3996.759,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.75,
        "bb_width_pct": 0.401
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T00-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T00:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3995.425,
      "stop": 3994.474,
      "target": 3997.327,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.63,
        "bb_width_pct": 0.377
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T00-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4004.915,
      "stop": 4008.667,
      "target": 3997.412,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.04,
        "bb_width_pct": 0.392
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T00-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T00:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4003.605,
      "stop": 4006.638,
      "target": 3997.538,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.3,
        "bb_width_pct": 0.407
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T00-35-00Z_short_vwap_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T00:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4003.605,
      "stop": 4007.649,
      "target": 3995.516,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 9.3,
        "bb_width_pct": 0.407
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T00-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T00:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4003.605,
      "stop": 4007.847,
      "target": 3995.12,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.3,
        "bb_width_pct": 0.407
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T00-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T00:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4002.825,
      "stop": 4006.565,
      "target": 3995.345,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.27,
        "bb_width_pct": 0.417
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T00-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T00:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4002.685,
      "stop": 4005.192,
      "target": 3997.671,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.32,
        "bb_width_pct": 0.421
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T00-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T00:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4002.685,
      "stop": 4006.355,
      "target": 3995.345,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.32,
        "bb_width_pct": 0.421
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T00-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T00:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4004.285,
      "stop": 4007.369,
      "target": 3998.118,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.24,
        "bb_width_pct": 0.464
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T00-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T00:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4004.285,
      "stop": 4008.744,
      "target": 3995.368,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.24,
        "bb_width_pct": 0.464
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T01-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3998.895,
      "stop": 4000.604,
      "target": 3995.477,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.21,
        "bb_width_pct": 0.464
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T01-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T01:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4010.58,
      "stop": 4015.385,
      "target": 4000.97,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.39,
        "bb_width_pct": 0.45
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T02-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T02:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4009.615,
      "stop": 4013.634,
      "target": 4001.577,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.47,
        "bb_width_pct": 0.429
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T02-00-00Z_short_vwap_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T02:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4009.615,
      "stop": 4014.685,
      "target": 3999.474,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.47,
        "bb_width_pct": 0.429
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T02-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T02:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4009.615,
      "stop": 4015.44,
      "target": 3997.965,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.47,
        "bb_width_pct": 0.429
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T02-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T02:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4011.885,
      "stop": 4016.45,
      "target": 4002.754,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.2,
        "bb_width_pct": 0.459
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T02-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T02:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4014.98,
      "stop": 4020.306,
      "target": 4004.328,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.54,
        "bb_width_pct": 0.69
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T02-20-00Z_short_rsi_range_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T02:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4014.98,
      "stop": 4020.306,
      "target": 4004.328,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 13.54,
        "bb_width_pct": 0.69
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T02-20-00Z_short_vwap_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T02:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4014.98,
      "stop": 4021.663,
      "target": 4001.615,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.54,
        "bb_width_pct": 0.69
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T02-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T02:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4014.98,
      "stop": 4021.775,
      "target": 4001.39,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.54,
        "bb_width_pct": 0.69
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T02-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T02:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4014.98,
      "stop": 4019.3,
      "target": 4006.34,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.54,
        "bb_width_pct": 0.69
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T02-30-00Z_short_rsi_range_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4014.305,
      "stop": 4018.663,
      "target": 4005.588,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 20.46,
        "bb_width_pct": 0.776
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T02-30-00Z_short_vwap_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4014.305,
      "stop": 4020.179,
      "target": 4002.558,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 20.46,
        "bb_width_pct": 0.776
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T02-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4014.305,
      "stop": 4020.762,
      "target": 4001.39,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 20.46,
        "bb_width_pct": 0.776
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T02-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4014.305,
      "stop": 4017.404,
      "target": 4008.107,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.46,
        "bb_width_pct": 0.776
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T02-35-00Z_short_rsi_range_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T02:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4014.025,
      "stop": 4018.0,
      "target": 4006.075,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 19.52,
        "bb_width_pct": 0.796
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T02-35-00Z_short_vwap_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T02:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4014.025,
      "stop": 4019.578,
      "target": 4002.92,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 19.52,
        "bb_width_pct": 0.796
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T02-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T02:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4014.025,
      "stop": 4020.342,
      "target": 4001.39,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 19.52,
        "bb_width_pct": 0.796
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T02-40-00Z_short_vwap_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T02:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4011.125,
      "stop": 4015.078,
      "target": 4003.219,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 17.37,
        "bb_width_pct": 0.786
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T02-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T02:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4011.125,
      "stop": 4015.992,
      "target": 4001.39,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.37,
        "bb_width_pct": 0.786
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T02-45-00Z_short_vwap_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4010.11,
      "stop": 4013.442,
      "target": 4003.446,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.66,
        "bb_width_pct": 0.742
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T03-05-00Z_short_vwap_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T03:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4014.405,
      "stop": 4019.372,
      "target": 4004.47,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 7.89,
        "bb_width_pct": 0.599
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T03-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T03:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4014.405,
      "stop": 4020.913,
      "target": 4001.39,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 7.89,
        "bb_width_pct": 0.599
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T03-10-00Z_short_vwap_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T03:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4014.355,
      "stop": 4019.173,
      "target": 4004.718,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.16,
        "bb_width_pct": 0.54
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T03-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T03:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4014.355,
      "stop": 4020.837,
      "target": 4001.39,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.16,
        "bb_width_pct": 0.54
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T03-15-00Z_short_vwap_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4013.72,
      "stop": 4018.106,
      "target": 4004.948,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.34,
        "bb_width_pct": 0.446
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T03-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4013.72,
      "stop": 4019.885,
      "target": 4001.39,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.34,
        "bb_width_pct": 0.446
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T03-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4018.16,
      "stop": 4021.145,
      "target": 4012.189,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.68,
        "bb_width_pct": 0.335
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T03-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4015.225,
      "stop": 4015.841,
      "target": 4013.992,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.02,
        "bb_width_pct": 0.26
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T03-30-00Z_short_vwap_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4015.225,
      "stop": 4019.972,
      "target": 4005.731,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.02,
        "bb_width_pct": 0.26
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T03-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4015.225,
      "stop": 4021.57,
      "target": 4002.535,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.02,
        "bb_width_pct": 0.26
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T03-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4015.225,
      "stop": 4016.598,
      "target": 4012.478,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.02,
        "bb_width_pct": 0.26
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T03-55-00Z_short_rsi_range_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T03:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4017.13,
      "stop": 4018.339,
      "target": 4014.712,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 12.65,
        "bb_width_pct": 0.219
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T03-55-00Z_short_vwap_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T03:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4017.13,
      "stop": 4022.287,
      "target": 4006.817,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.65,
        "bb_width_pct": 0.219
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T03-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T03:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4017.13,
      "stop": 4022.858,
      "target": 4005.675,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.65,
        "bb_width_pct": 0.219
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T04-05-00Z_short_vwap_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4015.295,
      "stop": 4019.336,
      "target": 4007.214,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 1.04,
        "bb_width_pct": 0.214
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T04-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4015.295,
      "stop": 4020.105,
      "target": 4005.675,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.04,
        "bb_width_pct": 0.214
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T04-15-00Z_short_vwap_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T04:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4015.17,
      "stop": 4018.994,
      "target": 4007.523,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 1.84,
        "bb_width_pct": 0.214
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T04-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T04:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4015.17,
      "stop": 4019.918,
      "target": 4005.675,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.84,
        "bb_width_pct": 0.214
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T04-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4020.765,
      "stop": 4022.823,
      "target": 4016.65,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.83,
        "bb_width_pct": 0.233
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T04-40-00Z_short_rsi_range_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4020.765,
      "stop": 4022.823,
      "target": 4016.65,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 13.83,
        "bb_width_pct": 0.233
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T04-40-00Z_short_vwap_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4020.765,
      "stop": 4026.879,
      "target": 4008.537,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.83,
        "bb_width_pct": 0.233
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T04-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4020.765,
      "stop": 4027.046,
      "target": 4008.202,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.83,
        "bb_width_pct": 0.233
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T04-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4020.765,
      "stop": 4022.867,
      "target": 4016.56,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.83,
        "bb_width_pct": 0.233
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T04-45-00Z_short_vwap_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4018.01,
      "stop": 4022.656,
      "target": 4008.717,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.71,
        "bb_width_pct": 0.229
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T04-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4018.01,
      "stop": 4022.914,
      "target": 4008.202,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 6.71,
        "bb_width_pct": 0.229
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T04-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4018.01,
      "stop": 4018.666,
      "target": 4016.698,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.71,
        "bb_width_pct": 0.229
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T05-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4019.745,
      "stop": 4020.806,
      "target": 4017.623,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.95,
        "bb_width_pct": 0.23
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T05-00-00Z_short_vwap_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4019.745,
      "stop": 4024.986,
      "target": 4009.264,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.95,
        "bb_width_pct": 0.23
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T05-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4019.745,
      "stop": 4024.012,
      "target": 4011.21,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.95,
        "bb_width_pct": 0.23
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T05-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4019.745,
      "stop": 4020.844,
      "target": 4017.547,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.95,
        "bb_width_pct": 0.23
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T05-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4022.98,
      "stop": 4025.538,
      "target": 4017.864,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.9,
        "bb_width_pct": 0.257
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T05-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4023.235,
      "stop": 4025.72,
      "target": 4018.265,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.41,
        "bb_width_pct": 0.275
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T05-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4021.585,
      "stop": 4023.087,
      "target": 4018.581,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.0,
        "bb_width_pct": 0.275
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T05-15-00Z_short_vwap_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4021.585,
      "stop": 4027.438,
      "target": 4009.879,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.0,
        "bb_width_pct": 0.275
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T05-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4021.585,
      "stop": 4024.845,
      "target": 4015.065,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.0,
        "bb_width_pct": 0.275
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T05-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4021.585,
      "stop": 4022.955,
      "target": 4018.845,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.0,
        "bb_width_pct": 0.275
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T05-20-00Z_short_vwap_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4020.9,
      "stop": 4026.322,
      "target": 4010.056,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.03,
        "bb_width_pct": 0.269
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T05-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4020.9,
      "stop": 4023.227,
      "target": 4016.245,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.03,
        "bb_width_pct": 0.269
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T05-35-00Z_short_rsi_range_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4028.095,
      "stop": 4031.994,
      "target": 4020.297,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 11.82,
        "bb_width_pct": 0.378
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T05-35-00Z_short_vwap_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4028.095,
      "stop": 4036.761,
      "target": 4010.764,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.82,
        "bb_width_pct": 0.378
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T05-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4028.095,
      "stop": 4032.299,
      "target": 4019.688,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.82,
        "bb_width_pct": 0.378
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T05-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T05:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4030.975,
      "stop": 4035.552,
      "target": 4021.822,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.8,
        "bb_width_pct": 0.477
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T05-45-00Z_short_vwap_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T05:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4030.975,
      "stop": 4040.788,
      "target": 4011.349,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 19.8,
        "bb_width_pct": 0.477
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T05-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T05:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4030.975,
      "stop": 4035.61,
      "target": 4021.705,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 19.8,
        "bb_width_pct": 0.477
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T06-00-00Z_short_rsi_range_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4029.985,
      "stop": 4032.922,
      "target": 4024.111,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 19.4,
        "bb_width_pct": 0.488
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T06-00-00Z_short_vwap_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4029.985,
      "stop": 4038.903,
      "target": 4012.149,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 19.4,
        "bb_width_pct": 0.488
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T06-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4029.985,
      "stop": 4034.125,
      "target": 4021.705,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 19.4,
        "bb_width_pct": 0.488
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T06-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4029.985,
      "stop": 4032.496,
      "target": 4024.963,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.4,
        "bb_width_pct": 0.488
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T06-10-00Z_short_rsi_range_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T06:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4031.15,
      "stop": 4034.029,
      "target": 4025.391,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 16.54,
        "bb_width_pct": 0.492
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T06-10-00Z_short_vwap_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T06:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4031.15,
      "stop": 4040.394,
      "target": 4012.663,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 16.54,
        "bb_width_pct": 0.492
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T06-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T06:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4031.15,
      "stop": 4035.499,
      "target": 4022.453,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 16.54,
        "bb_width_pct": 0.492
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T06-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T06:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4031.15,
      "stop": 4033.636,
      "target": 4026.178,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.54,
        "bb_width_pct": 0.492
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T06-15-00Z_short_vwap_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T06:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4028.245,
      "stop": 4035.927,
      "target": 4012.881,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.23,
        "bb_width_pct": 0.489
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T06-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T06:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4028.245,
      "stop": 4031.032,
      "target": 4022.67,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 10.23,
        "bb_width_pct": 0.489
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T06-20-00Z_short_vwap_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T06:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4027.865,
      "stop": 4035.26,
      "target": 4013.074,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.54,
        "bb_width_pct": 0.478
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T06-25-00Z_short_vwap_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T06:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4023.105,
      "stop": 4028.046,
      "target": 4013.223,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.32,
        "bb_width_pct": 0.447
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T06-35-00Z_short_vwap_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4024.065,
      "stop": 4029.343,
      "target": 4013.51,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.63,
        "bb_width_pct": 0.402
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T06-45-00Z_short_vwap_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T06:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4024.405,
      "stop": 4029.719,
      "target": 4013.776,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.98,
        "bb_width_pct": 0.365
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T06-50-00Z_short_vwap_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T06:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4023.61,
      "stop": 4028.462,
      "target": 4013.907,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 16.33,
        "bb_width_pct": 0.363
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T07-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T07:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4025.66,
      "stop": 4024.73,
      "target": 4027.519,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.3,
        "bb_width_pct": 0.319
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T07-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T07:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4025.365,
      "stop": 4025.214,
      "target": 4025.668,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.91,
        "bb_width_pct": 0.175
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T08-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4018.905,
      "stop": 4016.053,
      "target": 4024.608,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.39,
        "bb_width_pct": 0.229
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T08-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T08:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4017.43,
      "stop": 4014.104,
      "target": 4024.082,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.9,
        "bb_width_pct": 0.332
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T08-10-00Z_long_vwap_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T08:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4017.43,
      "stop": 4014.101,
      "target": 4024.089,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.9,
        "bb_width_pct": 0.332
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T08-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T08:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4017.43,
      "stop": 4013.954,
      "target": 4024.382,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 20.9,
        "bb_width_pct": 0.332
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T08-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T08:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4017.43,
      "stop": 4014.552,
      "target": 4023.187,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.9,
        "bb_width_pct": 0.332
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T08-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T08:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4019.145,
      "stop": 4016.526,
      "target": 4024.382,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.14,
        "bb_width_pct": 0.349
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T09-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4019.88,
      "stop": 4019.337,
      "target": 4020.966,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.7,
        "bb_width_pct": 0.316
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T09-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4019.88,
      "stop": 4017.854,
      "target": 4023.932,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.7,
        "bb_width_pct": 0.316
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T09-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4019.88,
      "stop": 4019.461,
      "target": 4020.719,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.7,
        "bb_width_pct": 0.316
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T09-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T09:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4015.915,
      "stop": 4014.12,
      "target": 4019.506,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.46,
        "bb_width_pct": 0.211
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T09-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4016.175,
      "stop": 4014.903,
      "target": 4018.719,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.05,
        "bb_width_pct": 0.199
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T09-35-00Z_long_vwap_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4016.175,
      "stop": 4013.537,
      "target": 4021.452,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.05,
        "bb_width_pct": 0.199
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T09-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T09:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4016.175,
      "stop": 4013.29,
      "target": 4021.945,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.05,
        "bb_width_pct": 0.199
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T09-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T09:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4017.14,
      "stop": 4014.737,
      "target": 4021.945,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.78,
        "bb_width_pct": 0.202
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T09-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T09:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4023.22,
      "stop": 4025.335,
      "target": 4018.989,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.07,
        "bb_width_pct": 0.216
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T09-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T09:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4021.0,
      "stop": 4021.916,
      "target": 4019.168,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.07,
        "bb_width_pct": 0.217
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T10-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T10:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4017.9,
      "stop": 4015.878,
      "target": 4021.945,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.34,
        "bb_width_pct": 0.22
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T10-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T10:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4019.22,
      "stop": 4017.857,
      "target": 4021.945,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.47,
        "bb_width_pct": 0.218
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T11-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T11:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4023.085,
      "stop": 4024.903,
      "target": 4019.449,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.65,
        "bb_width_pct": 0.215
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T11-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T11:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4023.06,
      "stop": 4024.693,
      "target": 4019.793,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.18,
        "bb_width_pct": 0.215
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T11-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T11:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4025.025,
      "stop": 4027.33,
      "target": 4020.416,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.79,
        "bb_width_pct": 0.28
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T11-25-00Z_short_vwap_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T11:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4025.025,
      "stop": 4027.443,
      "target": 4020.19,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.79,
        "bb_width_pct": 0.28
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T11-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T11:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4025.025,
      "stop": 4027.012,
      "target": 4021.05,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.79,
        "bb_width_pct": 0.28
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T11-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T11:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4025.025,
      "stop": 4026.946,
      "target": 4021.183,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.79,
        "bb_width_pct": 0.28
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T11-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T11:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4027.84,
      "stop": 4030.852,
      "target": 4021.817,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.33,
        "bb_width_pct": 0.323
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T11-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T11:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4028.5,
      "stop": 4031.523,
      "target": 4022.453,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.9,
        "bb_width_pct": 0.364
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T11-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T11:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4028.06,
      "stop": 4031.332,
      "target": 4021.515,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.54,
        "bb_width_pct": 0.392
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T11-40-00Z_short_rsi_range_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T11:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4028.06,
      "stop": 4031.332,
      "target": 4021.515,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 15.54,
        "bb_width_pct": 0.392
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T11-40-00Z_short_vwap_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T11:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4028.06,
      "stop": 4031.429,
      "target": 4021.321,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.54,
        "bb_width_pct": 0.392
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T11-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T11:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4028.06,
      "stop": 4031.001,
      "target": 4022.177,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.54,
        "bb_width_pct": 0.392
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T11-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T11:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4028.06,
      "stop": 4030.596,
      "target": 4022.987,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.54,
        "bb_width_pct": 0.392
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T11-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T11:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4028.55,
      "stop": 4031.808,
      "target": 4022.034,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.24,
        "bb_width_pct": 0.412
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T11-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T11:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4028.55,
      "stop": 4031.067,
      "target": 4023.517,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.24,
        "bb_width_pct": 0.412
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T12-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4030.045,
      "stop": 4033.154,
      "target": 4023.827,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.26,
        "bb_width_pct": 0.464
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T12-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4030.045,
      "stop": 4033.608,
      "target": 4022.92,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.26,
        "bb_width_pct": 0.464
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T12-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4030.045,
      "stop": 4032.441,
      "target": 4025.253,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.26,
        "bb_width_pct": 0.464
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T14-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4080.24,
      "stop": 4080.859,
      "target": 4079.002,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.17,
        "bb_width_pct": 0.406
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T14-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4080.24,
      "stop": 4082.869,
      "target": 4074.983,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.17,
        "bb_width_pct": 0.406
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T15-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T15:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4088.805,
      "stop": 4092.892,
      "target": 4080.631,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.51,
        "bb_width_pct": 0.404
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T15-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T15:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4088.805,
      "stop": 4093.891,
      "target": 4078.634,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.51,
        "bb_width_pct": 0.404
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T15-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T15:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4090.125,
      "stop": 4094.265,
      "target": 4081.846,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.03,
        "bb_width_pct": 0.556
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T15-10-00Z_short_vwap_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T15:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4090.125,
      "stop": 4098.621,
      "target": 4073.132,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.03,
        "bb_width_pct": 0.556
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T15-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T15:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4090.125,
      "stop": 4103.342,
      "target": 4063.69,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.03,
        "bb_width_pct": 0.556
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T15-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T15:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4090.125,
      "stop": 4094.565,
      "target": 4081.246,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.03,
        "bb_width_pct": 0.556
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T15-15-00Z_short_vwap_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T15:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4087.115,
      "stop": 4093.92,
      "target": 4073.505,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.88,
        "bb_width_pct": 0.558
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T15-25-00Z_short_vwap_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T15:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4085.08,
      "stop": 4090.561,
      "target": 4074.119,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.76,
        "bb_width_pct": 0.561
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T15-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T15:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4074.165,
      "stop": 4070.139,
      "target": 4082.217,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.3,
        "bb_width_pct": 0.547
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T15-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T15:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4074.165,
      "stop": 4070.671,
      "target": 4081.154,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.3,
        "bb_width_pct": 0.547
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T15-55-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T15:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4066.415,
      "stop": 4059.276,
      "target": 4080.692,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.49,
        "bb_width_pct": 0.722
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T16-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4064.135,
      "stop": 4056.216,
      "target": 4079.973,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.59,
        "bb_width_pct": 0.803
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T16-40-00Z_long_rsi_range_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T16:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4060.89,
      "stop": 4055.454,
      "target": 4071.762,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.64,
        "bb_width_pct": 1.154
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T16-40-00Z_long_vwap_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T16:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4060.89,
      "stop": 4055.288,
      "target": 4072.094,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.64,
        "bb_width_pct": 1.154
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T16-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T16:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4060.89,
      "stop": 4051.71,
      "target": 4079.25,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 20.64,
        "bb_width_pct": 1.154
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T16-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T16:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4060.89,
      "stop": 4057.389,
      "target": 4067.892,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.64,
        "bb_width_pct": 1.154
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T16-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4059.83,
      "stop": 4056.183,
      "target": 4067.124,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.24,
        "bb_width_pct": 1.039
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T16-50-00Z_long_rsi_range_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T16:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4060.305,
      "stop": 4056.232,
      "target": 4068.45,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.84,
        "bb_width_pct": 0.952
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T16-50-00Z_long_vwap_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T16:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4060.305,
      "stop": 4054.615,
      "target": 4071.684,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.84,
        "bb_width_pct": 0.952
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T16-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T16:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4060.305,
      "stop": 4050.834,
      "target": 4079.248,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 17.84,
        "bb_width_pct": 0.952
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T16-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T16:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4060.305,
      "stop": 4057.22,
      "target": 4066.475,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.84,
        "bb_width_pct": 0.952
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T16-55-00Z_long_rsi_range_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4061.625,
      "stop": 4058.849,
      "target": 4067.176,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.98,
        "bb_width_pct": 0.864
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T16-55-00Z_long_vwap_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4061.625,
      "stop": 4056.683,
      "target": 4071.51,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.98,
        "bb_width_pct": 0.864
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T16-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4061.625,
      "stop": 4052.814,
      "target": 4079.248,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.98,
        "bb_width_pct": 0.864
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T17-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T17:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4059.415,
      "stop": 4056.671,
      "target": 4064.903,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.9,
        "bb_width_pct": 0.615
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T17-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T17:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4056.845,
      "stop": 4046.226,
      "target": 4078.083,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 11.38,
        "bb_width_pct": 0.43
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T17-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T17:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4060.99,
      "stop": 4052.671,
      "target": 4077.628,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 3.81,
        "bb_width_pct": 0.337
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T17-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T17:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4060.99,
      "stop": 4059.887,
      "target": 4063.196,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.81,
        "bb_width_pct": 0.337
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T17-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T17:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4062.87,
      "stop": 4055.491,
      "target": 4077.628,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 3.21,
        "bb_width_pct": 0.254
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T17-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T17:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4062.24,
      "stop": 4054.546,
      "target": 4077.628,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.44,
        "bb_width_pct": 0.184
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T17-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T17:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4061.805,
      "stop": 4053.894,
      "target": 4077.628,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.81,
        "bb_width_pct": 0.17
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T18-10-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T18:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4061.695,
      "stop": 4053.729,
      "target": 4077.628,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.33,
        "bb_width_pct": 0.169
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T18-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T18:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4062.895,
      "stop": 4055.529,
      "target": 4077.628,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.1,
        "bb_width_pct": 0.174
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T18-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T18:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4058.535,
      "stop": 4057.444,
      "target": 4060.717,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.8,
        "bb_width_pct": 0.197
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T18-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T18:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4058.535,
      "stop": 4049.76,
      "target": 4076.085,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.8,
        "bb_width_pct": 0.197
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T18-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T18:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4058.535,
      "stop": 4057.002,
      "target": 4061.601,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.8,
        "bb_width_pct": 0.197
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T18-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4056.735,
      "stop": 4054.833,
      "target": 4060.539,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.86,
        "bb_width_pct": 0.214
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T18-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4056.735,
      "stop": 4054.534,
      "target": 4061.137,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.86,
        "bb_width_pct": 0.214
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T18-45-00Z_long_rsi_range_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T18:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4049.315,
      "stop": 4044.51,
      "target": 4058.925,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.66,
        "bb_width_pct": 0.447
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T18-45-00Z_long_vwap_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T18:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4049.315,
      "stop": 4044.425,
      "target": 4059.094,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.66,
        "bb_width_pct": 0.447
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T18-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T18:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4049.315,
      "stop": 4041.489,
      "target": 4064.968,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 19.66,
        "bb_width_pct": 0.447
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T18-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T18:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4051.72,
      "stop": 4048.242,
      "target": 4058.675,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.19,
        "bb_width_pct": 0.471
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T18-50-00Z_long_vwap_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T18:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4051.72,
      "stop": 4048.227,
      "target": 4058.706,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.19,
        "bb_width_pct": 0.471
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T18-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T18:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4051.72,
      "stop": 4046.189,
      "target": 4062.783,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 18.19,
        "bb_width_pct": 0.471
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T18-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T18:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4051.72,
      "stop": 4048.813,
      "target": 4057.534,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.19,
        "bb_width_pct": 0.471
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T19-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T19:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4050.44,
      "stop": 4048.015,
      "target": 4055.29,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.99,
        "bb_width_pct": 0.454
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T19-35-00Z_long_vwap_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T19:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4051.155,
      "stop": 4048.133,
      "target": 4057.198,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.63,
        "bb_width_pct": 0.433
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T20-40-00Z_long_vwap_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4050.605,
      "stop": 4047.856,
      "target": 4056.103,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.75,
        "bb_width_pct": 0.191
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T20-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T20:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4050.605,
      "stop": 4049.219,
      "target": 4053.378,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.75,
        "bb_width_pct": 0.191
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T20-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T20:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4050.2,
      "stop": 4048.762,
      "target": 4053.075,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.57,
        "bb_width_pct": 0.2
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T20-50-00Z_long_vwap_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T20:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4052.385,
      "stop": 4050.636,
      "target": 4055.884,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.88,
        "bb_width_pct": 0.184
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T20-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T20:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4052.385,
      "stop": 4052.073,
      "target": 4053.009,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.88,
        "bb_width_pct": 0.184
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T20-55-00Z_long_vwap_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T20:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4052.775,
      "stop": 4051.253,
      "target": 4055.818,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.08,
        "bb_width_pct": 0.163
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T22-00-00Z_short_vwap_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T22:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4053.21,
      "stop": 4068.041,
      "target": 4023.548,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.43,
        "bb_width_pct": 0.164
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T22-05-00Z_short_vwap_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T22:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4051.885,
      "stop": 4065.503,
      "target": 4024.649,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.6,
        "bb_width_pct": 0.163
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T22-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T22:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4050.8,
      "stop": 4049.834,
      "target": 4052.732,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.78,
        "bb_width_pct": 0.161
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T22-10-00Z_short_vwap_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T22:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4050.8,
      "stop": 4063.395,
      "target": 4025.61,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.78,
        "bb_width_pct": 0.161
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T22-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T22:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4050.8,
      "stop": 4049.849,
      "target": 4052.701,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.78,
        "bb_width_pct": 0.161
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T22-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T22:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4050.52,
      "stop": 4049.43,
      "target": 4052.7,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.82,
        "bb_width_pct": 0.165
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T22-15-00Z_short_vwap_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T22:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4050.52,
      "stop": 4062.535,
      "target": 4026.49,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.82,
        "bb_width_pct": 0.165
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T22-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T22:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4050.52,
      "stop": 4049.533,
      "target": 4052.493,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.82,
        "bb_width_pct": 0.165
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T22-20-00Z_short_vwap_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T22:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4050.375,
      "stop": 4061.899,
      "target": 4027.327,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 9.18,
        "bb_width_pct": 0.172
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T22-35-00Z_short_vwap_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T22:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4050.895,
      "stop": 4061.543,
      "target": 4029.599,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 2.21,
        "bb_width_pct": 0.141
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T22-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T22:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4050.64,
      "stop": 4049.993,
      "target": 4051.934,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.56,
        "bb_width_pct": 0.132
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T22-40-00Z_short_vwap_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T22:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4050.64,
      "stop": 4060.841,
      "target": 4030.238,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 0.56,
        "bb_width_pct": 0.132
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T22-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T22:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4049.215,
      "stop": 4047.994,
      "target": 4051.657,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.79,
        "bb_width_pct": 0.128
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T22-45-00Z_short_vwap_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T22:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4049.215,
      "stop": 4058.42,
      "target": 4030.806,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.79,
        "bb_width_pct": 0.128
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T22-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T22:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4049.555,
      "stop": 4048.611,
      "target": 4051.443,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.25,
        "bb_width_pct": 0.126
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T22-55-00Z_short_vwap_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T22:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4049.05,
      "stop": 4057.656,
      "target": 4031.839,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.06,
        "bb_width_pct": 0.132
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T23-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4049.565,
      "stop": 4048.829,
      "target": 4051.037,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.38,
        "bb_width_pct": 0.121
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T23-10-00Z_short_vwap_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4047.66,
      "stop": 4054.913,
      "target": 4033.154,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 14.75,
        "bb_width_pct": 0.134
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T23-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4047.66,
      "stop": 4046.161,
      "target": 4050.658,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.75,
        "bb_width_pct": 0.134
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T23-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4048.145,
      "stop": 4046.937,
      "target": 4050.561,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.29,
        "bb_width_pct": 0.145
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T23-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4048.145,
      "stop": 4046.104,
      "target": 4052.227,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.29,
        "bb_width_pct": 0.145
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T23-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4048.145,
      "stop": 4047.008,
      "target": 4050.419,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.29,
        "bb_width_pct": 0.145
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T23-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T23:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4049.91,
      "stop": 4048.785,
      "target": 4052.16,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 2.15,
        "bb_width_pct": 0.146
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T23-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T23:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4053.83,
      "stop": 4055.391,
      "target": 4050.708,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.1,
        "bb_width_pct": 0.162
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T23-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T23:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4053.83,
      "stop": 4055.395,
      "target": 4050.7,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.1,
        "bb_width_pct": 0.162
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T23-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4053.545,
      "stop": 4054.878,
      "target": 4050.878,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.8,
        "bb_width_pct": 0.188
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T23-35-00Z_short_vwap_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4053.545,
      "stop": 4062.691,
      "target": 4035.252,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.8,
        "bb_width_pct": 0.188
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T23-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4053.545,
      "stop": 4054.343,
      "target": 4051.95,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.8,
        "bb_width_pct": 0.188
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T23-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4053.545,
      "stop": 4054.646,
      "target": 4051.343,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.8,
        "bb_width_pct": 0.188
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T23-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4054.795,
      "stop": 4056.714,
      "target": 4050.957,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.39,
        "bb_width_pct": 0.2
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T23-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4054.795,
      "stop": 4056.356,
      "target": 4051.672,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.39,
        "bb_width_pct": 0.2
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T23-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4052.875,
      "stop": 4053.809,
      "target": 4051.007,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.51,
        "bb_width_pct": 0.204
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T23-45-00Z_short_vwap_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4052.875,
      "stop": 4061.279,
      "target": 4036.067,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 6.51,
        "bb_width_pct": 0.204
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-14T23-55-00Z_short_vwap_mean_reversion",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T23:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4053.035,
      "stop": 4061.158,
      "target": 4036.789,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.48,
        "bb_width_pct": 0.218
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T00-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T00:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4054.14,
      "stop": 4055.235,
      "target": 4051.95,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.84,
        "bb_width_pct": 0.238
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T00-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4055.765,
      "stop": 4057.296,
      "target": 4052.702,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.93,
        "bb_width_pct": 0.279
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T00-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4055.765,
      "stop": 4057.337,
      "target": 4052.62,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.93,
        "bb_width_pct": 0.279
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T00-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T00:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4059.295,
      "stop": 4061.589,
      "target": 4054.706,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.54,
        "bb_width_pct": 0.214
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T01-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4058.205,
      "stop": 4059.816,
      "target": 4054.983,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.67,
        "bb_width_pct": 0.2
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T01-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4058.205,
      "stop": 4060.365,
      "target": 4053.885,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.67,
        "bb_width_pct": 0.2
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T01-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4058.205,
      "stop": 4059.788,
      "target": 4055.04,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.67,
        "bb_width_pct": 0.2
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T01-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T01:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4056.57,
      "stop": 4057.295,
      "target": 4055.12,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.5,
        "bb_width_pct": 0.201
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T01-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T01:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4056.57,
      "stop": 4057.593,
      "target": 4054.525,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 2.5,
        "bb_width_pct": 0.201
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T01-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T01:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4056.57,
      "stop": 4057.262,
      "target": 4055.185,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.5,
        "bb_width_pct": 0.201
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T01-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T01:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4055.82,
      "stop": 4056.15,
      "target": 4055.16,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.97,
        "bb_width_pct": 0.202
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T01-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4051.085,
      "stop": 4049.049,
      "target": 4055.156,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.71,
        "bb_width_pct": 0.213
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T01-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4051.085,
      "stop": 4049.267,
      "target": 4054.722,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.71,
        "bb_width_pct": 0.213
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T01-45-00Z_long_rsi_range_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T01:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4041.73,
      "stop": 4035.895,
      "target": 4053.399,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.72,
        "bb_width_pct": 0.514
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T01-45-00Z_long_vwap_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T01:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4041.73,
      "stop": 4035.741,
      "target": 4053.708,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.72,
        "bb_width_pct": 0.514
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T01-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T01:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4041.73,
      "stop": 4037.874,
      "target": 4049.443,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 19.72,
        "bb_width_pct": 0.514
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T01-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T01:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4041.32,
      "stop": 4035.535,
      "target": 4052.89,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.22,
        "bb_width_pct": 0.575
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T02-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T02:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4039.275,
      "stop": 4033.249,
      "target": 4051.328,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 27.29,
        "bb_width_pct": 0.714
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T02-00-00Z_long_rsi_range_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T02:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4039.275,
      "stop": 4033.249,
      "target": 4051.328,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 27.29,
        "bb_width_pct": 0.714
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T02-00-00Z_long_vwap_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T02:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4039.275,
      "stop": 4032.951,
      "target": 4051.923,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 27.29,
        "bb_width_pct": 0.714
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T02-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T02:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4039.275,
      "stop": 4034.496,
      "target": 4048.832,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 27.29,
        "bb_width_pct": 0.714
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T02-05-00Z_long_rsi_range_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T02:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4040.83,
      "stop": 4036.018,
      "target": 4050.454,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.57,
        "bb_width_pct": 0.73
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T02-05-00Z_long_vwap_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T02:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4040.83,
      "stop": 4035.504,
      "target": 4051.483,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.57,
        "bb_width_pct": 0.73
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T02-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T02:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4040.83,
      "stop": 4037.443,
      "target": 4047.605,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.57,
        "bb_width_pct": 0.73
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T02-30-00Z_long_rsi_range_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4035.89,
      "stop": 4031.341,
      "target": 4044.988,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.08,
        "bb_width_pct": 0.935
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T02-30-00Z_long_vwap_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4035.89,
      "stop": 4029.509,
      "target": 4048.652,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.08,
        "bb_width_pct": 0.935
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T02-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4035.89,
      "stop": 4030.959,
      "target": 4045.753,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 25.08,
        "bb_width_pct": 0.935
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T02-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4035.89,
      "stop": 4032.762,
      "target": 4042.146,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 25.08,
        "bb_width_pct": 0.935
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T02-35-00Z_long_rsi_range_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T02:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4037.73,
      "stop": 4034.64,
      "target": 4043.909,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.24,
        "bb_width_pct": 0.888
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T02-35-00Z_long_vwap_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T02:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4037.73,
      "stop": 4032.449,
      "target": 4048.293,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.24,
        "bb_width_pct": 0.888
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T02-40-00Z_long_vwap_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T02:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4041.645,
      "stop": 4038.443,
      "target": 4048.049,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.65,
        "bb_width_pct": 0.828
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T03-00-00Z_long_vwap_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4039.725,
      "stop": 4036.105,
      "target": 4046.965,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.5,
        "bb_width_pct": 0.568
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T03-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4032.505,
      "stop": 4029.364,
      "target": 4038.787,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.16,
        "bb_width_pct": 0.33
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T03-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4033.72,
      "stop": 4032.706,
      "target": 4035.747,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.68,
        "bb_width_pct": 0.334
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T03-30-00Z_long_vwap_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4033.72,
      "stop": 4028.041,
      "target": 4045.078,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.68,
        "bb_width_pct": 0.334
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T03-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4033.72,
      "stop": 4027.704,
      "target": 4045.753,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.68,
        "bb_width_pct": 0.334
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T03-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4033.72,
      "stop": 4032.065,
      "target": 4037.03,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.68,
        "bb_width_pct": 0.334
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T03-45-00Z_long_vwap_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T03:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4032.355,
      "stop": 4026.427,
      "target": 4044.211,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.27,
        "bb_width_pct": 0.329
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T03-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T03:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4032.355,
      "stop": 4025.976,
      "target": 4045.113,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 16.27,
        "bb_width_pct": 0.329
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T03-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T03:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4032.355,
      "stop": 4030.736,
      "target": 4035.593,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.27,
        "bb_width_pct": 0.329
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T03-55-00Z_long_vwap_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T03:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4031.4,
      "stop": 4025.252,
      "target": 4043.696,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.4,
        "bb_width_pct": 0.327
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T03-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T03:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4031.4,
      "stop": 4024.544,
      "target": 4045.113,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.4,
        "bb_width_pct": 0.327
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T04-05-00Z_long_vwap_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4032.125,
      "stop": 4026.579,
      "target": 4043.217,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.76,
        "bb_width_pct": 0.331
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T04-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T04:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4032.125,
      "stop": 4025.631,
      "target": 4045.113,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 15.76,
        "bb_width_pct": 0.331
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T04-15-00Z_long_vwap_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T04:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4034.165,
      "stop": 4029.84,
      "target": 4042.814,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.22,
        "bb_width_pct": 0.323
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T04-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T04:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4034.165,
      "stop": 4028.691,
      "target": 4045.113,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.22,
        "bb_width_pct": 0.323
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T04-25-00Z_long_vwap_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T04:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4033.845,
      "stop": 4029.529,
      "target": 4042.476,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.13,
        "bb_width_pct": 0.226
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T04-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4030.35,
      "stop": 4029.37,
      "target": 4032.31,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.95,
        "bb_width_pct": 0.158
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T04-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T04:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4030.35,
      "stop": 4028.92,
      "target": 4033.211,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.95,
        "bb_width_pct": 0.158
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T04-45-00Z_long_vwap_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4031.655,
      "stop": 4026.613,
      "target": 4041.738,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.51,
        "bb_width_pct": 0.123
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T04-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4031.655,
      "stop": 4026.789,
      "target": 4041.387,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.51,
        "bb_width_pct": 0.123
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T04-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T04:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4032.855,
      "stop": 4033.284,
      "target": 4031.998,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.34,
        "bb_width_pct": 0.115
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T04-50-00Z_long_vwap_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T04:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4032.855,
      "stop": 4028.487,
      "target": 4041.59,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.34,
        "bb_width_pct": 0.115
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T04-55-00Z_long_vwap_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T04:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4033.245,
      "stop": 4029.145,
      "target": 4041.445,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.34,
        "bb_width_pct": 0.118
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T05-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4032.12,
      "stop": 4032.136,
      "target": 4032.088,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.88,
        "bb_width_pct": 0.116
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T05-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4031.235,
      "stop": 4030.803,
      "target": 4032.1,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.52,
        "bb_width_pct": 0.115
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T05-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4027.86,
      "stop": 4026.043,
      "target": 4031.494,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.62,
        "bb_width_pct": 0.182
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T05-15-00Z_long_vwap_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4027.86,
      "stop": 4021.427,
      "target": 4040.726,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.62,
        "bb_width_pct": 0.182
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T05-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4027.86,
      "stop": 4024.938,
      "target": 4033.705,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.62,
        "bb_width_pct": 0.182
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T05-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4027.86,
      "stop": 4025.9,
      "target": 4031.781,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.62,
        "bb_width_pct": 0.182
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T05-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4027.595,
      "stop": 4025.693,
      "target": 4031.399,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.16,
        "bb_width_pct": 0.197
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T05-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T05:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4027.595,
      "stop": 4025.701,
      "target": 4031.382,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.16,
        "bb_width_pct": 0.197
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T05-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4028.265,
      "stop": 4026.951,
      "target": 4030.892,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.88,
        "bb_width_pct": 0.243
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T05-30-00Z_long_vwap_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4028.265,
      "stop": 4022.348,
      "target": 4040.098,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.88,
        "bb_width_pct": 0.243
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T05-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4028.265,
      "stop": 4025.69,
      "target": 4033.415,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.88,
        "bb_width_pct": 0.243
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T05-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4028.265,
      "stop": 4027.118,
      "target": 4030.56,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.88,
        "bb_width_pct": 0.243
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T05-35-00Z_long_vwap_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4031.645,
      "stop": 4027.49,
      "target": 4039.954,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.49,
        "bb_width_pct": 0.243
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T05-50-00Z_long_vwap_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4030.62,
      "stop": 4026.156,
      "target": 4039.548,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.82,
        "bb_width_pct": 0.243
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T06-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4031.27,
      "stop": 4031.626,
      "target": 4030.557,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.2,
        "bb_width_pct": 0.241
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T06-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T06:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4027.03,
      "stop": 4025.565,
      "target": 4029.959,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.06,
        "bb_width_pct": 0.242
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T06-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T06:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4026.56,
      "stop": 4024.955,
      "target": 4029.77,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.09,
        "bb_width_pct": 0.253
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T06-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T06:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4026.56,
      "stop": 4024.906,
      "target": 4029.868,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.09,
        "bb_width_pct": 0.253
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T06-25-00Z_long_vwap_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T06:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4026.595,
      "stop": 4020.598,
      "target": 4038.589,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.6,
        "bb_width_pct": 0.258
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T06-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4028.215,
      "stop": 4027.68,
      "target": 4029.285,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.47,
        "bb_width_pct": 0.248
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T06-30-00Z_long_vwap_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4028.215,
      "stop": 4023.104,
      "target": 4038.436,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.47,
        "bb_width_pct": 0.248
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T06-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4028.215,
      "stop": 4027.666,
      "target": 4029.312,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.47,
        "bb_width_pct": 0.248
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T06-35-00Z_long_vwap_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4029.34,
      "stop": 4024.85,
      "target": 4038.321,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.61,
        "bb_width_pct": 0.231
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T06-50-00Z_long_vwap_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T06:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4032.42,
      "stop": 4029.593,
      "target": 4038.073,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.29,
        "bb_width_pct": 0.234
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T07-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T07:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4024.13,
      "stop": 4021.554,
      "target": 4029.282,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.25,
        "bb_width_pct": 0.26
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T07-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4023.85,
      "stop": 4021.165,
      "target": 4029.219,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.86,
        "bb_width_pct": 0.286
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T07-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4023.85,
      "stop": 4021.393,
      "target": 4028.765,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.86,
        "bb_width_pct": 0.286
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T07-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T07:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4022.975,
      "stop": 4020.416,
      "target": 4028.092,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.55,
        "bb_width_pct": 0.328
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T07-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T07:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4022.975,
      "stop": 4020.219,
      "target": 4028.488,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 11.55,
        "bb_width_pct": 0.328
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T07-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T07:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4022.975,
      "stop": 4020.708,
      "target": 4027.51,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.55,
        "bb_width_pct": 0.328
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T07-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T07:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4024.85,
      "stop": 4023.057,
      "target": 4028.435,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 13.99,
        "bb_width_pct": 0.332
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T08-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4025.08,
      "stop": 4023.853,
      "target": 4027.534,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.35,
        "bb_width_pct": 0.345
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T08-00-00Z_long_rsi_range_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4025.08,
      "stop": 4023.853,
      "target": 4027.534,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.35,
        "bb_width_pct": 0.345
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T08-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4025.08,
      "stop": 4023.403,
      "target": 4028.435,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.35,
        "bb_width_pct": 0.345
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T08-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4025.08,
      "stop": 4024.269,
      "target": 4026.702,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.35,
        "bb_width_pct": 0.345
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T08-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T08:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4024.335,
      "stop": 4023.213,
      "target": 4026.578,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.27,
        "bb_width_pct": 0.411
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T08-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T08:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4024.335,
      "stop": 4022.844,
      "target": 4027.318,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 8.27,
        "bb_width_pct": 0.411
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T08-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T08:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4024.335,
      "stop": 4023.794,
      "target": 4025.416,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.27,
        "bb_width_pct": 0.411
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T08-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T08:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4031.35,
      "stop": 4034.279,
      "target": 4025.492,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.36,
        "bb_width_pct": 0.315
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T08-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T08:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4031.35,
      "stop": 4033.387,
      "target": 4027.276,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.36,
        "bb_width_pct": 0.315
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T09-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4033.445,
      "stop": 4036.236,
      "target": 4027.864,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.23,
        "bb_width_pct": 0.359
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T09-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T09:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4032.66,
      "stop": 4035.852,
      "target": 4026.277,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.76,
        "bb_width_pct": 0.386
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T09-05-00Z_short_vwap_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T09:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4032.66,
      "stop": 4035.671,
      "target": 4026.638,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 13.76,
        "bb_width_pct": 0.386
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T09-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T09:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4032.66,
      "stop": 4035.714,
      "target": 4026.552,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.76,
        "bb_width_pct": 0.386
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T09-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T09:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4032.66,
      "stop": 4034.83,
      "target": 4028.32,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.76,
        "bb_width_pct": 0.386
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T09-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T09:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4030.36,
      "stop": 4032.264,
      "target": 4026.552,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.61,
        "bb_width_pct": 0.391
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T09-20-00Z_short_rsi_range_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T09:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4029.97,
      "stop": 4031.209,
      "target": 4027.491,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 11.4,
        "bb_width_pct": 0.371
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T09-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T09:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4029.97,
      "stop": 4031.965,
      "target": 4025.98,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 11.4,
        "bb_width_pct": 0.371
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T10-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T10:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4033.75,
      "stop": 4035.732,
      "target": 4029.786,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.41,
        "bb_width_pct": 0.21
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T10-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T10:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4033.75,
      "stop": 4035.938,
      "target": 4029.375,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 2.41,
        "bb_width_pct": 0.21
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T10-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T10:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4032.325,
      "stop": 4033.453,
      "target": 4030.069,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.51,
        "bb_width_pct": 0.204
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T10-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T10:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4032.325,
      "stop": 4035.084,
      "target": 4026.807,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.51,
        "bb_width_pct": 0.204
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T10-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T10:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4029.415,
      "stop": 4030.719,
      "target": 4026.807,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.25,
        "bb_width_pct": 0.203
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T10-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T10:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4031.24,
      "stop": 4033.456,
      "target": 4026.807,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.89,
        "bb_width_pct": 0.206
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T11-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T11:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4036.58,
      "stop": 4039.108,
      "target": 4031.523,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.18,
        "bb_width_pct": 0.267
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T11-45-00Z_short_vwap_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T11:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4036.58,
      "stop": 4039.19,
      "target": 4031.359,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 12.18,
        "bb_width_pct": 0.267
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T11-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T11:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4036.58,
      "stop": 4038.791,
      "target": 4032.158,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.18,
        "bb_width_pct": 0.267
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T11-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T11:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4036.58,
      "stop": 4038.893,
      "target": 4031.954,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.18,
        "bb_width_pct": 0.267
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T11-50-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T11:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4036.495,
      "stop": 4038.912,
      "target": 4031.66,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.72,
        "bb_width_pct": 0.284
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T11-50-00Z_short_vwap_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T11:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4036.495,
      "stop": 4038.929,
      "target": 4031.626,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 17.72,
        "bb_width_pct": 0.284
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T11-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T11:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4036.495,
      "stop": 4038.664,
      "target": 4032.158,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.72,
        "bb_width_pct": 0.284
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T11-50-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T11:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4036.495,
      "stop": 4038.549,
      "target": 4032.387,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.72,
        "bb_width_pct": 0.284
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T12-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T12:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4037.4,
      "stop": 4039.616,
      "target": 4032.969,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.01,
        "bb_width_pct": 0.374
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T12-05-00Z_short_rsi_range_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T12:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4037.4,
      "stop": 4039.616,
      "target": 4032.969,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 17.01,
        "bb_width_pct": 0.374
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T12-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T12:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4037.4,
      "stop": 4039.017,
      "target": 4034.165,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 17.01,
        "bb_width_pct": 0.374
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T12-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T12:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4037.4,
      "stop": 4039.059,
      "target": 4034.081,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.01,
        "bb_width_pct": 0.374
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T12-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T12:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4039.415,
      "stop": 4041.656,
      "target": 4034.933,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.65,
        "bb_width_pct": 0.406
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T12-20-00Z_short_rsi_range_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T12:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4039.51,
      "stop": 4042.242,
      "target": 4034.046,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 20.7,
        "bb_width_pct": 0.421
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T12-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T12:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4039.51,
      "stop": 4042.183,
      "target": 4034.165,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 20.7,
        "bb_width_pct": 0.421
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T12-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T12:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4039.51,
      "stop": 4041.581,
      "target": 4035.369,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.7,
        "bb_width_pct": 0.421
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T14-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T14:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4060.085,
      "stop": 4059.688,
      "target": 4060.88,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.63,
        "bb_width_pct": 0.252
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T14-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T14:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4056.275,
      "stop": 4054.108,
      "target": 4060.608,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.58,
        "bb_width_pct": 0.27
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T15-15-00Z_long_rsi_range_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T15:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4046.27,
      "stop": 4040.093,
      "target": 4058.624,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.99,
        "bb_width_pct": 0.507
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T15-15-00Z_long_vwap_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T15:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4046.27,
      "stop": 4040.805,
      "target": 4057.201,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.99,
        "bb_width_pct": 0.507
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T15-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T15:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4049.11,
      "stop": 4044.951,
      "target": 4057.429,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.62,
        "bb_width_pct": 0.609
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T15-25-00Z_long_vwap_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T15:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4049.11,
      "stop": 4045.337,
      "target": 4056.656,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.62,
        "bb_width_pct": 0.609
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T15-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T15:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4049.11,
      "stop": 4046.279,
      "target": 4054.772,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.62,
        "bb_width_pct": 0.609
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T15-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T15:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4048.58,
      "stop": 4045.779,
      "target": 4054.182,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.65,
        "bb_width_pct": 0.636
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T15-35-00Z_long_vwap_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T15:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4048.835,
      "stop": 4045.12,
      "target": 4056.265,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.43,
        "bb_width_pct": 0.649
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T16-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T16:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4035.79,
      "stop": 4029.59,
      "target": 4048.19,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.89,
        "bb_width_pct": 0.727
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T16-20-00Z_long_vwap_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T16:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4035.79,
      "stop": 4026.601,
      "target": 4054.168,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.89,
        "bb_width_pct": 0.727
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T16-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T16:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4035.79,
      "stop": 4026.867,
      "target": 4053.635,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 16.89,
        "bb_width_pct": 0.727
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T16-45-00Z_long_rsi_range_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4035.775,
      "stop": 4032.824,
      "target": 4041.677,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.35,
        "bb_width_pct": 0.711
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T16-45-00Z_long_vwap_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4035.775,
      "stop": 4027.528,
      "target": 4052.27,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.35,
        "bb_width_pct": 0.711
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T16-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4035.775,
      "stop": 4030.316,
      "target": 4046.693,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 20.35,
        "bb_width_pct": 0.711
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T16-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4035.775,
      "stop": 4033.173,
      "target": 4040.978,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.35,
        "bb_width_pct": 0.711
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T16-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T16:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4033.83,
      "stop": 4030.887,
      "target": 4039.717,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.1,
        "bb_width_pct": 0.733
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T18-45-00Z_short_vwap_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T18:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4064.74,
      "stop": 4067.886,
      "target": 4058.449,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.6,
        "bb_width_pct": 1.172
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T19-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T19:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4054.7,
      "stop": 4051.765,
      "target": 4060.57,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.72,
        "bb_width_pct": 0.51
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T19-25-00Z_long_rsi_range_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T19:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4056.15,
      "stop": 4051.885,
      "target": 4064.681,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.05,
        "bb_width_pct": 0.545
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T19-45-00Z_long_rsi_range_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T19:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4052.215,
      "stop": 4047.412,
      "target": 4061.821,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.57,
        "bb_width_pct": 0.757
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T19-45-00Z_long_vwap_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T19:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4052.215,
      "stop": 4049.39,
      "target": 4057.866,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.57,
        "bb_width_pct": 0.757
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T19-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T19:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4052.215,
      "stop": 4049.749,
      "target": 4057.147,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.57,
        "bb_width_pct": 0.757
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T19-50-00Z_long_rsi_range_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T19:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4053.505,
      "stop": 4049.71,
      "target": 4061.094,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.1,
        "bb_width_pct": 0.764
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T20-50-00Z_short_rsi_range_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T20:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4061.14,
      "stop": 4063.101,
      "target": 4057.219,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 25.93,
        "bb_width_pct": 0.392
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T20-55-00Z_short_rsi_range_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T20:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4060.695,
      "stop": 4062.334,
      "target": 4057.416,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 21.66,
        "bb_width_pct": 0.399
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T22-20-00Z_short_vwap_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T22:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4062.12,
      "stop": 4074.58,
      "target": 4037.2,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.11,
        "bb_width_pct": 0.303
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T22-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T22:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4062.12,
      "stop": 4062.799,
      "target": 4060.763,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.11,
        "bb_width_pct": 0.303
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T22-30-00Z_short_vwap_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T22:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4060.56,
      "stop": 4071.454,
      "target": 4038.772,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.76,
        "bb_width_pct": 0.195
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T22-35-00Z_short_vwap_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T22:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4059.89,
      "stop": 4070.115,
      "target": 4039.44,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.07,
        "bb_width_pct": 0.178
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T22-45-00Z_short_vwap_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T22:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4059.665,
      "stop": 4069.175,
      "target": 4040.644,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 8.9,
        "bb_width_pct": 0.147
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T22-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T22:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4059.795,
      "stop": 4059.054,
      "target": 4061.277,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.24,
        "bb_width_pct": 0.126
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T22-55-00Z_short_vwap_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T22:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4059.68,
      "stop": 4068.667,
      "target": 4041.705,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 5.92,
        "bb_width_pct": 0.124
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T23-10-00Z_short_vwap_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4060.39,
      "stop": 4069.007,
      "target": 4043.155,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.17,
        "bb_width_pct": 0.127
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T23-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4059.255,
      "stop": 4058.351,
      "target": 4061.062,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.1,
        "bb_width_pct": 0.128
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T23-15-00Z_short_vwap_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4059.255,
      "stop": 4067.103,
      "target": 4043.558,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 15.1,
        "bb_width_pct": 0.128
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T23-20-00Z_short_vwap_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T23:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4057.405,
      "stop": 4064.152,
      "target": 4043.911,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 21.85,
        "bb_width_pct": 0.149
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T23-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T23:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4057.905,
      "stop": 4056.526,
      "target": 4060.663,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.49,
        "bb_width_pct": 0.16
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T23-25-00Z_long_rsi_range_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T23:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4057.905,
      "stop": 4056.526,
      "target": 4060.663,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.49,
        "bb_width_pct": 0.16
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T23-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4058.135,
      "stop": 4056.946,
      "target": 4060.513,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.65,
        "bb_width_pct": 0.169
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T23-30-00Z_long_rsi_range_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4058.135,
      "stop": 4056.946,
      "target": 4060.513,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.65,
        "bb_width_pct": 0.169
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T23-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4058.135,
      "stop": 4057.345,
      "target": 4059.715,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.65,
        "bb_width_pct": 0.169
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T23-35-00Z_short_vwap_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4057.305,
      "stop": 4063.523,
      "target": 4044.868,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 10.39,
        "bb_width_pct": 0.182
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T23-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4058.005,
      "stop": 4056.906,
      "target": 4060.203,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.89,
        "bb_width_pct": 0.189
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T23-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4058.005,
      "stop": 4057.335,
      "target": 4059.345,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.89,
        "bb_width_pct": 0.189
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T23-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4058.715,
      "stop": 4058.086,
      "target": 4059.973,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.99,
        "bb_width_pct": 0.177
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T23-50-00Z_short_vwap_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T23:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4058.32,
      "stop": 4064.622,
      "target": 4045.716,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 3.73,
        "bb_width_pct": 0.162
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-15T23-55-00Z_short_vwap_mean_reversion",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T23:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4058.02,
      "stop": 4064.039,
      "target": 4045.982,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 4.96,
        "bb_width_pct": 0.141
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T00-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4057.92,
      "stop": 4057.265,
      "target": 4059.23,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.72,
        "bb_width_pct": 0.13
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T00-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T00:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4056.46,
      "stop": 4055.347,
      "target": 4058.686,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.26,
        "bb_width_pct": 0.141
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T00-15-00Z_long_rsi_range_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T00:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4056.84,
      "stop": 4055.993,
      "target": 4058.534,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.6,
        "bb_width_pct": 0.143
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T00-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T00:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4056.84,
      "stop": 4055.371,
      "target": 4059.778,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.6,
        "bb_width_pct": 0.143
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T00-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T00:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4058.68,
      "stop": 4058.131,
      "target": 4059.778,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.45,
        "bb_width_pct": 0.139
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T00-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T00:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4055.34,
      "stop": 4053.926,
      "target": 4058.168,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.6,
        "bb_width_pct": 0.15
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T00-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T00:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4059.325,
      "stop": 4059.299,
      "target": 4059.378,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 2.93,
        "bb_width_pct": 0.133
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T01-00-00Z_long_rsi_range_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4045.06,
      "stop": 4039.41,
      "target": 4056.36,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.89,
        "bb_width_pct": 0.408
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T01-00-00Z_long_vwap_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4045.06,
      "stop": 4039.643,
      "target": 4055.894,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.89,
        "bb_width_pct": 0.408
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T01-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4045.06,
      "stop": 4040.476,
      "target": 4054.227,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 20.89,
        "bb_width_pct": 0.408
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T01-05-00Z_long_vwap_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T01:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4045.965,
      "stop": 4041.382,
      "target": 4055.13,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.46,
        "bb_width_pct": 0.463
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T01-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T01:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4045.965,
      "stop": 4042.493,
      "target": 4052.91,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 18.46,
        "bb_width_pct": 0.463
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T01-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T01:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4045.495,
      "stop": 4040.677,
      "target": 4055.131,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.49,
        "bb_width_pct": 0.509
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T01-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T01:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4037.055,
      "stop": 4029.471,
      "target": 4052.222,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.74,
        "bb_width_pct": 0.753
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T01-30-00Z_long_rsi_range_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4041.71,
      "stop": 4036.869,
      "target": 4051.392,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.91,
        "bb_width_pct": 0.773
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T01-30-00Z_long_vwap_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4041.71,
      "stop": 4036.895,
      "target": 4051.341,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.91,
        "bb_width_pct": 0.773
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T01-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4041.71,
      "stop": 4037.996,
      "target": 4049.137,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 20.91,
        "bb_width_pct": 0.773
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T01-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4041.71,
      "stop": 4038.058,
      "target": 4049.014,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.91,
        "bb_width_pct": 0.773
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T01-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T01:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4038.925,
      "stop": 4035.104,
      "target": 4046.566,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.86,
        "bb_width_pct": 0.795
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T01-55-00Z_long_rsi_range_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T01:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4039.14,
      "stop": 4034.97,
      "target": 4047.481,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.09,
        "bb_width_pct": 0.795
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T01-55-00Z_long_vwap_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T01:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4039.14,
      "stop": 4034.066,
      "target": 4049.288,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.09,
        "bb_width_pct": 0.795
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T02-15-00Z_long_rsi_range_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T02:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4033.195,
      "stop": 4028.575,
      "target": 4042.435,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.92,
        "bb_width_pct": 0.696
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T02-15-00Z_long_vwap_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T02:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4033.195,
      "stop": 4026.223,
      "target": 4047.139,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.92,
        "bb_width_pct": 0.696
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T02-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T02:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4033.195,
      "stop": 4026.426,
      "target": 4046.733,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 17.92,
        "bb_width_pct": 0.696
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T02-20-00Z_long_rsi_range_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T02:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4033.23,
      "stop": 4029.18,
      "target": 4041.33,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.79,
        "bb_width_pct": 0.657
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T02-20-00Z_long_vwap_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T02:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4033.23,
      "stop": 4026.513,
      "target": 4046.664,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.79,
        "bb_width_pct": 0.657
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T02-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T02:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4033.23,
      "stop": 4027.131,
      "target": 4045.427,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 11.79,
        "bb_width_pct": 0.657
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T02-25-00Z_long_vwap_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T02:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4034.7,
      "stop": 4028.93,
      "target": 4046.241,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.16,
        "bb_width_pct": 0.53
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T02-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T02:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4034.7,
      "stop": 4029.451,
      "target": 4045.198,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 5.16,
        "bb_width_pct": 0.53
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T02-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T02:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4034.7,
      "stop": 4031.83,
      "target": 4040.441,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.16,
        "bb_width_pct": 0.53
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T02-45-00Z_long_rsi_range_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4029.49,
      "stop": 4025.994,
      "target": 4036.482,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.8,
        "bb_width_pct": 0.516
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T02-45-00Z_long_vwap_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4029.49,
      "stop": 4022.104,
      "target": 4044.262,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 21.8,
        "bb_width_pct": 0.516
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T02-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4029.49,
      "stop": 4022.865,
      "target": 4042.74,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 21.8,
        "bb_width_pct": 0.516
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T02-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T02:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4029.555,
      "stop": 4026.49,
      "target": 4035.684,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.13,
        "bb_width_pct": 0.494
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T02-50-00Z_long_rsi_range_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T02:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4029.555,
      "stop": 4026.49,
      "target": 4035.684,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.13,
        "bb_width_pct": 0.494
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T02-50-00Z_long_vwap_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T02:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4029.555,
      "stop": 4022.433,
      "target": 4043.799,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.13,
        "bb_width_pct": 0.494
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T02-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T02:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4029.555,
      "stop": 4022.962,
      "target": 4042.74,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 20.13,
        "bb_width_pct": 0.494
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T02-55-00Z_long_rsi_range_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T02:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4031.525,
      "stop": 4029.68,
      "target": 4035.215,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.59,
        "bb_width_pct": 0.487
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T02-55-00Z_long_vwap_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T02:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4031.525,
      "stop": 4025.565,
      "target": 4043.444,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.59,
        "bb_width_pct": 0.487
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T02-55-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T02:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4031.525,
      "stop": 4025.918,
      "target": 4042.74,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.59,
        "bb_width_pct": 0.487
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T02-55-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T02:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4031.525,
      "stop": 4029.492,
      "target": 4035.59,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.59,
        "bb_width_pct": 0.487
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T03-05-00Z_long_vwap_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T03:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4032.83,
      "stop": 4027.834,
      "target": 4042.823,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.2,
        "bb_width_pct": 0.491
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T03-15-00Z_long_vwap_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4030.08,
      "stop": 4024.014,
      "target": 4042.212,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.82,
        "bb_width_pct": 0.413
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T03-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4030.08,
      "stop": 4023.75,
      "target": 4042.74,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.82,
        "bb_width_pct": 0.413
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T03-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T03:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4029.235,
      "stop": 4027.062,
      "target": 4033.582,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.37,
        "bb_width_pct": 0.368
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T03-25-00Z_long_vwap_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4034.08,
      "stop": 4030.284,
      "target": 4041.672,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.56,
        "bb_width_pct": 0.313
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T03-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4034.08,
      "stop": 4029.75,
      "target": 4042.74,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.56,
        "bb_width_pct": 0.313
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T03-40-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T03:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4035.59,
      "stop": 4037.511,
      "target": 4031.747,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.26,
        "bb_width_pct": 0.223
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T03-40-00Z_long_vwap_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T03:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4035.59,
      "stop": 4032.798,
      "target": 4041.175,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.26,
        "bb_width_pct": 0.223
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T03-45-00Z_short_rsi_range_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T03:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4034.92,
      "stop": 4036.465,
      "target": 4031.83,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 16.11,
        "bb_width_pct": 0.231
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T03-50-00Z_long_vwap_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T03:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4035.81,
      "stop": 4033.251,
      "target": 4040.927,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.99,
        "bb_width_pct": 0.246
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T03-55-00Z_long_vwap_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T03:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4036.385,
      "stop": 4034.162,
      "target": 4040.83,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.67,
        "bb_width_pct": 0.263
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T04-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T04:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4037.025,
      "stop": 4039.382,
      "target": 4032.311,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.15,
        "bb_width_pct": 0.28
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T04-20-00Z_long_vwap_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T04:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4033.545,
      "stop": 4030.207,
      "target": 4040.221,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.38,
        "bb_width_pct": 0.235
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T04-25-00Z_long_vwap_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T04:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4034.08,
      "stop": 4031.073,
      "target": 4040.094,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.82,
        "bb_width_pct": 0.223
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T04-35-00Z_long_vwap_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T04:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4033.635,
      "stop": 4030.522,
      "target": 4039.861,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.78,
        "bb_width_pct": 0.204
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T04-45-00Z_long_vwap_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4034.56,
      "stop": 4032.016,
      "target": 4039.649,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.67,
        "bb_width_pct": 0.197
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T04-50-00Z_long_vwap_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T04:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4034.975,
      "stop": 4032.679,
      "target": 4039.566,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.15,
        "bb_width_pct": 0.181
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T05-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4032.15,
      "stop": 4031.153,
      "target": 4034.143,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.34,
        "bb_width_pct": 0.127
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T05-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T05:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4031.62,
      "stop": 4030.42,
      "target": 4034.02,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.08,
        "bb_width_pct": 0.138
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T05-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T05:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4030.925,
      "stop": 4029.453,
      "target": 4033.87,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.4,
        "bb_width_pct": 0.154
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T05-25-00Z_long_rsi_range_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4027.855,
      "stop": 4025.328,
      "target": 4032.908,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.84,
        "bb_width_pct": 0.246
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T05-25-00Z_long_vwap_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T05:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4027.855,
      "stop": 4022.466,
      "target": 4038.633,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.84,
        "bb_width_pct": 0.246
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T05-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4030.28,
      "stop": 4029.104,
      "target": 4032.632,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.11,
        "bb_width_pct": 0.243
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T05-30-00Z_long_vwap_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4030.28,
      "stop": 4026.174,
      "target": 4038.492,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.11,
        "bb_width_pct": 0.243
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T05-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4030.28,
      "stop": 4029.841,
      "target": 4031.158,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.11,
        "bb_width_pct": 0.243
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T05-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4030.28,
      "stop": 4029.494,
      "target": 4031.852,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.11,
        "bb_width_pct": 0.243
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T05-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T05:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4029.74,
      "stop": 4028.46,
      "target": 4032.3,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.84,
        "bb_width_pct": 0.235
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T05-40-00Z_long_vwap_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T05:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4032.39,
      "stop": 4029.46,
      "target": 4038.249,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.99,
        "bb_width_pct": 0.232
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T05-50-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4026.89,
      "stop": 4024.587,
      "target": 4031.495,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.6,
        "bb_width_pct": 0.247
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T05-50-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T05:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4026.89,
      "stop": 4024.876,
      "target": 4030.919,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.6,
        "bb_width_pct": 0.247
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T05-55-00Z_long_vwap_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T05:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4027.445,
      "stop": 4022.25,
      "target": 4037.835,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.46,
        "bb_width_pct": 0.258
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T06-00-00Z_long_vwap_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4031.315,
      "stop": 4028.105,
      "target": 4037.735,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.7,
        "bb_width_pct": 0.252
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T06-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T06:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4034.965,
      "stop": 4036.885,
      "target": 4031.125,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.9,
        "bb_width_pct": 0.258
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T06-20-00Z_long_vwap_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T06:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4031.72,
      "stop": 4028.863,
      "target": 4037.435,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.71,
        "bb_width_pct": 0.247
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T06-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4026.86,
      "stop": 4025.339,
      "target": 4029.901,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.38,
        "bb_width_pct": 0.223
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T06-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T06:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4026.86,
      "stop": 4025.146,
      "target": 4030.288,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 5.38,
        "bb_width_pct": 0.223
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T06-40-00Z_long_vwap_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T06:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4027.23,
      "stop": 4022.363,
      "target": 4036.963,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.23,
        "bb_width_pct": 0.224
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T06-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T06:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4027.23,
      "stop": 4025.531,
      "target": 4030.628,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.23,
        "bb_width_pct": 0.224
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T06-45-00Z_long_vwap_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T06:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4028.425,
      "stop": 4024.21,
      "target": 4036.854,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.79,
        "bb_width_pct": 0.221
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T06-50-00Z_long_vwap_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T06:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4030.31,
      "stop": 4027.082,
      "target": 4036.766,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.71,
        "bb_width_pct": 0.219
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T06-55-00Z_long_vwap_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T06:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4030.705,
      "stop": 4027.71,
      "target": 4036.695,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.58,
        "bb_width_pct": 0.221
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T07-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T07:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4024.835,
      "stop": 4022.621,
      "target": 4029.263,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.37,
        "bb_width_pct": 0.245
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T07-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T07:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4024.835,
      "stop": 4022.712,
      "target": 4029.081,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.37,
        "bb_width_pct": 0.245
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T07-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T07:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4025.45,
      "stop": 4022.861,
      "target": 4030.628,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 10.1,
        "bb_width_pct": 0.248
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T07-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T07:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4024.69,
      "stop": 4022.86,
      "target": 4028.35,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.11,
        "bb_width_pct": 0.263
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T07-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4024.12,
      "stop": 4022.207,
      "target": 4027.947,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.99,
        "bb_width_pct": 0.279
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T07-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T07:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4025.43,
      "stop": 4023.233,
      "target": 4029.825,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 3.95,
        "bb_width_pct": 0.287
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T07-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T07:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4025.43,
      "stop": 4024.291,
      "target": 4027.707,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.95,
        "bb_width_pct": 0.287
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T08-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4030.04,
      "stop": 4031.138,
      "target": 4027.844,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.49,
        "bb_width_pct": 0.223
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T08-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4030.04,
      "stop": 4030.872,
      "target": 4028.376,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.49,
        "bb_width_pct": 0.223
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T08-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T08:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4032.46,
      "stop": 4034.563,
      "target": 4028.254,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.79,
        "bb_width_pct": 0.255
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T08-30-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4032.385,
      "stop": 4034.399,
      "target": 4028.358,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.0,
        "bb_width_pct": 0.266
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T08-30-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4032.385,
      "stop": 4033.665,
      "target": 4029.825,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 16.0,
        "bb_width_pct": 0.266
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T08-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4032.385,
      "stop": 4033.926,
      "target": 4029.303,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.0,
        "bb_width_pct": 0.266
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T08-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4033.57,
      "stop": 4036.104,
      "target": 4028.501,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.44,
        "bb_width_pct": 0.285
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T08-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T08:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4033.57,
      "stop": 4035.5,
      "target": 4029.71,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 19.44,
        "bb_width_pct": 0.285
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T08-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T08:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4035.515,
      "stop": 4038.762,
      "target": 4029.022,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.97,
        "bb_width_pct": 0.34
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T08-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T08:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4035.515,
      "stop": 4037.968,
      "target": 4030.608,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 18.97,
        "bb_width_pct": 0.34
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T08-50-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T08:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4033.49,
      "stop": 4035.316,
      "target": 4029.838,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.59,
        "bb_width_pct": 0.347
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T09-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4035.515,
      "stop": 4037.421,
      "target": 4031.704,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 10.92,
        "bb_width_pct": 0.358
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T09-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T09:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4036.425,
      "stop": 4038.561,
      "target": 4032.153,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.46,
        "bb_width_pct": 0.355
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T09-15-00Z_short_rsi_range_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T09:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4036.07,
      "stop": 4038.021,
      "target": 4032.168,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 26.69,
        "bb_width_pct": 0.323
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T09-15-00Z_short_vwap_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T09:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4036.07,
      "stop": 4038.82,
      "target": 4030.57,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 26.69,
        "bb_width_pct": 0.323
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T09-15-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T09:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4036.07,
      "stop": 4038.976,
      "target": 4030.258,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 26.69,
        "bb_width_pct": 0.323
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T09-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T09:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4036.07,
      "stop": 4037.635,
      "target": 4032.94,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 26.69,
        "bb_width_pct": 0.323
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T09-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T09:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4032.79,
      "stop": 4033.932,
      "target": 4030.505,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 8.83,
        "bb_width_pct": 0.293
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T09-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T09:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "London",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4031.755,
      "stop": 4032.38,
      "target": 4030.505,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.3,
        "bb_width_pct": 0.163
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T10-00-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T10:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4031.09,
      "stop": 4029.685,
      "target": 4033.901,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 10.5,
        "bb_width_pct": 0.168
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T10-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T10:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4032.575,
      "stop": 4031.909,
      "target": 4033.906,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.38,
        "bb_width_pct": 0.168
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T10-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T10:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4031.925,
      "stop": 4030.946,
      "target": 4033.883,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.06,
        "bb_width_pct": 0.17
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T11-00-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4028.675,
      "stop": 4027.011,
      "target": 4032.004,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.02,
        "bb_width_pct": 0.162
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T11-05-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T11:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4029.53,
      "stop": 4028.182,
      "target": 4032.226,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.35,
        "bb_width_pct": 0.172
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T11-05-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T11:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4029.53,
      "stop": 4028.411,
      "target": 4031.768,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.35,
        "bb_width_pct": 0.172
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T11-10-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T11:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4028.195,
      "stop": 4026.27,
      "target": 4032.046,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.92,
        "bb_width_pct": 0.193
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T11-10-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T11:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4028.195,
      "stop": 4026.579,
      "target": 4031.428,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.92,
        "bb_width_pct": 0.193
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T11-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T11:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4029.935,
      "stop": 4029.621,
      "target": 4030.564,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.45,
        "bb_width_pct": 0.27
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T11-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T11:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4034.88,
      "stop": 4037.108,
      "target": 4030.424,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.23,
        "bb_width_pct": 0.285
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T11-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T11:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4032.24,
      "stop": 4033.015,
      "target": 4030.69,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.54,
        "bb_width_pct": 0.284
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T11-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T11:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4032.24,
      "stop": 4033.521,
      "target": 4029.677,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 1.54,
        "bb_width_pct": 0.284
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T11-45-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T11:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4032.24,
      "stop": 4033.062,
      "target": 4030.597,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 1.54,
        "bb_width_pct": 0.284
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T11-55-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T11:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4038.465,
      "stop": 4042.014,
      "target": 4031.367,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.88,
        "bb_width_pct": 0.377
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T11-55-00Z_short_vwap_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T11:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4038.465,
      "stop": 4042.048,
      "target": 4031.3,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 9.88,
        "bb_width_pct": 0.377
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T11-55-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T11:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4038.465,
      "stop": 4041.746,
      "target": 4031.903,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 9.88,
        "bb_width_pct": 0.377
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T11-55-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T11:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4038.465,
      "stop": 4041.638,
      "target": 4032.118,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.88,
        "bb_width_pct": 0.377
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T12-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T12:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4033.415,
      "stop": 4034.241,
      "target": 4031.762,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.65,
        "bb_width_pct": 0.442
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T12-05-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T12:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4033.415,
      "stop": 4033.939,
      "target": 4032.368,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 5.65,
        "bb_width_pct": 0.442
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T12-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T12:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4033.415,
      "stop": 4033.558,
      "target": 4033.128,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 5.65,
        "bb_width_pct": 0.442
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T12-15-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T12:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4028.82,
      "stop": 4027.473,
      "target": 4031.514,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.6,
        "bb_width_pct": 0.444
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T12-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T12:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4028.82,
      "stop": 4026.924,
      "target": 4032.611,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.6,
        "bb_width_pct": 0.444
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T12-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T12:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4021.07,
      "stop": 4016.151,
      "target": 4030.909,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.92,
        "bb_width_pct": 0.496
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T12-25-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T12:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4025.175,
      "stop": 4022.453,
      "target": 4030.619,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.01,
        "bb_width_pct": 0.511
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T12-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T12:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4025.175,
      "stop": 4023.694,
      "target": 4028.137,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.01,
        "bb_width_pct": 0.511
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T12-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T12:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4025.175,
      "stop": 4022.308,
      "target": 4030.908,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.01,
        "bb_width_pct": 0.511
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T12-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T12:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4022.79,
      "stop": 4019.092,
      "target": 4030.186,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.47,
        "bb_width_pct": 0.538
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T14-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T14:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3999.4,
      "stop": 4001.456,
      "target": 3995.289,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.35,
        "bb_width_pct": 0.568
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T15-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T15:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4007.875,
      "stop": 4012.631,
      "target": 3998.363,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.26,
        "bb_width_pct": 0.474
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T15-35-00Z_short_vwap_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T15:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4014.185,
      "stop": 4020.118,
      "target": 4002.318,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 11.9,
        "bb_width_pct": 0.72
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T15-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T15:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4010.43,
      "stop": 4014.115,
      "target": 4003.06,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.51,
        "bb_width_pct": 0.753
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T16-20-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T16:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3986.875,
      "stop": 3979.786,
      "target": 4001.054,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 13.13,
        "bb_width_pct": 0.875
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T16-25-00Z_long_vwap_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T16:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3987.635,
      "stop": 3980.554,
      "target": 4001.796,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 22.85,
        "bb_width_pct": 0.922
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T16-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T16:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3987.635,
      "stop": 3981.716,
      "target": 3999.472,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 22.85,
        "bb_width_pct": 0.922
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T16-30-00Z_long_rsi_range_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T16:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3989.31,
      "stop": 3983.886,
      "target": 4000.159,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 27.48,
        "bb_width_pct": 0.949
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T16-30-00Z_long_vwap_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T16:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3989.31,
      "stop": 3983.185,
      "target": 4001.56,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 27.48,
        "bb_width_pct": 0.949
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T16-30-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T16:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3989.31,
      "stop": 3984.229,
      "target": 3999.472,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 27.48,
        "bb_width_pct": 0.949
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T16-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T16:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3989.31,
      "stop": 3985.201,
      "target": 3997.528,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 27.48,
        "bb_width_pct": 0.949
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T16-45-00Z_long_rsi_range_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3992.2,
      "stop": 3988.49,
      "target": 3999.619,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.42,
        "bb_width_pct": 0.981
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T16-45-00Z_long_vwap_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T16:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3992.2,
      "stop": 3987.789,
      "target": 4001.022,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.42,
        "bb_width_pct": 0.981
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T16-50-00Z_long_rsi_range_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T16:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3994.69,
      "stop": 3992.182,
      "target": 3999.707,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.46,
        "bb_width_pct": 0.975
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T16-50-00Z_long_vwap_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T16:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY AM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3994.69,
      "stop": 3991.585,
      "target": 4000.901,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 23.46,
        "bb_width_pct": 0.975
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T17-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T17:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3987.955,
      "stop": 3982.061,
      "target": 3999.743,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 2.88,
        "bb_width_pct": 0.822
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T17-15-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T17:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3987.955,
      "stop": 3985.379,
      "target": 3993.108,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.88,
        "bb_width_pct": 0.822
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T17-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T17:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3986.555,
      "stop": 3983.591,
      "target": 3992.484,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.18,
        "bb_width_pct": 0.754
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T17-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T17:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3987.84,
      "stop": 3981.889,
      "target": 3999.743,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.68,
        "bb_width_pct": 0.647
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T17-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T17:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3987.84,
      "stop": 3985.739,
      "target": 3992.041,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.68,
        "bb_width_pct": 0.647
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T17-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T17:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3981.79,
      "stop": 3978.231,
      "target": 3988.908,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 16.67,
        "bb_width_pct": 0.393
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T17-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T17:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3985.005,
      "stop": 3983.395,
      "target": 3988.226,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.18,
        "bb_width_pct": 0.332
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T17-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T17:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3985.005,
      "stop": 3978.226,
      "target": 3998.562,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 12.18,
        "bb_width_pct": 0.332
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T17-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T17:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3985.005,
      "stop": 3982.898,
      "target": 3989.22,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.18,
        "bb_width_pct": 0.332
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T17-50-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T17:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3986.665,
      "stop": 3980.716,
      "target": 3998.562,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 9.6,
        "bb_width_pct": 0.332
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T18-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T18:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3985.66,
      "stop": 3979.209,
      "target": 3998.562,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 11.45,
        "bb_width_pct": 0.342
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T18-05-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T18:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3987.355,
      "stop": 3981.751,
      "target": 3998.562,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 7.0,
        "bb_width_pct": 0.342
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T18-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T18:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3988.275,
      "stop": 3983.131,
      "target": 3998.562,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.3,
        "bb_width_pct": 0.336
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T18-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T18:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3983.17,
      "stop": 3982.191,
      "target": 3985.128,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.14,
        "bb_width_pct": 0.272
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T18-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T18:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3983.17,
      "stop": 3976.325,
      "target": 3996.86,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 1.14,
        "bb_width_pct": 0.272
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T18-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T18:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3983.17,
      "stop": 3981.828,
      "target": 3985.854,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.14,
        "bb_width_pct": 0.272
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T19-00-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T19:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3985.1,
      "stop": 3980.166,
      "target": 3994.967,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 0.68,
        "bb_width_pct": 0.278
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T19-15-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T19:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3982.765,
      "stop": 3978.031,
      "target": 3992.233,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 4.47,
        "bb_width_pct": 0.275
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T19-35-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T19:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3975.36,
      "stop": 3971.849,
      "target": 3982.382,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.54,
        "bb_width_pct": 0.37
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T19-35-00Z_long_vwap_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T19:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3975.36,
      "stop": 3971.11,
      "target": 3983.86,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.54,
        "bb_width_pct": 0.37
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T19-35-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T19:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3975.36,
      "stop": 3970.073,
      "target": 3985.935,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 6.54,
        "bb_width_pct": 0.37
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T19-35-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T19:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3975.36,
      "stop": 3972.11,
      "target": 3981.861,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.54,
        "bb_width_pct": 0.37
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T19-40-00Z_long_vwap_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T19:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3975.92,
      "stop": 3972.066,
      "target": 3983.629,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.79,
        "bb_width_pct": 0.388
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T19-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T19:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3975.92,
      "stop": 3973.233,
      "target": 3981.295,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 4.79,
        "bb_width_pct": 0.388
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T19-45-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T19:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3975.085,
      "stop": 3971.986,
      "target": 3981.282,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.13,
        "bb_width_pct": 0.394
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T19-45-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T19:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3975.085,
      "stop": 3972.276,
      "target": 3980.703,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.13,
        "bb_width_pct": 0.394
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T20-20-00Z_long_vwap_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T20:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3972.655,
      "stop": 3967.879,
      "target": 3982.206,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.67,
        "bb_width_pct": 0.362
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T20-20-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T20:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3972.655,
      "stop": 3968.769,
      "target": 3980.427,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 18.67,
        "bb_width_pct": 0.362
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T20-20-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T20:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3972.655,
      "stop": 3969.806,
      "target": 3978.353,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.67,
        "bb_width_pct": 0.362
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T20-25-00Z_long_vwap_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T20:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3975.01,
      "stop": 3971.507,
      "target": 3982.015,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.54,
        "bb_width_pct": 0.356
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T20-25-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T20:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3975.01,
      "stop": 3972.551,
      "target": 3979.927,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 11.54,
        "bb_width_pct": 0.356
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T20-25-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T20:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3975.01,
      "stop": 3973.498,
      "target": 3978.035,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.54,
        "bb_width_pct": 0.356
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T20-35-00Z_long_vwap_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T20:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3975.24,
      "stop": 3972.009,
      "target": 3981.702,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.32,
        "bb_width_pct": 0.357
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T20-45-00Z_long_vwap_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T20:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3974.885,
      "stop": 3971.621,
      "target": 3981.414,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.39,
        "bb_width_pct": 0.298
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T20-50-00Z_long_vwap_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T20:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3975.835,
      "stop": 3973.11,
      "target": 3981.284,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.78,
        "bb_width_pct": 0.285
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T20-55-00Z_long_vwap_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T20:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "NY PM",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3976.58,
      "stop": 3974.282,
      "target": 3981.176,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 12.66,
        "bb_width_pct": 0.247
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T22-25-00Z_long_vwap_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T22:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3976.63,
      "stop": 3954.728,
      "target": 4020.434,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 15.94,
        "bb_width_pct": 0.22
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T22-45-00Z_long_vwap_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T22:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3973.725,
      "stop": 3953.033,
      "target": 4015.108,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 3.36,
        "bb_width_pct": 0.154
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T22-50-00Z_long_vwap_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T22:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3975.42,
      "stop": 3956.15,
      "target": 4013.959,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 2.09,
        "bb_width_pct": 0.154
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T22-55-00Z_long_vwap_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T22:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3978.445,
      "stop": 3961.194,
      "target": 4012.946,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 9.83,
        "bb_width_pct": 0.153
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T23-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3978.5,
      "stop": 3979.744,
      "target": 3976.013,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 6.67,
        "bb_width_pct": 0.148
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T23-00-00Z_long_vwap_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3978.5,
      "stop": 3961.755,
      "target": 4011.99,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 6.67,
        "bb_width_pct": 0.148
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T23-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3978.7,
      "stop": 3979.951,
      "target": 3976.197,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 0.79,
        "bb_width_pct": 0.157
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T23-05-00Z_long_vwap_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T23:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3978.7,
      "stop": 3962.493,
      "target": 4011.115,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 0.79,
        "bb_width_pct": 0.157
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T23-10-00Z_long_vwap_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3980.21,
      "stop": 3965.162,
      "target": 4010.306,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 7.03,
        "bb_width_pct": 0.177
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T23-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T23:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3980.21,
      "stop": 3981.795,
      "target": 3977.04,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 7.03,
        "bb_width_pct": 0.177
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T23-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3979.28,
      "stop": 3980.591,
      "target": 3976.659,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.71,
        "bb_width_pct": 0.185
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T23-15-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3979.28,
      "stop": 3980.293,
      "target": 3977.253,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.71,
        "bb_width_pct": 0.185
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T23-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T23:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3978.69,
      "stop": 3979.509,
      "target": 3977.052,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.78,
        "bb_width_pct": 0.181
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T23-25-00Z_long_vwap_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T23:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3978.69,
      "stop": 3963.993,
      "target": 4008.085,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.78,
        "bb_width_pct": 0.181
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T23-25-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T23:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3978.69,
      "stop": 3979.281,
      "target": 3977.507,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.78,
        "bb_width_pct": 0.181
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T23-35-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3979.825,
      "stop": 3981.09,
      "target": 3977.296,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 11.38,
        "bb_width_pct": 0.188
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T23-35-00Z_long_vwap_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T23:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3979.825,
      "stop": 3966.368,
      "target": 4006.738,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 11.38,
        "bb_width_pct": 0.188
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T23-40-00Z_long_vwap_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3981.565,
      "stop": 3969.262,
      "target": 4006.17,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 17.0,
        "bb_width_pct": 0.208
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T23-40-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T23:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3981.565,
      "stop": 3983.302,
      "target": 3978.091,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.0,
        "bb_width_pct": 0.208
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T23-45-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3978.66,
      "stop": 3979.262,
      "target": 3977.457,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 13.68,
        "bb_width_pct": 0.209
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T23-45-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3978.66,
      "stop": 3979.977,
      "target": 3976.025,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 13.68,
        "bb_width_pct": 0.209
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T23-50-00Z_long_vwap_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T23:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3980.45,
      "stop": 3968.156,
      "target": 4005.037,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 18.85,
        "bb_width_pct": 0.217
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-16T23-55-00Z_long_vwap_mean_reversion",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T23:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Other",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3986.105,
      "stop": 3976.854,
      "target": 4004.606,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 26.27,
        "bb_width_pct": 0.281
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-17T00-00-00Z_short_rsi_range_reversion",
      "date": "2026-07-17",
      "timestamp": "2026-07-17T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3985.08,
      "stop": 3988.291,
      "target": 3978.658,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 15.64,
        "bb_width_pct": 0.311
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-17T00-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-17",
      "timestamp": "2026-07-17T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3985.08,
      "stop": 3987.997,
      "target": 3979.245,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.64,
        "bb_width_pct": 0.311
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-17T00-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-17",
      "timestamp": "2026-07-17T00:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3983.98,
      "stop": 3986.203,
      "target": 3979.534,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.17,
        "bb_width_pct": 0.356
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-17T00-10-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-17",
      "timestamp": "2026-07-17T00:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3983.98,
      "stop": 3986.116,
      "target": 3979.708,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 12.17,
        "bb_width_pct": 0.356
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-17T00-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-17",
      "timestamp": "2026-07-17T00:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3983.98,
      "stop": 3985.646,
      "target": 3980.647,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.17,
        "bb_width_pct": 0.356
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-17T00-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-17",
      "timestamp": "2026-07-17T00:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3986.71,
      "stop": 3989.668,
      "target": 3980.794,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.71,
        "bb_width_pct": 0.389
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-17T00-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-17",
      "timestamp": "2026-07-17T00:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3986.71,
      "stop": 3989.344,
      "target": 3981.443,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 14.71,
        "bb_width_pct": 0.389
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-17T00-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-17",
      "timestamp": "2026-07-17T00:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3986.71,
      "stop": 3989.127,
      "target": 3981.876,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 14.71,
        "bb_width_pct": 0.389
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-17T01-00-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-17",
      "timestamp": "2026-07-17T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3988.6,
      "stop": 3990.963,
      "target": 3983.874,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.07,
        "bb_width_pct": 0.382
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-17T01-00-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-17",
      "timestamp": "2026-07-17T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3988.6,
      "stop": 3991.544,
      "target": 3982.712,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 4.07,
        "bb_width_pct": 0.382
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-17T01-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-17",
      "timestamp": "2026-07-17T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3988.6,
      "stop": 3990.771,
      "target": 3984.257,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 4.07,
        "bb_width_pct": 0.382
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-17T01-05-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-17",
      "timestamp": "2026-07-17T01:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3990.93,
      "stop": 3994.152,
      "target": 3984.486,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.45,
        "bb_width_pct": 0.392
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-17T01-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-17",
      "timestamp": "2026-07-17T01:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3990.93,
      "stop": 3993.949,
      "target": 3984.893,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.45,
        "bb_width_pct": 0.392
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-17T01-10-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-17",
      "timestamp": "2026-07-17T01:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3992.245,
      "stop": 3995.755,
      "target": 3985.225,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.51,
        "bb_width_pct": 0.392
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-17T01-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-17",
      "timestamp": "2026-07-17T01:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3992.245,
      "stop": 3995.571,
      "target": 3985.593,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.51,
        "bb_width_pct": 0.392
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-17T01-15-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-17",
      "timestamp": "2026-07-17T01:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3993.75,
      "stop": 3997.664,
      "target": 3985.921,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 15.11,
        "bb_width_pct": 0.413
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-17T01-20-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-17",
      "timestamp": "2026-07-17T01:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3990.745,
      "stop": 3992.928,
      "target": 3986.38,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.78,
        "bb_width_pct": 0.413
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-17T01-20-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-17",
      "timestamp": "2026-07-17T01:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3990.745,
      "stop": 3993.701,
      "target": 3984.832,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 3.78,
        "bb_width_pct": 0.413
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-17T01-20-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-17",
      "timestamp": "2026-07-17T01:20:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3990.745,
      "stop": 3992.724,
      "target": 3986.787,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 3.78,
        "bb_width_pct": 0.413
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-17T01-35-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-17",
      "timestamp": "2026-07-17T01:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3992.445,
      "stop": 3996.251,
      "target": 3984.832,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 16.45,
        "bb_width_pct": 0.385
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-17T01-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-17",
      "timestamp": "2026-07-17T01:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3992.445,
      "stop": 3994.581,
      "target": 3988.173,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 16.45,
        "bb_width_pct": 0.385
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-17T01-40-00Z_short_rsi_range_reversion",
      "date": "2026-07-17",
      "timestamp": "2026-07-17T01:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3991.325,
      "stop": 3992.865,
      "target": 3988.246,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 15.13,
        "bb_width_pct": 0.386
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-17T01-40-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-17",
      "timestamp": "2026-07-17T01:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3991.325,
      "stop": 3994.571,
      "target": 3984.832,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 15.13,
        "bb_width_pct": 0.386
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-17T02-10-00Z_long_vwap_mean_reversion",
      "date": "2026-07-17",
      "timestamp": "2026-07-17T02:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3980.945,
      "stop": 3977.921,
      "target": 3986.992,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 14.16,
        "bb_width_pct": 0.472
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-17T02-30-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-17",
      "timestamp": "2026-07-17T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3977.67,
      "stop": 3973.092,
      "target": 3986.826,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.67,
        "bb_width_pct": 0.508
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-17T02-30-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-17",
      "timestamp": "2026-07-17T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3977.67,
      "stop": 3974.353,
      "target": 3984.304,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 20.67,
        "bb_width_pct": 0.508
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-17T02-40-00Z_long_bollinger_band_mean_reversion",
      "date": "2026-07-17",
      "timestamp": "2026-07-17T02:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3975.08,
      "stop": 3970.008,
      "target": 3985.225,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.7,
        "bb_width_pct": 0.613
      },
      "notes": "Lower band reclaim to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-17T02-40-00Z_long_rsi_range_reversion",
      "date": "2026-07-17",
      "timestamp": "2026-07-17T02:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3975.08,
      "stop": 3970.008,
      "target": 3985.225,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.7,
        "bb_width_pct": 0.613
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-17T02-40-00Z_long_vwap_mean_reversion",
      "date": "2026-07-17",
      "timestamp": "2026-07-17T02:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3975.08,
      "stop": 3969.8,
      "target": 3985.641,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.7,
        "bb_width_pct": 0.613
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-17T02-40-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-17",
      "timestamp": "2026-07-17T02:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3975.08,
      "stop": 3970.86,
      "target": 3983.52,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 24.7,
        "bb_width_pct": 0.613
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-17T02-40-00Z_long_keltner_channel_mean_reversion",
      "date": "2026-07-17",
      "timestamp": "2026-07-17T02:40:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3975.08,
      "stop": 3971.372,
      "target": 3982.496,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_lower_reclaim"
      ],
      "regime": {
        "adx_proxy": 24.7,
        "bb_width_pct": 0.613
      },
      "notes": "Keltner lower reclaim to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-17T02-45-00Z_long_rsi_range_reversion",
      "date": "2026-07-17",
      "timestamp": "2026-07-17T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3977.695,
      "stop": 3974.261,
      "target": 3984.563,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.18,
        "bb_width_pct": 0.619
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-17T02-45-00Z_long_vwap_mean_reversion",
      "date": "2026-07-17",
      "timestamp": "2026-07-17T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3977.695,
      "stop": 3973.845,
      "target": 3985.395,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 19.18,
        "bb_width_pct": 0.619
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-17T02-45-00Z_long_donchian_range_boundary_fade",
      "date": "2026-07-17",
      "timestamp": "2026-07-17T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3977.695,
      "stop": 3974.783,
      "target": 3983.52,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_low_reject"
      ],
      "regime": {
        "adx_proxy": 19.18,
        "bb_width_pct": 0.619
      },
      "notes": "Donchian range low rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-17T02-50-00Z_long_rsi_range_reversion",
      "date": "2026-07-17",
      "timestamp": "2026-07-17T02:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3978.305,
      "stop": 3975.524,
      "target": 3983.866,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_oversold_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.22,
        "bb_width_pct": 0.607
      },
      "notes": "RSI oversold reclaim toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-17T02-50-00Z_long_vwap_mean_reversion",
      "date": "2026-07-17",
      "timestamp": "2026-07-17T02:50:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3978.305,
      "stop": 3974.873,
      "target": 3985.169,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 8.22,
        "bb_width_pct": 0.607
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-17T02-55-00Z_long_vwap_mean_reversion",
      "date": "2026-07-17",
      "timestamp": "2026-07-17T02:55:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Long",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3979.19,
      "stop": 3976.288,
      "target": 3984.993,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_lower_deviation_reclaim"
      ],
      "regime": {
        "adx_proxy": 1.61,
        "bb_width_pct": 0.571
      },
      "notes": "VWAP lower deviation reclaim.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-17T03-00-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-17",
      "timestamp": "2026-07-17T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3989.095,
      "stop": 3992.556,
      "target": 3982.174,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 8.1,
        "bb_width_pct": 0.561
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-17T03-05-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-17",
      "timestamp": "2026-07-17T03:05:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3990.28,
      "stop": 3993.947,
      "target": 3982.946,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 9.89,
        "bb_width_pct": 0.554
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-17T03-10-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-17",
      "timestamp": "2026-07-17T03:10:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3988.915,
      "stop": 3991.615,
      "target": 3983.514,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 12.65,
        "bb_width_pct": 0.527
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-17T03-25-00Z_short_bollinger_band_mean_reversion",
      "date": "2026-07-17",
      "timestamp": "2026-07-17T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Bollinger Band Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4001.18,
      "stop": 4009.379,
      "target": 3984.781,
      "planned_rr": 2.0,
      "scanner_flags": [
        "bb_upper_reject"
      ],
      "regime": {
        "adx_proxy": 20.61,
        "bb_width_pct": 0.856
      },
      "notes": "Upper band rejection to mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-17T03-25-00Z_short_rsi_range_reversion",
      "date": "2026-07-17",
      "timestamp": "2026-07-17T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "RSI Range Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4001.18,
      "stop": 4009.379,
      "target": 3984.781,
      "planned_rr": 2.0,
      "scanner_flags": [
        "rsi_overbought_reject"
      ],
      "regime": {
        "adx_proxy": 20.61,
        "bb_width_pct": 0.856
      },
      "notes": "RSI overbought rejection toward mean.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-17T03-25-00Z_short_vwap_mean_reversion",
      "date": "2026-07-17",
      "timestamp": "2026-07-17T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4001.18,
      "stop": 4008.562,
      "target": 3986.416,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 20.61,
        "bb_width_pct": 0.856
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-17T03-25-00Z_short_donchian_range_boundary_fade",
      "date": "2026-07-17",
      "timestamp": "2026-07-17T03:25:00Z",
      "symbol": "XAUUSD",
      "strategy": "Donchian Range Boundary Fade",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 4001.18,
      "stop": 4006.886,
      "target": 3989.767,
      "planned_rr": 2.0,
      "scanner_flags": [
        "range_high_reject"
      ],
      "regime": {
        "adx_proxy": 20.61,
        "bb_width_pct": 0.856
      },
      "notes": "Donchian range high rejection to mid.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-17T03-30-00Z_short_vwap_mean_reversion",
      "date": "2026-07-17",
      "timestamp": "2026-07-17T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "VWAP Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3998.32,
      "stop": 4004.13,
      "target": 3986.701,
      "planned_rr": 2.0,
      "scanner_flags": [
        "vwap_upper_deviation_reject"
      ],
      "regime": {
        "adx_proxy": 17.22,
        "bb_width_pct": 0.897
      },
      "notes": "VWAP upper deviation reject.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-17T03-30-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-17",
      "timestamp": "2026-07-17T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3998.32,
      "stop": 4002.814,
      "target": 3989.332,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 17.22,
        "bb_width_pct": 0.897
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    },
    {
      "id": "candidate_v5_2026-07-17T03-35-00Z_short_keltner_channel_mean_reversion",
      "date": "2026-07-17",
      "timestamp": "2026-07-17T03:35:00Z",
      "symbol": "XAUUSD",
      "strategy": "Keltner Channel Mean Reversion",
      "direction": "Short",
      "session": "Asia",
      "market_regime": "range",
      "entry_timeframe": "M5",
      "entry": 3999.215,
      "stop": 4003.686,
      "target": 3990.273,
      "planned_rr": 2.0,
      "scanner_flags": [
        "keltner_upper_reject"
      ],
      "regime": {
        "adx_proxy": 24.81,
        "bb_width_pct": 0.943
      },
      "notes": "Keltner upper reject to EMA.",
      "isFinalBacktest": false
    }
  ]
}
